增加用户体系

20240109-yw
yuanwei 1 year ago
parent 68a4d9fb6a
commit fdb8b7ee9d

@ -68,6 +68,30 @@ public class AuthorizeAspect {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
// 验证 token
Claims claims = JwtUtils.parse(token);
if (claims == null) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
Long jwtAdminId = Long.valueOf(claims.get("admin_id").toString());
if (adminId.compareTo(jwtAdminId) != 0) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
}else if(clientType == null || clientType.equals("client")) {
//系统用户登录权限验证
String id = request.getHeader("ADMIN_ID");
String query = request.getQueryString();
Long adminId = null;
try {
adminId = Long.valueOf(id);
} catch (Exception e) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
String token = request.getHeader("ADMIN_TOKEN");
if (token == null) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
// 验证 token
Claims claims = JwtUtils.parse(token);
if (claims == null) {

@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.constant.Constant;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.sup.UserPersonEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.exception.ServiceException;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.sup.UserPersonService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@ -23,9 +26,9 @@ import javax.servlet.http.HttpServletRequest;
@ApiIgnore
public class BaseController {
@Value("${COMPANY_ID}")
@Value("${COMPANY_ID:}")
private String companyIdSet;
@Value("${ADMIN_ID}")
@Value("${ADMIN_ID:}")
private String ADMIN_ID;
@Resource
@ -34,13 +37,9 @@ public class BaseController {
@Resource
AuthAdminService authAdminService;
@Resource
UserPersonService userPersonService;
/**
*
*/
public String redirect(String url) {
return StrUtil.format("redirect:{}", url);
}
public boolean isAdmin(Long userId) {
@ -52,21 +51,32 @@ public class BaseController {
return customerService.getUserBean();
}
public Long getUserId() {
return customerService.getUserId();
}
public String getCustomerId() {
AuthAdmin authAdmin = getUser();
return authAdmin.getCustomerId() + "";
public UserPersonEntity getClientUser() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
throw new JsonException(ResultEnum.NOT_NETWORK);
}
HttpServletRequest request = attributes.getRequest();
String userId = request.getHeader("ADMIN_ID");
String clientType = request.getHeader("CLIENT_TYPE");
return userPersonService.getById(userId);
}
public boolean isHosUser() {
String customerId = getCustomerId();
if (customerId.equals("110")) {
return true;
public Long getUserId() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
throw new JsonException(ResultEnum.NOT_NETWORK);
}
HttpServletRequest request = attributes.getRequest();
String clientType = request.getHeader("CLIENT_TYPE");
if ("locWeb".equals(clientType)) {
return customerService.getUserId();
}
String userId = request.getHeader("ADMIN_ID");
if (StringUtils.isNotBlank(userId)){
throw new ServiceException("没有权限访问!");
}
return false;
return Long.parseLong(userId);
}
public String getCompanyId() {
@ -83,15 +93,20 @@ public class BaseController {
}
public String getClientCustomerId() {
// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// if (attributes == null) {
// throw new JsonException(ResultEnum.NOT_NETWORK);
// }
// HttpServletRequest request = attributes.getRequest();
// String userId = request.getHeader("ADMIN_ID");
// AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId));
// return authAdmin.getCustomerId() + "";
return ADMIN_ID;
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
throw new JsonException(ResultEnum.NOT_NETWORK);
}
HttpServletRequest request = attributes.getRequest();
String userId = request.getHeader("ADMIN_ID");
String clientType = request.getHeader("CLIENT_TYPE");
if ("locWeb".equals(clientType)) {
AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId));
return authAdmin.getCustomerId() + "";
}else{
UserPersonEntity userPerson = userPersonService.getById(userId);
return userPerson.getCompanyId() + "";
}
}
}

@ -80,10 +80,12 @@ public class SysMenuController extends BaseController {
* @param roleId ID
*/
@ApiOperation(value = "加载对应角色菜单列表树",response = BaseResponse.class)
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public BaseResponse roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
@GetMapping(value = "/roleMenuTreeselect/{roleId}/{businessType}")
public BaseResponse roleMenuTreeselect(@PathVariable("roleId") Long roleId,@PathVariable("businessType") String businessType) {
AuthAdmin authAdmin = customerService.getUserBean();
List<SysMenu> menus = menuService.selectMenuList(authAdmin.getId());
SysMenu sysMenu = new SysMenu();
sysMenu.setBusinessType(businessType);
List<SysMenu> menus = menuService.selectMenuList(sysMenu,authAdmin.getId());
Map<String, Object> ajax = new HashMap<>();
ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
ajax.put("menus", menuService.buildMenuTreeSelect(menus));

@ -136,7 +136,7 @@ public class UdiRelController extends BaseController {
BasicUdiRelEntity basicUdiRelEntity = new BasicUdiRelEntity();
BeanUtils.copyProperties(basicUdiBatchRelRequest, basicUdiRelEntity);
basicUdiRelEntity.setUpdateTime(new Date());
basicUdiRelEntity.setUpdateUser(customerService.getUserId() + "");
basicUdiRelEntity.setUpdateUser(getCompanyId());
basicUdiRelEntity.setId(IdUtil.getSnowflakeNextId());
basicUdiRelService.save(basicUdiRelEntity);
return ResultVOUtils.success("添加成功!");
@ -148,7 +148,8 @@ public class UdiRelController extends BaseController {
@ApiOperation(value = "注册企业批量新增医疗器械信息", response = BaseResponse.class)
@PostMapping("udi/basic/rel/batch/save")
public BaseResponse batchSaveRel(@RequestBody UdiSelectRequest udiSelectRequest) {
String userId = customerService.getUserId() + "";
String userId = getCompanyId() ;
udiSelectRequest.setCompanyId(Long.parseLong(userId));
if (CollUtil.isNotEmpty(udiSelectRequest.getProducts())) {
for (BasicUdiRelRequest basicUdiRelRequest : udiSelectRequest.getProducts()) {
if (!basicUdiRelService.isExit(basicUdiRelRequest.getUuid(), udiSelectRequest.getCompanyId())) {
@ -203,7 +204,7 @@ public class UdiRelController extends BaseController {
BasicUdiRelEntity basicUdiRelEntity = new BasicUdiRelEntity();
BeanUtils.copyProperties(basicUdiRelRequest, basicUdiRelEntity);
basicUdiRelEntity.setUpdateTime(new Date());
basicUdiRelEntity.setUpdateUser(customerService.getUserId() + "");
basicUdiRelEntity.setUpdateUser(getCompanyId());
basicUdiRelService.updateById(basicUdiRelEntity);

@ -45,7 +45,7 @@ public class UdiRlSupController {
private CompanyProductsRelService companyProductsRelService;
@AuthRuleAnnotation("")
@PostMapping("/directToCpt/sale/info/insertFilter")
@PostMapping("/sale/info/insertFilter")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse insertFilter(@RequestBody UdiInfoExportRequest udiInfoExportRequest) {
CompanyEntity companyEntity = companyService.findCompany(udiInfoExportRequest.getCustomerId() + "");

@ -112,7 +112,7 @@ public class SupCertController extends BaseController {
@Resource
UserCompanyService userCompanyService;
@GetMapping("/directToCpt/sup/cert/list")
@GetMapping("/sup/cert/list")
public BaseResponse list(SupCertEntityRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
@ -141,7 +141,7 @@ public class SupCertController extends BaseController {
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/cert/save")
@PostMapping("/sup/cert/save")
public BaseResponse save(@RequestBody SupCertEntity entityRequest) {
SupCertEntity supCertEntity = new SupCertEntity();
@ -159,7 +159,7 @@ public class SupCertController extends BaseController {
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/cert/delete")
@PostMapping("/sup/cert/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
supCertService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
@ -169,7 +169,7 @@ public class SupCertController extends BaseController {
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/cert/edit")
@PostMapping("/sup/cert/edit")
public BaseResponse update(@RequestBody SupCertEntity entityRequest) {
@ -182,7 +182,7 @@ public class SupCertController extends BaseController {
}
@AuthRuleAnnotation("获取被授权的产品资质")
@GetMapping("/directToCpt/sup/cert/filterMyAuth")
@GetMapping("/sup/cert/filterMyAuth")
public BaseResponse filterMyAuth(SupCertEntityRequest request) {
PageSimpleResponse<SupCertEntity> basicUdiRelResponsePageSimpleResponse = new PageSimpleResponse<>();
@ -242,19 +242,20 @@ public class SupCertController extends BaseController {
basicUdiRelResponsePageSimpleResponse.setTotal(pages.getTotal());
basicUdiRelResponsePageSimpleResponse.setList(list);
for (SupCertEntity supCertEntity : list) {
Boolean isExit = supCertService.isExit(Long.parseLong(getCompanyId()),supCertEntity.getId());
if (isExit) {
supCertEntity.setCheck(true);
} else
supCertEntity.setCheck(false);
if(StringUtils.isNotEmpty(getCompanyId())){
for (SupCertEntity supCertEntity : list) {
Boolean isExit = supCertService.isExit(Long.parseLong(getCompanyId()),supCertEntity.getId());
if (isExit) {
supCertEntity.setCheck(true);
} else
supCertEntity.setCheck(false);
}
}
return ResultVOUtils.success(basicUdiRelResponsePageSimpleResponse);
}
@ApiOperation(value = "批量授权", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/cert/batchAddAuth")
@PostMapping("/sup/cert/batchAddAuth")
public BaseResponse batchAddAuth(@RequestBody SupProductAuthSelectRequest request) {
//判断是否有资质授权
QueryWrapper authWrapper = new QueryWrapper();

@ -71,8 +71,8 @@ public class SupCompanyController {
//资质审核查询数据
@AuthRuleAnnotation("")
@GetMapping("/api/pur/getSupComapnys")
public BaseResponse getComapnys(FilterUserCompanyRequest userCompanyRequest) {
@GetMapping("/api/pur/getUserSupComapnys")
public BaseResponse getUserComapnys(FilterUserCompanyRequest userCompanyRequest) {
List<UserCompanyEntity> userCompanyEntities = companyService.filterUserCompany(userCompanyRequest);
PageInfo<UserCompanyEntity> pageInfo = new PageInfo<>(userCompanyEntities);
@ -83,7 +83,7 @@ public class SupCompanyController {
}
@AuthRuleAnnotation("")
@GetMapping("/directToCpt/api/pur/getSupComapnys")
@GetMapping("/api/pur/getSupComapnys")
public BaseResponse getSupComapnys(FilterSupCompanyRequest companyRequest) {
List<SupCompanyEntity> companyEntities = companyService.filterCompany(companyRequest);
PageInfo<SupCompanyEntity> pageInfo = new PageInfo<>(companyEntities);

@ -79,7 +79,7 @@ public class SupProductController extends BaseController {
@Resource
SyncUdiService syncUdiService;
@GetMapping("/directToCpt/sup/product/list")
@GetMapping("/sup/product/list")
public BaseResponse list(SupProductEntityRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
@ -98,7 +98,7 @@ public class SupProductController extends BaseController {
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/product/add")
@PostMapping("/sup/product/add")
public BaseResponse batchAdd(@RequestBody List<SupProductSelectRequest> requests) {
String userId = getCompanyId();
@ -123,7 +123,7 @@ public class SupProductController extends BaseController {
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/product/delete")
@PostMapping("/sup/product/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
supProductService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
@ -133,7 +133,7 @@ public class SupProductController extends BaseController {
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/directToCpt/sup/product/update")
@PostMapping("/sup/product/update")
public BaseResponse update(@RequestBody BasicUdiRelRequest basicUdiRelRequest) {
if (basicUdiRelRequest.getAgengtStartDate() != null && basicUdiRelRequest.getAgengtEndDate() != null) {
@ -165,7 +165,7 @@ public class SupProductController extends BaseController {
@ApiIgnore
@AuthRuleAnnotation("获取同步库UDI关联信息")
@ApiOperation(value = "",response = ProductInfoEntity.class)
@GetMapping("/directToCpt/sup/product/filterGroupRel")
@GetMapping("/sup/product/filterGroupRel")
public BaseResponse filterGroupRel(FilterUdiRelRequest filterUdiRelRequest) {
String nameCode;
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
@ -222,7 +222,6 @@ public class SupProductController extends BaseController {
@AuthRuleAnnotation("")
@GetMapping("/sup/product/getRegistrationList")
public BaseResponse getRegistraList(FilterPoductRequest filterPoductRequest) {
System.out.println(filterPoductRequest.toString());
List<SupProductResponse> companyEntities = supProductService.getRegistration(filterPoductRequest);
PageInfo<SupProductResponse> pageInfo = new PageInfo<>(companyEntities);
PageSimpleResponse<SupProductResponse> pageSimpleResponse = new PageSimpleResponse<>();
@ -232,17 +231,6 @@ public class SupProductController extends BaseController {
}
@AuthRuleAnnotation("")
@GetMapping("/directToCpt/sup/product/getRegistrationList")
public BaseResponse getRegistrationList(FilterPoductRequest filterPoductRequest) {
List<SupProductResponse> companyEntities = supProductService.getRegistration(filterPoductRequest);
PageInfo<SupProductResponse> pageInfo = new PageInfo<>(companyEntities);
PageSimpleResponse<SupProductResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(companyEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/sup/product/addRegistration")
@Log(title = "资质证书", businessType = BusinessType.INSERT)
@ -307,69 +295,6 @@ public class SupProductController extends BaseController {
}
}
@AuthRuleAnnotation("")
@PostMapping("/directToCpt/sup/product/addRegistration")
@Log(title = "资质证书", businessType = BusinessType.INSERT)
public BaseResponse directToCptAddRegistration(@RequestBody SupProductEntity supProductEntity) {
//提交审核
if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) {
//判断是否上级供应商是否审核通过
SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supProductEntity.getManufacturerIdFk());
if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_UN
|| supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_DRAFT) {
return ResultVOUtils.error(500, "所属生产企业资质未通过审核,暂时无法提交!");
}
//验证证书是否齐全
FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest();
filterCertSetsRequest.setType(ConstantStatus.CERT_PRODUCT);
filterCertSetsRequest.setNeed(0);
List<SupCertSetEntity> supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest);
List<SupCertEntity> supCertEntityList = supCertService.findAll(supProductEntity.getCustomerId(), supProductEntity.getManufacturerIdFk(), supProductEntity.getProductId());
ListIterator<SupCertSetEntity> iterable = supCertSetEntities.listIterator();
while (iterable.hasNext()) {
SupCertSetEntity supCertSetEntity = iterable.next();
if (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部")
|| StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部")
|| (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2
&& StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进"))
|| (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进"))
|| (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx()))
|| (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb()))
|| StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) && (supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode())))
) {
for (SupCertEntity supCertEntity : supCertEntityList) {
if (supCertEntity.getName().equals(supCertSetEntity.getName())) {
if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) {
iterable.remove();
break;
}
}
}
} else {
iterable.remove();
}
}
String errMsg = "";
if (supCertSetEntities.size() > 0) {
for (SupCertSetEntity supCertSetEntity : supCertSetEntities) {
errMsg = errMsg + "," + supCertSetEntity.getName();
}
return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!");
}
}
supProductEntity.setCreateTime(new Date());
supProductEntity.setUpdateTime(new Date());
supProductEntity.setId(IdUtil.getSnowflakeNextId());
boolean b = supProductService.insertRegistration(supProductEntity);
if (b) {
return ResultVOUtils.success("添加成功");
} else {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
}
@Resource
BasicUdiProductService basicUdiProductService;
@ -411,44 +336,6 @@ public class SupProductController extends BaseController {
// }
}
@AuthRuleAnnotation("")
@PostMapping("/directToCpt/sup/product/selectBind")
public BaseResponse directToCptSelectBind(@RequestBody SelectProductBindRequest selectProductBindRequest) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectUdiId(Long.valueOf(selectProductBindRequest.getRelIdFk()));
SupProductEntity supProductEntity = supProductService.findByManufactury(udiRelevanceResponse.getCpmctymc(), udiRelevanceResponse.getManufactory(),selectProductBindRequest.getManufacturerId());
if (supProductEntity != null) {
return ResultVOUtils.error(500, "该产品资质已存在,请勿重复添加!");
}else{
supProductEntity = new SupProductEntity();
BeanUtils.copyProperties(udiRelevanceResponse, supProductEntity);
supProductEntity.setProductId(selectProductBindRequest.getProductId());
supProductEntity.setRecordCode(udiRelevanceResponse.getZczbhhzbapzbh());
supProductEntity.setRelIdFk(udiRelevanceResponse.getId() + "");
supProductEntity.setRecordProductName(udiRelevanceResponse.getCpmctymc());
supProductEntity.setProductType(udiRelevanceResponse.getQxlb());
supProductEntity.setProductDirectoryCode(udiRelevanceResponse.getFlbm());
supProductEntity.setRecordPeopleName(udiRelevanceResponse.getYlqxzcrbarmc());
supProductEntity.setSpecification(udiRelevanceResponse.getGgxh());
supProductEntity.setCreateTime(new Date());
supProductEntity.setUpdateTime(new Date());
supProductEntity.setManufacturerIdFk(selectProductBindRequest.getManufacturerId());
supProductEntity.setCustomerId(selectProductBindRequest.getCustomerId());
supProductEntity.setHchzsb(udiRelevanceResponse.getCplb());
supProductEntity.setCompanyName(selectProductBindRequest.getCompanyName());
supProductEntity.setAuditStatus(selectProductBindRequest.getAuditStatus());
}
return ResultVOUtils.success(supProductEntity);
// boolean b = supProductService.insertRegistration(supProductEntity);
// if (b) {
// return ResultVOUtils.success(supProductEntity);
// } else {
// return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
// }
}
@AuthRuleAnnotation("")
@PostMapping("/sup/product/modifyRegistration")
@ -694,7 +581,7 @@ public class SupProductController extends BaseController {
@AuthRuleAnnotation("")
@GetMapping("/directToCpt/sup/product/delete")
@GetMapping("/sup/product/delete")
@Log(title = "资质证书", businessType = BusinessType.DELETE)
public BaseResponse delete(DeleteCompanyFileRequest deleteCompanyFileRequest) {
boolean b = supProductService.deleteById(deleteCompanyFileRequest.getId());

@ -1,5 +1,6 @@
package com.glxp.api.controller.purchase;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
@ -11,6 +12,8 @@ import com.glxp.api.entity.sup.UserPersonEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.auth.UserPersonFilterRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.auth.ISysRoleService;
import com.glxp.api.service.sup.UserPersonService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -38,6 +41,8 @@ import java.util.List;
public class userPersonController extends BaseController {
@Resource
private UserPersonService userPersonService;
@Resource
private AuthAdminService userService;
@ApiOperation(value = "获取用户个人信息", response = UserPersonEntity.class)
@GetMapping("/sup/company/person/filterList")
@ -57,6 +62,10 @@ public class userPersonController extends BaseController {
and = new QueryWrapper<UserPersonEntity>().eq("companyId", userPersonFilterRequest.getCompanyId());
}
List<UserPersonEntity> list = userPersonService.list(and);
list.forEach(userPersonEntity -> {
List<Long> roles = userPersonService.selectRoleListByUserId(userPersonEntity.getId());
userPersonEntity.setRoles(roles);
});
PageInfo<UserPersonEntity> pageInfo;
pageInfo = new PageInfo<>(list);
PageSimpleResponse<UserPersonEntity> pageSimpleResponse = new PageSimpleResponse<>();
@ -77,6 +86,10 @@ public class userPersonController extends BaseController {
userPerson.setPassword(userPersonFilterRequest.getCheckPassword());
userPersonService.update(userPerson);
//修改角色
userService.insertUserAuth(userPerson.getId(), userPersonFilterRequest.getRoles());
return ResultVOUtils.success();
}

@ -78,7 +78,7 @@ public class UserCertController extends BaseController {
@Resource
UserCompanyService userCompanyService;
@GetMapping("/directToCpt/user/cert/list")
@GetMapping("/user/cert/list")
public BaseResponse list(UserCertEntityRequest request, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
@ -107,7 +107,7 @@ public class UserCertController extends BaseController {
//医疗器械信息字典编辑保存
@AuthRuleAnnotation("")
@ApiOperation(value = "添加", response = BaseResponse.class)
@PostMapping("/directToCpt/user/cert/save")
@PostMapping("/user/cert/save")
public BaseResponse save(@RequestBody UserCertEntity entityRequest) {
UserCertEntity userCertEntity = new UserCertEntity();
@ -125,7 +125,7 @@ public class UserCertController extends BaseController {
@AuthRuleAnnotation("")
@ApiOperation(value = "删除", response = BaseResponse.class)
@PostMapping("/directToCpt/user/cert/delete")
@PostMapping("/user/cert/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
userCertService.removeById(deleteRequest.getId());
return ResultVOUtils.success("删除成功!");
@ -135,7 +135,7 @@ public class UserCertController extends BaseController {
//产品信息关联修改
@AuthRuleAnnotation("")
@ApiOperation(value = "更新", response = BaseResponse.class)
@PostMapping("/directToCpt/user/cert/edit")
@PostMapping("/user/cert/edit")
public BaseResponse update(@RequestBody UserCertEntity entityRequest) {
@ -149,7 +149,7 @@ public class UserCertController extends BaseController {
@AuthRuleAnnotation("获取被授权的产品资质")
@GetMapping("/directToCpt/user/cert/filterMyAuth")
@GetMapping("/user/cert/filterMyAuth")
public BaseResponse filterMyAuth(UserCertEntityRequest request) {
PageSimpleResponse<UserCertEntity> basicUdiRelResponsePageSimpleResponse = new PageSimpleResponse<>();
@ -186,19 +186,20 @@ public class UserCertController extends BaseController {
basicUdiRelResponsePageSimpleResponse.setTotal(pages.getTotal());
basicUdiRelResponsePageSimpleResponse.setList(list);
for (UserCertEntity userCertEntity : list) {
Boolean isExit = userCertService.isExit(Long.parseLong(getCompanyId()),userCertEntity.getId());
if (isExit) {
userCertEntity.setCheck(true);
} else
userCertEntity.setCheck(false);
if(StringUtils.isNotEmpty(getCompanyId())){
for (UserCertEntity userCertEntity : list) {
Boolean isExit = userCertService.isExit(Long.parseLong(getCompanyId()),userCertEntity.getId());
if (isExit) {
userCertEntity.setCheck(true);
} else
userCertEntity.setCheck(false);
}
}
return ResultVOUtils.success(basicUdiRelResponsePageSimpleResponse);
}
@ApiOperation(value = "批量授权", response = BaseResponse.class)
@PostMapping("/directToCpt/user/cert/batchAddAuth")
@PostMapping("/user/cert/batchAddAuth")
public BaseResponse batchAddAuth(@RequestBody UserCertAuthSelectRequest request) {
//判断是否有资质授权
QueryWrapper authWrapper = new QueryWrapper();

@ -147,6 +147,8 @@ public class UserComanyController extends BaseController {
@GetMapping("udi/auth/user/comapny/filterRegCompany")
public BaseResponse filterRegCompanyInfo(FilterUserComapanyRequest filterUserComapanyRequest) {
if(filterUserComapanyRequest.getPage() == null) filterUserComapanyRequest.setPage(1);
if(filterUserComapanyRequest.getLimit() == null) filterUserComapanyRequest.setLimit(10);
filterUserComapanyRequest.setId(getCompanyId());
UserCompanyResponse userCompanyResponse = userCompanyService.filterCompanyInfo(filterUserComapanyRequest);
// PageInfo<UserCompanyResponse> pageInfo = new PageInfo<>(userCompanyEntities);

@ -0,0 +1,183 @@
package com.glxp.api.controller.sup;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.auth.AuthLicenseDao;
import com.glxp.api.entity.auth.*;
import com.glxp.api.entity.sup.UserCompanyEntity;
import com.glxp.api.entity.sup.UserPersonEntity;
import com.glxp.api.entity.system.CompanyEntity;
import com.glxp.api.entity.system.SysPdaKeyEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.auth.LoginRequest;
import com.glxp.api.req.auth.PCLoginRequest;
import com.glxp.api.req.auth.UpdatePasswordRequest;
import com.glxp.api.req.auth.UpdateUserRequset;
import com.glxp.api.res.auth.LoginResponse;
import com.glxp.api.res.auth.LoginUserInfoResponse;
import com.glxp.api.service.auth.*;
import com.glxp.api.service.monitor.LogininforService;
import com.glxp.api.service.sup.UserCompanyService;
import com.glxp.api.service.sup.UserPersonService;
import com.glxp.api.service.system.CompanyService;
import com.glxp.api.util.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.*;
/**
*
*/
@Api(tags = "客户端用户登录接口")
@RestController
@Slf4j
@RequestMapping("/user/person")
public class UserPersonLoginController extends BaseController {
@Resource
private UserPersonService userPersonService;
@Resource
private LogininforService logininforService;
@Resource
ISysMenuService menuService;
@Resource
ISysRoleService sysRoleService;
@Resource
UserCompanyService userCompanyService;
@Resource
SysPermissionService sysPermissionService;
/**
*
*
* @return
*/
@ApiOperation(value = "系统用户登录",response = LoginResponse.class)
@PostMapping(value = "/login")
public BaseResponse index(@RequestBody @Valid LoginRequest loginRequest,
BindingResult bindingResult,
HttpServletRequest request) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
UserPersonEntity userPerson = userPersonService.findByUserName(loginRequest.getUsername());
if (userPerson == null) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
if (!PasswordUtils.authAdminPwd(loginRequest.getPassword()).equals(PasswordUtils.authAdminPwd(userPerson.getPassword()))) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
// 更新登录状态
userPerson.setLastLoginTime(new Date());
userPerson.setLastLoginIp(IpUtils.getIpAddr(request));
userPersonService.update(userPerson);
Map<String, Object> claims = new HashMap<>();
claims.put("admin_id", userPerson.getId());
String token = JwtUtils.createToken(claims, 86400L); // 一天后过期
Map<String, Object> map = new HashMap<>();
map.put("id", userPerson.getId());
map.put("token", token);
map.put("time", DateUtil.getDateTime());
LoginResponse loginResponse = new LoginResponse();
loginResponse.setId(userPerson.getId() + "");
loginResponse.setToken(token);
loginResponse.setCompanyId(userPerson.getCompanyId());
logininforService.recordLogininfor(userPerson.getName(), Constant.LOGIN_SUCCESS, "登录成功!", request);
return ResultVOUtils.success(loginResponse);
}
@ApiIgnore
@AuthRuleAnnotation("")
@ApiOperation(value = "获取登入用户信息",response = LoginUserInfoResponse.class)
@GetMapping("/getInfo")
public BaseResponse getUserInfo(HttpServletRequest request) {
String adminId = request.getHeader("ADMIN_ID");
Long id = Long.valueOf(adminId);
UserPersonEntity userPerson = userPersonService.getById(id);
LoginUserInfoResponse loginUserInfoResponse = new LoginUserInfoResponse();
loginUserInfoResponse.setId(id);
loginUserInfoResponse.setUserName(userPerson.getUserName());
loginUserInfoResponse.setEmployeeName(userPerson.getName());
loginUserInfoResponse.setCustomerId(userPerson.getCompanyId()+"");
UserCompanyEntity companyEntity = userCompanyService.getById(userPerson.getCompanyId());
loginUserInfoResponse.setCompanyName(companyEntity.getCompanyName());
// 角色集合
AuthAdmin authAdmin = new AuthAdmin();
authAdmin.setId(userPerson.getId());
Set<String> roles = sysPermissionService.getRolePermission(authAdmin);
List<SysRole> sysRoles = sysRoleService.selectRolesByUserId(id);
authAdmin.setRoles(sysRoles);
// 权限集合
Set<String> permissions = sysPermissionService.getMenuPermission(authAdmin);
loginUserInfoResponse.setRoles(roles);
loginUserInfoResponse.setPermissions(permissions);
return ResultVOUtils.success(loginUserInfoResponse);
}
@ApiIgnore
@ApiOperation(value = "获取路由信息",response = RouterEntity.class)
@GetMapping("/getRouters")
public BaseResponse getRouters() {
UserPersonEntity userPerson = getClientUser();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userPerson.getId());
return ResultVOUtils.success(menuService.buildMenus(menus));
}
//修改用户信息
@AuthRuleAnnotation("")
@PostMapping("/updateUser")
public BaseResponse updateUser(@RequestBody UpdateUserRequset updateUserRequset) {
UserPersonEntity userPerson = getClientUser();
System.out.println(updateUserRequset.toString());
if (StringUtils.isBlank(updateUserRequset.getNewPassword())) {
return ResultVOUtils.error(500, "请输入新密码!");
}
if (StringUtils.isBlank(updateUserRequset.getConfirmPassword())) {
return ResultVOUtils.error(500, "请输入确认密码!");
}
if (!updateUserRequset.getPassWord().equals(userPerson.getPassword())) {
return ResultVOUtils.error(500, "当前密码输入错误!请重新输入!");
}
if (updateUserRequset.getNewPassword().equals(userPerson.getPassword())) {
return ResultVOUtils.error(500, "新密码与旧密码重复!请重新修改!");
}
if (updateUserRequset.getNewPassword().equals(updateUserRequset.getConfirmPassword()) && updateUserRequset.getPassWord().equals(userPerson.getPassword())) {
userPerson.setPassword(updateUserRequset.getNewPassword());
userPersonService.updateById(userPerson);
return ResultVOUtils.success("修改成功");
} else {
return ResultVOUtils.error(500, "新密码与确认密码不相同!请重新修改!");
}
}
}

@ -4,6 +4,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.sup.UserPersonEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserPersonMapper extends BaseMapper<UserPersonEntity> {
/**
* ID
*
* @param userId ID
* @return ID
*/
List<Long> selectRoleListByUserId(Long userId);
}

@ -51,6 +51,10 @@ public class SysMenu extends TreeEntity<SysMenu> {
*/
@ApiModelProperty(value = "是否为外链0是 1否")
private String isFrame;
/**
* 0 1
*/
private String businessType;
/**
* 0 1

@ -61,6 +61,10 @@ public class SysRole extends BaseEntity {
* 0 1
*/
private String status;
/**
* 0 1
*/
private String businessType;
/**
* 0 2

@ -13,5 +13,4 @@ public class SysUserRole {
private Long userId;
private Long roleId;
}

@ -1,5 +1,6 @@
package com.glxp.api.entity.monitor;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -116,6 +117,9 @@ public class SysOperLog {
*
*/
@ApiModelProperty(value = "操作时间")
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss"
)
private Date operTime;
/**

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -106,5 +107,9 @@ public class UserPersonEntity implements Serializable {
@TableField("lastLoginTime")
private Date lastLoginTime;
// 角色ids
@TableField(exist = false)
private List<Long> roles;
private static final long serialVersionUID = 1L;
}

@ -59,6 +59,10 @@ public class FilterMenuRequest extends ListPageRequest {
*/
@ApiModelProperty(value = "是否为外链0是 1否")
private String isFrame;
/**
* 0 1
*/
private String businessType;
/**
* 0 1

@ -21,5 +21,9 @@ public class FilterRoleRequest extends ListPageRequest {
private String neRoleKey;
@ApiModelProperty(value = "不等于角色ID")
private Long neRoleId;
/**
* 0 1
*/
private String businessType;
}

@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel("企业负责人请求类")
@Data
public class UserPersonFilterRequest extends ListPageRequest {
@ -46,6 +48,8 @@ public class UserPersonFilterRequest extends ListPageRequest {
@ApiModelProperty(value = "校验密码")
private String checkPassword;
// 角色ids
@ApiModelProperty(value = "角色ids")
private List<Long> roles;
}

@ -20,4 +20,6 @@ public class LoginResponse {
@ApiModelProperty(value = "部门名称")
private String deptName;
@ApiModelProperty(value = "公司ID")
private Long companyId;
}

@ -3,6 +3,7 @@ package com.glxp.api.service.auth;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.exception.JsonException;
import com.glxp.api.exception.ServiceException;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@ -30,22 +31,15 @@ public class CustomerService {
}
HttpServletRequest request = attributes.getRequest();
String userId = request.getHeader("ADMIN_ID");
String clientType = request.getHeader("CLIENT_TYPE");
if (!"locWeb".equals(clientType)) {
throw new ServiceException("没有权限访问!");
}
if (userId == null)
return 1l;
return Long.parseLong(userId);
}
public String getUserIdStr() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
throw new JsonException(ResultEnum.NOT_NETWORK);
}
HttpServletRequest request = attributes.getRequest();
String userId = request.getHeader("ADMIN_ID");
return userId;
}
public String getUserName() {
Long userId = getUserId();
AuthAdmin authAdmin = authAdminService.findById(userId.longValue());

@ -40,4 +40,21 @@ public class UserPersonService extends ServiceImpl<UserPersonMapper, UserPersonE
return null;
}
public UserPersonEntity findByUserName(String userName) {
List<UserPersonEntity> userPersonEntities = userPersonMapper.selectList(new QueryWrapper<UserPersonEntity>().eq("userName", userName));
if (CollUtil.isNotEmpty(userPersonEntities))
return userPersonEntities.get(0);
return null;
}
/**
* ID
*
* @param userId ID
* @return ID
*/
public List<Long> selectRoleListByUserId(Long userId) {
return this.baseMapper.selectRoleListByUserId(userId);
}
}

@ -15,6 +15,7 @@
<result property="queryParam" column="query_param"/>
<result property="isFrame" column="is_frame"/>
<result property="isCache" column="is_cache"/>
<result property="businessType" column="business_type"/>
<result property="menuType" column="menu_type"/>
<result property="visible" column="visible"/>
<result property="status" column="status"/>
@ -38,12 +39,12 @@
<insert id="insert" keyProperty="menuId" useGeneratedKeys="true" parameterType="com.glxp.api.entity.auth.SysMenu">
INSERT INTO auth_menu(`menu_id`, `menu_name`, parent_id, `order_num`, `path`, component
, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon,
, query_param, is_frame, is_cache, menu_type,business_type, visible, status, perms, icon,
remark, create_by, create_time, update_time, update_by)
values (#{menuId},
#{menuName}, #{parentId},
#{orderNum}, #{path}, #{component}, #{queryParam}, #{isFrame}, #{isCache}
, #{menuType}, #{visible}, #{status}, #{perms}, #{icon}, #{remark}
, #{menuType}, #{businessType}, #{visible}, #{status}, #{perms}, #{icon}, #{remark}
, #{createBy}, #{createTime}, #{updateTime}, #{updateBy})
</insert>
@ -60,6 +61,7 @@
<if test="isCache != null">is_cache=#{isCache},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if>
<if test="menuType != null">`menu_type`=#{menuType},</if>
<if test="businessType != null">`business_type`=#{businessType},</if>
<if test="visible != null">`visible`=#{visible},</if>
<if test="status != null">status=#{status},</if>
<if test="perms != null">perms=#{perms},</if>
@ -83,7 +85,7 @@
resultMap="SysMenuResult">
select *
FROM auth_menu
FROM auth_menu where business_type = '0'
order by order_num
</select>
@ -114,6 +116,9 @@
<if test="parentId != null ">
AND `parent_id` = #{parentId}
</if>
<if test="businessType != null and businessType != '' ">
AND `business_type` = #{businessType}
</if>
<if test="orderNum != null ">
AND `order_num` = #{orderNum}
</if>
@ -136,6 +141,7 @@
m.visible,
m.status,
m.perms,
m.business_type,
m.is_frame,
m.is_cache,
m.menu_type,
@ -158,6 +164,7 @@
m.visible,
m.status,
m.perms,
m.business_type,
m.is_frame,
m.is_cache,
m.menu_type,
@ -168,8 +175,7 @@
left join auth_role_menu rm on m.menu_id = rm.menu_id
left join auth_user_role sur on rm.role_id = sur.role_id
left join auth_role ro on sur.role_id = ro.role_id
left join auth_user u on sur.user_id = u.id
where u.id = #{userId}
where sur.user_id = #{userId}
and m.menu_type in ('M', 'C')
and m.status = '0'
and ro.status = '0'

@ -12,6 +12,7 @@
<result property="dataScope" column="data_scope"/>
<result property="menuCheckStrictly" column="menu_check_strictly"/>
<result property="deptCheckStrictly" column="dept_check_strictly"/>
<result property="businessType" column="business_type"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
@ -24,10 +25,10 @@
<insert id="insert" keyProperty="roleId" useGeneratedKeys="true"
parameterType="com.glxp.api.entity.auth.SysRole">
INSERT INTO auth_role(`role_name`, `role_key`, role_sort, data_scope
, menu_check_strictly, dept_check_strictly, status, del_flag, remark,
, menu_check_strictly, dept_check_strictly,business_type, status, del_flag, remark,
create_by, create_time, update_by)
values (#{roleName},
#{roleKey}, #{roleSort}, #{dataScope}, #{menuCheckStrictly}, #{deptCheckStrictly}, #{status}
#{roleKey}, #{roleSort}, #{dataScope}, #{menuCheckStrictly}, #{deptCheckStrictly}, #{businessType}, #{status}
, #{delFlag}, #{remark}, #{createBy}, #{createTime}, #{updateBy})
</insert>
@ -42,6 +43,7 @@
<if test="menuCheckStrictly != null">menu_check_strictly=#{menuCheckStrictly},</if>
<if test="deptCheckStrictly != null">`dept_check_strictly`=#{deptCheckStrictly},</if>
<if test="status != null">`status`=#{status},</if>
<if test="businessType != null">`business_type`=#{businessType},</if>
<if test="delFlag != null">del_flag=#{delFlag},</if>
<if test="remark != null">remark=#{remark},</if>
<if test="createBy != null">create_by=#{createBy},</if>
@ -86,6 +88,7 @@
r.data_scope,
r.menu_check_strictly,
r.dept_check_strictly,
r.business_type,
r.status,
r.del_flag,
r.create_time,
@ -113,6 +116,9 @@
<if test="status != null and status != ''">
AND `status` = #{status}
</if>
<if test="businessType != null and businessType != ''">
AND `business_type` = #{businessType}
</if>
<if test="neRoleName != null and neRoleName != ''">
AND `role_name` <![CDATA[ <> ]]> #{neRoleName}
</if>
@ -135,6 +141,7 @@
r.data_scope,
r.menu_check_strictly,
r.dept_check_strictly,
r.business_type,
r.status,
r.del_flag,
r.create_time,
@ -162,6 +169,7 @@
r.data_scope,
r.menu_check_strictly,
r.dept_check_strictly,
r.business_type,
r.status,
r.del_flag,
r.create_time,

@ -22,4 +22,12 @@
id, registerId, companyId, userName, `password`, `name`, tel, mobile, qq, weChat,
email, createTime
</sql>
<select id="selectRoleListByUserId" parameterType="Long" resultType="Long">
select r.role_id
from auth_role r
left join auth_user_role sur on sur.role_id = r.role_id
left join user_person u on u.id = sur.user_id
where u.id = #{userId}
</select>
</mapper>

Loading…
Cancel
Save