@@ -3,11 +3,13 @@ package cn.com.taiji.userw.api.rbac; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
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.repo.jpa.user.UserMenuRepo; | |||
import cn.com.taiji.userw.api.MyValidController; | |||
import cn.com.taiji.userw.dto.menu.*; | |||
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.ApiOperation; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
@@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController; | |||
import javax.annotation.Resource; | |||
import javax.validation.Valid; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
/** | |||
@@ -78,7 +81,7 @@ public class MenuController extends MyValidController { | |||
@ApiOperation(value = "web端菜单搜索") | |||
@PostMapping(value = "/menusearch") | |||
public ApiResponse<RbacMenuSearchResponseDTO> menusearch() throws ManagerException { | |||
public ApiResponse<RbacMenuSearchResponseDTO> menusearch(@RequestBody @Valid RbacMenuCommRequestDTO request) throws ManagerException { | |||
RbacMenuSearchResponseDTO response = new RbacMenuSearchResponseDTO(); | |||
List<UserMenu> menu = userMenuRepo.searchByName(); | |||
response.setMenu(menu); | |||
@@ -91,4 +94,17 @@ public class MenuController extends MyValidController { | |||
menupage(@RequestBody @Valid RbacMenuPageRequestDTO request) throws ManagerException { | |||
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); | |||
} | |||
} |
@@ -0,0 +1,39 @@ | |||
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); | |||
} | |||
} |
@@ -0,0 +1,10 @@ | |||
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 { | |||
} |
@@ -0,0 +1,16 @@ | |||
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; | |||
} |
@@ -0,0 +1,12 @@ | |||
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 { | |||
} |
@@ -0,0 +1,20 @@ | |||
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; | |||
} |
@@ -3,6 +3,7 @@ package cn.com.taiji.userw.manager; | |||
import java.io.IOException; | |||
import java.util.concurrent.Callable; | |||
import cn.com.taiji.core.manager.cache.RedisCacheManager; | |||
import cn.com.taiji.userw.manager.FieldMsgConvertor; | |||
import feign.RetryableException; | |||
import org.apache.http.NoHttpResponseException; | |||
@@ -23,7 +24,7 @@ import cn.com.taiji.core.model.comm.protocol.SignJsonResponse; | |||
import cn.com.taiji.core.model.comm.protocol.valid.FieldMsgBuilder; | |||
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | |||
public abstract class AbstractCommManager extends AbstractManager { | |||
public abstract class AbstractCommManager extends RedisCacheManager { | |||
@Autowired | |||
protected FeignClientManager feignClientManager; |
@@ -0,0 +1,10 @@ | |||
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; | |||
} |
@@ -0,0 +1,35 @@ | |||
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; | |||
} | |||
} |