import cn.com.taiji.common.manager.ManagerException; | import cn.com.taiji.common.manager.ManagerException; | ||||
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.common.web.ApiResponse; | import cn.com.taiji.common.web.ApiResponse; | ||||
import cn.com.taiji.core.entity.dict.user.SystemType; | |||||
import cn.com.taiji.core.entity.user.UserMenu; | import cn.com.taiji.core.entity.user.UserMenu; | ||||
import cn.com.taiji.core.repo.jpa.user.UserMenuRepo; | import cn.com.taiji.core.repo.jpa.user.UserMenuRepo; | ||||
import cn.com.taiji.userw.api.MyValidController; | import cn.com.taiji.userw.api.MyValidController; | ||||
import cn.com.taiji.userw.dto.menu.*; | import cn.com.taiji.userw.dto.menu.*; | ||||
import cn.com.taiji.userw.manager.rbac.RbacMenuManger; | import cn.com.taiji.userw.manager.rbac.RbacMenuManger; | ||||
import cn.com.taiji.userw.model.rbac.SystemTypeMode; | |||||
import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import javax.annotation.Resource; | import javax.annotation.Resource; | ||||
import javax.validation.Valid; | import javax.validation.Valid; | ||||
import java.util.ArrayList; | |||||
import java.util.List; | import java.util.List; | ||||
/** | /** | ||||
@ApiOperation(value = "web端菜单搜索") | @ApiOperation(value = "web端菜单搜索") | ||||
@PostMapping(value = "/menusearch") | @PostMapping(value = "/menusearch") | ||||
public ApiResponse<RbacMenuSearchResponseDTO> menusearch() throws ManagerException { | |||||
public ApiResponse<RbacMenuSearchResponseDTO> menusearch(@RequestBody @Valid RbacMenuCommRequestDTO request) throws ManagerException { | |||||
RbacMenuSearchResponseDTO response = new RbacMenuSearchResponseDTO(); | RbacMenuSearchResponseDTO response = new RbacMenuSearchResponseDTO(); | ||||
List<UserMenu> menu = userMenuRepo.searchByName(); | List<UserMenu> menu = userMenuRepo.searchByName(); | ||||
response.setMenu(menu); | response.setMenu(menu); | ||||
menupage(@RequestBody @Valid RbacMenuPageRequestDTO request) throws ManagerException { | menupage(@RequestBody @Valid RbacMenuPageRequestDTO request) throws ManagerException { | ||||
return ApiResponse.of(rbacMenuManger.page(request)); | return ApiResponse.of(rbacMenuManger.page(request)); | ||||
} | } | ||||
@ApiOperation(value = "获取所有的系统类型") | |||||
@PostMapping(value = "/systemtypelist") | |||||
public ApiResponse<RbacSystemTypeResponseDTO> systemTypeListByRbacSource(@RequestBody @Valid RbacMenuCommRequestDTO request) throws ManagerException { | |||||
//返回所有系统类型 | |||||
List<SystemTypeMode> systemTypeList = new ArrayList<>(); | |||||
for (SystemType value : SystemType.values()) { | |||||
systemTypeList.add(new SystemTypeMode(value.getName(),value.getCode()+"")); | |||||
} | |||||
RbacSystemTypeResponseDTO response = new RbacSystemTypeResponseDTO(); | |||||
response.setSystemTypeList(systemTypeList); | |||||
return ApiResponse.of(response); | |||||
} | |||||
} | } |
package cn.com.taiji.userw.api.rbac; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.web.ApiResponse; | |||||
import cn.com.taiji.common.web.ApiValidController; | |||||
import cn.com.taiji.userw.dto.staff.GetStaffInfoByOpenIdRequest; | |||||
import cn.com.taiji.userw.dto.staff.GetStaffInfoByOpenIdResponse; | |||||
import cn.com.taiji.userw.manager.StaffManagement.StaffManagementManager; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.PostMapping; | |||||
import org.springframework.web.bind.annotation.RequestBody; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
import javax.validation.Valid; | |||||
/** | |||||
* @Author ChenChao | |||||
* @Date 2024/9/27 17:29 | |||||
* @Description | |||||
*/ | |||||
@Api(tags = {"员工管理"}) | |||||
@RestController | |||||
@RequestMapping("/staff") | |||||
public class StaffManagementController extends ApiValidController { | |||||
@Autowired | |||||
private StaffManagementManager manager; | |||||
@ApiOperation(value = "通过openId获取员工信息") | |||||
@PostMapping(value = "/getinfobyopenid")//e91aba6d319944fd84cacd27afe1b4a7 | |||||
public ApiResponse<GetStaffInfoByOpenIdResponse> getinfobyopenid(@Valid @RequestBody GetStaffInfoByOpenIdRequest reqDto) throws ManagerException { | |||||
GetStaffInfoByOpenIdResponse path = manager.getinfobyopenid(reqDto); | |||||
return ApiResponse.of(path); | |||||
} | |||||
} |
package cn.com.taiji.userw.dto.menu; | |||||
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
@Data | |||||
@ApiModel(description = "菜单无参请求") | |||||
public class RbacMenuCommRequestDTO extends AbstractStaffBizRequestDTO { | |||||
} |
package cn.com.taiji.userw.dto.menu; | |||||
import cn.com.taiji.userw.model.rbac.SystemTypeMode; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import java.util.List; | |||||
@Data | |||||
@ApiModel(value = "系统类型返回") | |||||
public class RbacSystemTypeResponseDTO { | |||||
@ApiModelProperty(value = "系统类型列表") | |||||
private List<SystemTypeMode> systemTypeList; | |||||
} |
package cn.com.taiji.userw.dto.staff; | |||||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
@Data | |||||
@ApiModel(value = "通过openId获取员工信息请求") | |||||
public class GetStaffInfoByOpenIdRequest extends AbstractStaffBizPageRequestDTO { | |||||
} |
package cn.com.taiji.userw.dto.staff; | |||||
import cn.com.taiji.common.model.BaseModel; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
@Data | |||||
@ApiModel(value = "通过openId获取员工信息返回") | |||||
public class GetStaffInfoByOpenIdResponse extends BaseModel { | |||||
//用户真实姓名 | |||||
@ApiModelProperty(value = "用户真实姓名") | |||||
private String staffName; | |||||
//用户手机号码 | |||||
@ApiModelProperty(value = "用户手机号码") | |||||
private String mobile; | |||||
} |
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.concurrent.Callable; | import java.util.concurrent.Callable; | ||||
import cn.com.taiji.core.manager.cache.RedisCacheManager; | |||||
import cn.com.taiji.userw.manager.FieldMsgConvertor; | import cn.com.taiji.userw.manager.FieldMsgConvertor; | ||||
import feign.RetryableException; | import feign.RetryableException; | ||||
import org.apache.http.NoHttpResponseException; | import org.apache.http.NoHttpResponseException; | ||||
import cn.com.taiji.core.model.comm.protocol.valid.FieldMsgBuilder; | import cn.com.taiji.core.model.comm.protocol.valid.FieldMsgBuilder; | ||||
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | ||||
public abstract class AbstractCommManager extends AbstractManager { | |||||
public abstract class AbstractCommManager extends RedisCacheManager { | |||||
@Autowired | @Autowired | ||||
protected FeignClientManager feignClientManager; | protected FeignClientManager feignClientManager; |
package cn.com.taiji.userw.manager.StaffManagement; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.userw.dto.staff.GetStaffInfoByOpenIdRequest; | |||||
import cn.com.taiji.userw.dto.staff.GetStaffInfoByOpenIdResponse; | |||||
public interface StaffManagementManager { | |||||
GetStaffInfoByOpenIdResponse getinfobyopenid(GetStaffInfoByOpenIdRequest reqDto) throws ManagerException; | |||||
} |
package cn.com.taiji.userw.manager.StaffManagement; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||||
import cn.com.taiji.core.entity.user.Staff; | |||||
import cn.com.taiji.core.repo.jpa.user.StaffRepo; | |||||
import cn.com.taiji.userw.dto.staff.GetStaffInfoByOpenIdRequest; | |||||
import cn.com.taiji.userw.dto.staff.GetStaffInfoByOpenIdResponse; | |||||
import cn.com.taiji.userw.manager.AbstractCommManager; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
import static cn.com.taiji.userw.api.TokenHelper.logger; | |||||
/** | |||||
* @Author ChenChao | |||||
* @Date 2024/9/27 17:41 | |||||
* @Description | |||||
*/ | |||||
@Service | |||||
public class StaffManagementManagerImpl extends AbstractCommManager implements StaffManagementManager { | |||||
@Autowired | |||||
private StaffRepo staffRepo; | |||||
@Override | |||||
public GetStaffInfoByOpenIdResponse getinfobyopenid(GetStaffInfoByOpenIdRequest reqDto) throws ManagerException { | |||||
String openId = findOpenIdByToken(reqDto.getAccessToken()); | |||||
Staff staff = staffRepo.findByOpenId(openId); | |||||
GetStaffInfoByOpenIdResponse response = new GetStaffInfoByOpenIdResponse(); | |||||
response.setStaffName(staff.getStaffName()); | |||||
response.setMobile(staff.getMobile()); | |||||
return response; | |||||
} | |||||
} |