server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java
@@ -66,7 +66,7 @@ @GetMapping("/delete/{id}") @RequiresPermissions("business:company:delete") public ApiResponse deleteById(@PathVariable Integer id) { companyService.deleteById(id); companyService.deleteById(id,this.getLoginUser()); return ApiResponse.success(null); } @@ -79,7 +79,7 @@ for (String id : idArray) { idList.add(Integer.valueOf(id)); } companyService.deleteByIdInBatch(idList); companyService.deleteByIdInBatch(idList,this.getLoginUser()); return ApiResponse.success(null); } server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
@@ -71,7 +71,7 @@ @PostMapping("/batchLoss") @RequiresPermissions("business:membercard:update") public ApiResponse batchLoss(@RequestBody List<MemberCard> memberCards) { memberCardService.updateByIdInBatch(memberCards,0); memberCardService.updateByIdInBatch(memberCards,0,this.getLoginUser()); return ApiResponse.success(null); } @@ -79,7 +79,7 @@ @PostMapping("/batchUnLoss") @RequiresPermissions("business:membercard:update") public ApiResponse batchUnLoss(@RequestBody List<MemberCard> memberCards) { memberCardService.updateByIdInBatch(memberCards,1); memberCardService.updateByIdInBatch(memberCards,1,this.getLoginUser()); return ApiResponse.success(null); } server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CategoryCloudController.java
@@ -35,6 +35,7 @@ @PostMapping("/create") @CloudRequiredPermission("business:category:create") public ApiResponse create(@RequestBody Category category,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ category.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(categoryService.create(category)); } server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CompanyCloudController.java
@@ -58,7 +58,8 @@ @ApiOperation("创建劳务公司") @PostMapping("/createLaborServices") @CloudRequiredPermission("business:company:create") public ApiResponse<Integer> createLaborServices(@RequestBody Company company){ public ApiResponse<Integer> createLaborServices(@RequestBody Company company,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ company.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(companyService.createLaborServices(company)); } @@ -66,7 +67,7 @@ @GetMapping("/delete/{id}") @CloudRequiredPermission("business:company:delete") public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ companyService.deleteById(id); companyService.deleteById(id,this.getLoginUser(token)); return ApiResponse.success(null); } @@ -79,7 +80,7 @@ for (String id : idArray) { idList.add(Integer.valueOf(id)); } companyService.deleteByIdInBatch(idList); companyService.deleteByIdInBatch(idList,this.getLoginUser(token)); return ApiResponse.success(null); } @@ -87,6 +88,7 @@ @PostMapping("/updateById") @CloudRequiredPermission("business:company:update") public ApiResponse updateById(@RequestBody Company company,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ company.setLoginUserInfo(this.getLoginUser(token)); companyService.updateById(company); return ApiResponse.success(null); } server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceRoleCloudController.java
@@ -34,7 +34,8 @@ @ApiOperation("新建") @PostMapping("/create") @CloudRequiredPermission("business:devicerole:create") public ApiResponse create(@RequestBody DeviceRole deviceRole) { public ApiResponse create(@RequestBody DeviceRole deviceRole,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { deviceRole.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(deviceRoleService.create(deviceRole)); } @@ -63,6 +64,8 @@ @PostMapping("/updateById") @CloudRequiredPermission("business:devicerole:update") public ApiResponse updateById(@RequestBody DeviceRole deviceRole,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ deviceRole.setLoginUserInfo(this.getLoginUser(token)); deviceRoleService.updateById(deviceRole); return ApiResponse.success(null); } @@ -71,12 +74,15 @@ @PostMapping("/updateStatusById") @CloudRequiredPermission("business:devicerole:update") public ApiResponse updateStatusById(@RequestBody DeviceRole deviceRole,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ deviceRole.setLoginUserInfo(this.getLoginUser(token)); deviceRoleService.updateStatusById(deviceRole); return ApiResponse.success(null); } @ApiOperation("默认下发门禁组角色") @PostMapping("/updateMemberRole") public ApiResponse updateMemberRole(@RequestBody DeviceRole deviceRole,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ deviceRole.setLoginUserInfo(this.getLoginUser(token)); deviceRoleService.updateMemberRole(deviceRole); return ApiResponse.success(null); } server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberCardCloudController.java
@@ -34,7 +34,8 @@ @ApiOperation("新建") @PostMapping("/create") @CloudRequiredPermission("business:membercard:create") public ApiResponse create(@RequestBody MemberCard memberCard) { public ApiResponse create(@RequestBody MemberCard memberCard,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { memberCard.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(memberCardService.create(memberCard)); } @@ -71,7 +72,7 @@ @PostMapping("/batchLoss") @CloudRequiredPermission("business:membercard:update") public ApiResponse batchLoss(@RequestBody List<MemberCard> memberCards,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ memberCardService.updateByIdInBatch(memberCards,0); memberCardService.updateByIdInBatch(memberCards,0,this.getLoginUser(token)); return ApiResponse.success(null); } @@ -79,7 +80,7 @@ @PostMapping("/batchUnLoss") @CloudRequiredPermission("business:membercard:update") public ApiResponse batchUnLoss(@RequestBody List<MemberCard> memberCards,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ memberCardService.updateByIdInBatch(memberCards,1); memberCardService.updateByIdInBatch(memberCards,1,this.getLoginUser(token)); return ApiResponse.success(null); } @@ -87,6 +88,7 @@ @PostMapping("/refundCard") @CloudRequiredPermission("business:membercard:update") public ApiResponse refundCard(@RequestBody MemberCard memberCard,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ memberCard.setLoginUserInfo(this.getLoginUser(token)); memberCardService.updateRefundCard(memberCard); return ApiResponse.success(null); } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -1,6 +1,7 @@ package com.doumee.dao.business.model; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; @@ -18,7 +19,7 @@ @Data @ApiModel("分类信息表") @TableName("`category`") public class Category { public class Category extends LoginUserModel { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -177,11 +177,11 @@ @ApiModelProperty(value = "海康部门级别路径", example = "1") @ExcelColumn(name="海康部门级别路径") private String hk_company_path; private String hkCompanyPath; @ApiModelProperty(value = "自建部门级别路径", example = "1") @ExcelColumn(name="自建部门级别路径") private String company_path; private String companyPath; @ApiModelProperty(value = "erp部门级别路径", example = "1") @ExcelColumn(name="erp部门级别路径") private String erp_company_path; private String erpCompanyPath; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceRole.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; @@ -19,7 +21,7 @@ @Data @ApiModel("门禁角色信息表") @TableName("`device_role`") public class DeviceRole { public class DeviceRole extends LoginUserModel { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键", example = "1") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; @@ -19,7 +20,7 @@ @Data @ApiModel("用户卡片绑定信息表") @TableName("`member_card`") public class MemberCard { public class MemberCard extends LoginUserModel { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
@@ -1,5 +1,6 @@ package com.doumee.service.business; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.MemberCard; @@ -54,7 +55,7 @@ * * @param memberCards 实体集 */ void updateByIdInBatch(List<MemberCard> memberCards,Integer type); void updateByIdInBatch(List<MemberCard> memberCards, Integer type, LoginUserInfo userInfo); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -37,6 +37,9 @@ public Integer create(Category category) { checkUnique(category); LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo ==null){ loginUserInfo = category.getLoginUserInfo(); } Category insert = new Category(); insert.setCreator(loginUserInfo.getId()); insert.setCreateDate(new Date()); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -25,6 +25,7 @@ import com.doumee.dao.admin.request.UpdateCompanySortDTO; import com.doumee.dao.admin.response.CompanyDTO; import com.doumee.dao.business.CompanyMapper; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.join.CompanyJoinMapper; import com.doumee.dao.business.model.Category; import com.doumee.dao.business.model.Company; @@ -54,6 +55,8 @@ @Autowired private CompanyMapper companyMapper; @Autowired private MemberMapper memberMapper; @Autowired private DataSyncConfig dataSyncConfig; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -79,6 +82,7 @@ user = company.getLoginUserInfo(); } String rootOrgId = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_ROOTORG_CODE).getCode(); company.setCompanyPath(company.getName());//名称路径 company.setHkParentId(rootOrgId); if(company.getParentId() !=null){ Company parent = findById(company.getParentId()); @@ -89,7 +93,9 @@ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,父级组织信息尚未同步下发成功~"); } company.setHkParentId(parent.getHkId()); company.setCompanyPath(parent.getCompanyPath()+"/"+company.getName()); } company.setHkCompanyPath(company.getCompanyPath()); company.setCreateDate(new Date()); company.setCreator(user.getId()); company.setIsdeleted(Constants.ZERO); @@ -97,7 +103,6 @@ company.setStatus(Constants.ZERO); company.setHkDate(company.getHkDate()); company.setHkId(UUID.randomUUID().toString().replace("-","")); companyMapper.insert(company); //下发海康安防平台 if(!addHkOrg(company)){ @@ -109,7 +114,6 @@ private boolean addHkOrg(Company company) { List<OrgAddRequest> addList = new ArrayList<>(); addList.add(getOrgAddModel(company)); BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList); if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ OrgOrUserAddResponse data = result.getData(); @@ -161,6 +165,7 @@ return model; } @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer createLaborServices(Company company) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo ==null){ @@ -189,19 +194,25 @@ } @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void deleteById(Integer id, LoginUserInfo user ) { if(id== null ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } Company model = findById(id); if(model == null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,组织信息不存在~"); } if(StringUtils.isBlank(model.getHkId())){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,组织信息尚未同步下发成功,暂不支持修改,请尝试删除后重新添加~"); if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() .eq(Company::getParentId,model.getId()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,该部门存在下级部门,不能进行删除操作!"); } if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() .eq(Member::getCompanyId,model.getId()) .eq(Member::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,该部门下存在人员信息,不能进行删除操作!"); } Company company = new Company(); company.setId(id); company.setEditDate(new Date()); @@ -211,7 +222,7 @@ company.setHkDate(company.getHkDate()); companyMapper.updateById(company); //下发海康安防平台 if(!delHkOrg(model)){ if(StringUtils.isBlank(model.getHkId()) && Constants.equalsInteger(Constants.ONE,model.getHkStatus()) && !delHkOrg(model)){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,组织删除下发失败,请确认该组织无下级组织或组织人员信息~"); } } @@ -429,7 +440,7 @@ public void updateStatusById(Company company) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo==null){ loginUserInfo = company.getLoginUserInfo() loginUserInfo = company.getLoginUserInfo(); } company.setEditDate(new Date()); company.setEditor(loginUserInfo.getId()); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -1,43 +1,39 @@ package com.doumee.service.business.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.erp.model.openapi.request.RoleListRequest; import com.doumee.core.erp.model.openapi.response.DeviceListResponse; import com.doumee.core.erp.model.openapi.response.RoleListResponse; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.response.MemberInfoDTO; import com.doumee.dao.business.*; import com.doumee.dao.business.join.MemberRoleJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.model.DeviceRole; import com.doumee.dao.business.model.Empower; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.MemberRole; import com.doumee.dao.web.response.DeviceRoleVO; import com.doumee.service.business.DeviceRoleService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.MemberService; import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import java.util.*; import java.util.stream.Collectors; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; /** * 门禁角色信息表Service实现 @@ -78,6 +74,9 @@ newDeviceRole = getDeviceRole(deviceRole.getType()); } LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo ==null){ loginUserInfo = deviceRole.getLoginUserInfo(); } if(null != newDeviceRole && deviceRole.getIsDefault().equals(Constants.ZERO)) { DeviceRole updateDeviceRole = new DeviceRole(); // 若现在新增数据设置默认门禁组;那么先把之前的默认门禁组状态改为不是默认的 @@ -140,6 +139,9 @@ newDeviceRole = getDeviceRole(deviceRole.getType()); } LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo ==null){ loginUserInfo = deviceRole.getLoginUserInfo(); } if(null != newDeviceRole && deviceRole.getIsDefault().equals(Constants.ZERO)) { DeviceRole update = new DeviceRole(); update.setEdirot(loginUserInfo.getId().toString()); @@ -309,6 +311,9 @@ newDeviceRole = getDeviceRole(deviceRole.getType()); } LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); if(loginUserInfo ==null){ loginUserInfo = deviceRole.getLoginUserInfo(); } List<DeviceRole> deviceRoleList = new ArrayList<>(); if(null != newDeviceRole) { DeviceRole update = new DeviceRole(); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
@@ -66,6 +66,9 @@ @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(MemberCard memberCard) { LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(userInfo == null){ userInfo = memberCard.getLoginUserInfo(); } if(Objects.isNull(memberCard.getMemberId()) || StringUtils.isBlank(memberCard.getCode())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); @@ -137,8 +140,7 @@ */ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public void updateByIdInBatch(List<MemberCard> memberCards,Integer type) { LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); public void updateByIdInBatch(List<MemberCard> memberCards,Integer type,LoginUserInfo userInfo) { if (CollectionUtils.isEmpty(memberCards)) { return; }