server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java
@@ -100,4 +100,11 @@ return ApiResponse.success(carUseBookService.checkDateUse(carId,dateDay)); } @ApiOperation("ç³è¯·æ¤é") @GetMapping("/revoke") public ApiResponse revoke (@RequestParam Integer id, @RequestParam String info, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ carUseBookService.revoke(id,info,getLoginUser(token)); return ApiResponse.success("æä½æå"); } } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -13,6 +13,7 @@ import com.doumee.dao.admin.request.LaborMemberDTO; import com.doumee.dao.admin.request.MemberImport; import com.doumee.dao.admin.request.MemberQuery; import com.doumee.dao.business.dto.RegisterDriverDTO; import com.doumee.dao.business.dto.ResetPasswordDTO; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.MemberRole; @@ -327,4 +328,16 @@ return ApiResponse.success(null); } @LoginNoRequired @ApiOperation("叿ºæ³¨å") @PostMapping("/registerDriver") public ApiResponse registerDriver(@RequestBody RegisterDriverDTO registerDriverDTO ){ memberService.registerDriver(registerDriverDTO); return ApiResponse.success("注åæå"); } } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/RegisterDriverDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.doumee.dao.business.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/20 14:54 */ @Data public class RegisterDriverDTO { @ApiModelProperty(value = "å§å") private String name; @ApiModelProperty(value = "ææºå·") private String phone; @ApiModelProperty(value = "éªè¯ç ") private String validCode; @ApiModelProperty(value = "å¯ç ") private String password; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/join/ApproveJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.doumee.dao.business.join; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.Approve; import com.github.yulichang.base.mapper.MPJJoinMapper; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/12/28 14:09 */ public interface ApproveJoinMapper extends MPJJoinMapper<Approve> { void insertBatchSomeColumn(List<Approve> list); } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -96,9 +97,6 @@ @ExcelColumn(name="å ³èä¸å¡ä¸»é®") private Integer objId; @ApiModelProperty(value = "å ³èä¸å¡ç±»åï¼0=访客ç³è¯·ï¼1=ç¨è½¦ç³è¯·", example = "1") @ExcelColumn(name="å ³èä¸å¡ç±»åï¼0=访客ç³è¯·ï¼1=ç¨è½¦ç³è¯·") private Integer objType; @ApiModelProperty(value = "审æ¹ç级", example = "1") @ExcelColumn(name="审æ¹ç级") @@ -108,7 +106,39 @@ @ExcelColumn(name="å¤äººå®¡æ¹æ¹å¼ 0æç¾ 1ä¼ç¾") private Integer approveType; @ApiModelProperty(value = "æ¯å¦æå®å¸æºé¡¹ 0ä¸æå® 1æå®", example = "1") @ExcelColumn(name="æ¯å¦æå®å¸æºé¡¹ 0ä¸æå® 1æå®") private Integer driverParam; @ApiModelProperty(value = "æ¯å¦ä¿®æ¹ç®çå° 0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦ä¿®æ¹ç®çå° 0å¦ 1æ¯") private Integer addrParam; @ApiModelProperty(value = "å ³èä¸å¡ç±»åï¼0éæ½å·¥äººå访客ç³è¯· 1éæ½å·¥äººå访客ç³è¯· 2访客æ¥å¤ 3å ¬è½¦å¸å ç¨è½¦ 4å ¬è½¦å®¤å¤ç¨è½¦ 5å¸å ¬å¸ç©æµè½¦é¢çº¦", example = "1") @ExcelColumn(name="å ³èä¸å¡ç±»åï¼0éæ½å·¥äººå访客ç³è¯· 1éæ½å·¥äººå访客ç³è¯· 2访客æ¥å¤ 3å ¬è½¦å¸å ç¨è½¦ 4å ¬è½¦å®¤å¤ç¨è½¦ 5å¸å ¬å¸ç©æµè½¦é¢çº¦") private Integer objType; @ApiModelProperty(value = "ç±»å 0å®¡æ¹ 1æé", example = "1") @ExcelColumn(name="ç±»å 0å®¡æ¹ 1æé") private Integer type; @ApiModelProperty(value = "å§å", example = "1") @ExcelColumn(name="å§å") @TableField(exist = false) private String memberName; @ApiModelProperty(value = "ææºå·", example = "1") @ExcelColumn(name="ææºå·") @TableField(exist = false) private String memberPhone; @ApiModelProperty(value = "é¨é¨", example = "1") @ExcelColumn(name="é¨é¨") @TableField(exist = false) private String companyName; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveParam.java
@@ -93,4 +93,16 @@ @ExcelColumn(name="æ 主管é项 0æµç¨ç»æ 1ç±ä¸çº§ä¸»ç®¡ä»£æ¿å®¡æ ¸") private Integer noleaderOpt; @ApiModelProperty(value = "模çç¼ç ï¼å ³èapprove_templ)", example = "1") @ExcelColumn(name="模çç¼ç ï¼å ³èapprove_templ)") private Integer templId; @ApiModelProperty(value = "æ¯å¦æå®å¸æºé¡¹ 0ä¸æå® 1æå®", example = "1") @ExcelColumn(name="æ¯å¦æå®å¸æºé¡¹ 0ä¸æå® 1æå®") private Integer driverParam; @ApiModelProperty(value = "æ¯å¦ä¿®æ¹ç®çå° 0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦ä¿®æ¹ç®çå° 0å¦ 1æ¯") private Integer addrParam; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarUseBook.java
@@ -93,13 +93,11 @@ @ApiModelProperty(value = "åæ¶ç±»å 0ç³è¯·äººåæ¶ 1æ´¾è½¦åæ¤é") @ExcelColumn(name="åæ¶ç±»å 0ç³è¯·äººåæ¶ 1æ´¾è½¦åæ¤é") @JsonFormat(pattern = "yyyy-MM-dd") private Date cancelType; private Integer cancelType; @ApiModelProperty(value = "æ¯å¦å·²åæ¶ 0æªåæ¶ 1已忶") @ExcelColumn(name="æ¯å¦å·²åæ¶ 0æªåæ¶ 1已忶") @JsonFormat(pattern = "yyyy-MM-dd") private Date cancelStatus; private Integer cancelStatus; @ApiModelProperty(value = "åæ¶æ¶é´") @ExcelColumn(name="åæ¶æ¶é´") @@ -172,4 +170,7 @@ @ApiModelProperty(value = "ç³è¯·äººçµè¯") @TableField(exist = false) private String memberMobile; @ApiModelProperty(value = "审æ¹è®°å½") @TableField(exist = false) private List<Approve> approveList; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
@@ -104,4 +104,6 @@ * @return */ InternalHomeVO getHomeData(Integer memberId); void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CarUseBookService.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.CarUseBook; @@ -101,4 +102,6 @@ List<CarUseBook> carUseBookList(CarUseBook carUseBook); List<DateIntervalVO> checkDateUse(Integer cars, String dateDay); void revoke(Integer id, String info, LoginUserInfo loginUserInfo); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -7,6 +7,7 @@ import com.doumee.dao.admin.request.LaborMemberDTO; import com.doumee.dao.admin.request.MemberQuery; import com.doumee.dao.admin.response.StagingDataVO; import com.doumee.dao.business.dto.RegisterDriverDTO; import com.doumee.dao.business.dto.ResetPasswordDTO; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.MemberRole; @@ -161,6 +162,11 @@ void memberFreeze(); /********************************************å ¬ä¼å·æ¥å£***********************************************************************/ /** * 叿ºæ³¨å * @param registerDriverDTO */ void registerDriver(RegisterDriverDTO registerDriverDTO); /** * å¾®ä¿¡æææ¥å£ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -1,23 +1,31 @@ package com.doumee.service.business.impl; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.ApproveMapper; import com.doumee.dao.business.model.Approve; import com.doumee.dao.business.*; import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.SystemUserMapper; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.response.InternalHomeVO; import com.doumee.service.business.ApproveService; 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 org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.*; import java.util.stream.Collectors; /** * 审æ¹ä¿¡æ¯è®°å½è¡¨Serviceå®ç° @@ -32,6 +40,24 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private ApproveTemplMapper approveTemplMapper; @Autowired private ApproveParamMapper approveParamMapper; @Autowired private MemberMapper memberMapper; @Autowired private CompanyMapper companyMapper; @Autowired private CarUseBookMapper carUseBookMapper; @Autowired private CarDriverMapper carDriverMapper; @Override public Integer create(Approve approve) { @@ -189,10 +215,214 @@ } /** * åå»ºå®¡æ¹æµç¨ * @param tempType 模æ¿ç±»å 0éæ½å·¥äººå访客ç³è¯· 1éæ½å·¥äººå访客ç³è¯· 2访客æ¥å¤ 3å ¬è½¦å¸å ç¨è½¦ 4å ¬è½¦å®¤å¤ç¨è½¦ 5å¸å ¬å¸ç©æµè½¦é¢çº¦ * @param businessId ä¸å¡ä¸»é® æ ¹æ® tempType * @param createMemberId æäº¤æµç¨äººå */ @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId){ //æ¥è¯¢å¤çæ¨¡æ¿ ApproveTempl approveTempl = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda() .eq(ApproveTempl::getType,tempType) .eq(ApproveTempl::getIsdeleted,Constants.ZERO) .last(" limit 1 ") ); if(Objects.isNull(approveTempl)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°é 置模æ¿"); } //æ¥è¯¢é ç½®æµç¨ List<ApproveParam> approveParamAllList = approveParamMapper.selectList(new QueryWrapper<ApproveParam>() .lambda().eq(ApproveParam::getIsdeleted,Constants.ZERO) .eq(ApproveParam::getTemplId,approveTempl.getId()) .orderByAsc(ApproveParam::getType) .orderByAsc(ApproveParam::getLevel) ); if(Objects.isNull(approveParamAllList)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªé ç½®å®¡æ¹æµç¨"); } //审æ¹é ç½® List<ApproveParam> approveParamList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ZERO)).collect(Collectors.toList()); if(Objects.isNull(approveParamList)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªé ç½®å®¡æ¹æµç¨"); } List<ApproveParam> approveCopyList = approveParamAllList.stream().filter(i->i.getType().equals(Constants.ONE)).collect(Collectors.toList()); Member createMember = memberMapper.selectById(createMemberId); if(Objects.isNull(createMember)|| Objects.isNull(createMember.getCompanyId())){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"ç³è¯·äººç»ç»ä¿¡æ¯å¼å¸¸"); } List<Approve> approveList = new ArrayList<>(); this.organizeApproveData(approveTempl,approveParamList,createMember,businessId,approveList); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(approveList)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé ç½®é误"); } //å¤çæéæ°æ® if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(approveCopyList)){ this.organizeApproveCopyData(approveTempl,approveParamList,businessId,approveList); } approveMapper.insertBatchSomeColumn(approveList); } /** * ç»ç»å®¡æ¹æµæ°æ® * @param approveTempl * @param approveParamList * @param createMember * @param businessId * @param approveList */ public void organizeApproveData(ApproveTempl approveTempl,List<ApproveParam> approveParamList,Member createMember,Integer businessId,List<Approve> approveList){ //审æ¹ä¸å¡æ°æ® for (int i = 0; i < approveParamList.size(); i++) { ApproveParam approveParam = approveParamList.get(i); List<Integer> ids = this.getApproveUserIds(approveParam,createMember); for (Integer memberId:ids) { Approve approve = new Approve(); approve.setCreateDate(new Date()); approve.setIsdeleted(Constants.ZERO); approve.setTemplatId(approveTempl.getId()); approve.setChekorId(memberId); approve.setStatus(Constants.ZERO); approve.setStatusInfo("å¾ å®¡æ¹"); approve.setIsEndCheck((i+1) == approveParamList.size()?Constants.ONE:Constants.ZERO); approve.setObjId(businessId); approve.setLevel(i+1); approve.setApproveType(approveParam.getApproveType()); approve.setDriverParam(approveParam.getDriverParam()); approve.setAddrParam(approveParam.getAddrParam()); approve.setType(Constants.ZERO); approveList.add(approve); } } } public void organizeApproveCopyData(ApproveTempl approveTempl,List<ApproveParam> approveCopyList,Integer businessId,List<Approve> approveList){ for (ApproveParam approveParam:approveCopyList) { if(StringUtils.isBlank(approveParam.getObjIds())){ return; } List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getIsdeleted,Constants.ZERO) .eq(Member::getWorkStatus,Constants.ZERO) .in(Member::getId,approveParam.getObjIds().split(","))); List<Integer> userIds = new ArrayList<>(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)){ userIds.addAll(memberList.stream().map(m->m.getId()).collect(Collectors.toList())); } //å ¬å¡ç¨è½¦ é»è®¤å å ¥ 叿ºæé if(approveTempl.getType()==Constants.THREE||approveTempl.getType()==Constants.FOUR){ CarUseBook carUseBook = carUseBookMapper.selectById(businessId); if(Objects.isNull(carUseBook)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"为æ¥è¯¢å°ç¨è½¦ç³è¯·ä¿¡æ¯"); } CarDriver carDriver = carDriverMapper.selectById(carUseBook.getDriverId()); if(Objects.isNull(carDriver)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"为æ¥è¯¢å°å¸æºä¿¡æ¯"); } userIds.add(carDriver.getMemberId()); } if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(userIds)){ for (Integer memberId:userIds) { Approve approve = new Approve(); approve.setCreateDate(new Date()); approve.setIsdeleted(Constants.ZERO); approve.setTemplatId(approveTempl.getId()); approve.setChekorId(memberId); approve.setObjId(businessId); approve.setType(Constants.ONE); approveList.add(approve); } } } } public List<Integer> getApproveUserIds(ApproveParam approveParam,Member createMember){ List<Integer> userIds = new ArrayList<>(); if(approveParam.getMemberType().equals(Constants.ZERO)){ //ç³è¯·äºº userIds.add(createMember.getId()); }else if(approveParam.getMemberType().equals(Constants.ONE)){ //æå®äººå if(StringUtils.isBlank(approveParam.getObjIds())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"å®¡æ¹æµé ç½®é误[æªé ç½®æå®å®¡æ¹äººå]"); } List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getIsdeleted,Constants.ZERO) .in(Member::getId,approveParam.getObjIds().split(","))); if(memberList.size()!=approveParam.getObjIds().split(",").length){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé ç½®é误[æå®å®¡æ¹äººåä¿¡æ¯å¼å¸¸]"); } userIds.addAll(memberList.stream().map(m->m.getId()).collect(Collectors.toList())); }else if(approveParam.getMemberType().equals(Constants.TWO)){ //é¨é¨ä¸»ç®¡å®¡æ¹ //审æ¹é¨é¨ Company memberCompany = companyMapper.selectById(createMember.getCompanyId()); if(Objects.isNull(memberCompany)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé ç½®é误[æå®å®¡æ¹é¨é¨æªæ¥è¯¢å°]"); } Company auditCompany = this.getAuditCompanyHead(memberCompany.getParentId(),approveParam.getObjLevel()); if(Objects.isNull(auditCompany)){ //审æ¹é¨é¨ä¸ºç©º èªå¨æµè½¬ä¸ä¸çº§å®¡æ¹é ç½® throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé ç½®é误[æå®å®¡æ¹é¨é¨æªæ¥è¯¢å°]"); }else{ //æ¥è¯¢é¨é¨è´è´£äºº Member headMember = memberMapper.selectById(auditCompany.getHeadId()); if(Objects.isNull(headMember)){ //æªæ¥è¯¢å°é¨é¨è´è´£äºº æ ¹æ®é ç½®å¤ç ç±ä¸çº§ä¸»ç®¡ä»£æ¿å®¡æ ¸/ç´æ¥ç»ææµç¨ if(approveParam.getNoleaderOpt().equals(Constants.ONE)&&!Objects.isNull(auditCompany.getParentId())){ auditCompany = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getId,auditCompany.getParentId())); //æ ç¶çº§ ç´æ¥æµä¼ ä¸ä¸çº§å®¡æ¹ if(Objects.isNull(auditCompany)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé ç½®é误[æå®å®¡æ¹é¨é¨æªæ¥è¯¢å°]"); } headMember = memberMapper.selectById(auditCompany.getHeadId()); if(Objects.isNull(headMember)){ //æ¥è¯¢é¨é¨è´è´£äºº 为空 èªå¨æµè½¬ä¸ä¸çº§å®¡æ¹é ç½® throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å®¡æ¹æµé ç½®é误[æå®å®¡æ¹é¨é¨æªè®¾ç½®è´è´£äºº]"); }else{ //æ·»å 审æ¹äºº userIds.add(headMember.getId()); } }else{ //æ·»å 审æ¹äºº userIds.add(headMember.getId()); } } } } return userIds; } /** * æ ¹æ®é ç½®æ¥è¯¢ä¸çº§æ°æ® * @param companyId ç¶çº§é¨é¨ä¸»é® * @param objLevel æ¥è¯¢çº§å« */ public Company getAuditCompanyHead(Integer companyId, Integer objLevel){ Integer queryLevel = Constants.ZERO; Company auditCompany = companyMapper.selectById(companyId); while(queryLevel.equals(objLevel)){ auditCompany = companyMapper.selectById(auditCompany.getParentId()); if(Objects.isNull(auditCompany)){ return null; } queryLevel = queryLevel + 1; } return auditCompany; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -10,12 +10,15 @@ import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.business.ApproveMapper; import com.doumee.dao.business.CarUseBookMapper; import com.doumee.dao.business.CarsMapper; import com.doumee.dao.business.join.ApproveJoinMapper; import com.doumee.dao.business.join.CarUseBookJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.DateIntervalVO; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.ApproveService; import com.doumee.service.business.CarUseBookService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -56,6 +59,12 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private ApproveJoinMapper approveJoinMapper; @Autowired private ApproveService approveService; @Override @@ -103,6 +112,8 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"åå¨è½¦è¾é¢çº¦æ¶é´ä¸å·²é¢çº¦æ¶é´å²çª~"); } carUseBookMapper.insert(carUseBook); //ç¨è½¦ç³è¯· 审æ¹è®°å½å建 approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId()); return carUseBook.getId(); } @@ -155,6 +166,21 @@ .eq(CarUseBook::getId,id) .last("limit 1" ); CarUseBook model = carUseBookMapper.selectJoinOne(CarUseBook.class,queryWrapper); //审æ¹è®°å½ List<Approve> approveList = approveJoinMapper.selectJoinList(Approve.class, new MPJLambdaWrapper<Approve>() .selectAll(Approve.class) .selectAs(Member::getName,Approve::getMemberName) .selectAs(Member::getPhone,Approve::getMemberPhone) .selectAs(Company::getName,Approve::getCompanyName) .leftJoin(Member.class,Member::getId,Approve::getChekorId) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .eq(Approve::getIsdeleted,Constants.ZERO) .eq(Approve::getObjType,Constants.ONE) .eq(Approve::getObjId,id) .orderByAsc(Approve::getLevel) ); model.setApproveList(approveList); return model; } @@ -207,10 +233,8 @@ .le(pageWrap.getModel().getCheckDate() != null, CarUseBook::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())) .eq(pageWrap.getModel().getCheckUserId() != null, CarUseBook::getCheckUserId, pageWrap.getModel().getCheckUserId()) .eq(pageWrap.getModel().getCheckInfo() != null, CarUseBook::getCheckInfo, pageWrap.getModel().getCheckInfo()) .ge(pageWrap.getModel().getCancelType() != null, CarUseBook::getCancelType, Utils.Date.getStart(pageWrap.getModel().getCancelType())) .le(pageWrap.getModel().getCancelType() != null, CarUseBook::getCancelType, Utils.Date.getEnd(pageWrap.getModel().getCancelType())) .ge(pageWrap.getModel().getCancelStatus() != null, CarUseBook::getCancelStatus, Utils.Date.getStart(pageWrap.getModel().getCancelStatus())) .le(pageWrap.getModel().getCancelStatus() != null, CarUseBook::getCancelStatus, Utils.Date.getEnd(pageWrap.getModel().getCancelStatus())) .eq(pageWrap.getModel().getCancelType() != null, CarUseBook::getCancelType, pageWrap.getModel().getCancelType()) .eq(pageWrap.getModel().getCancelStatus() != null, CarUseBook::getCancelStatus, pageWrap.getModel().getCancelStatus()) .ge(pageWrap.getModel().getCancelTime() != null, CarUseBook::getCancelTime, Utils.Date.getStart(pageWrap.getModel().getCancelTime())) .le(pageWrap.getModel().getCancelTime() != null, CarUseBook::getCancelTime, Utils.Date.getEnd(pageWrap.getModel().getCancelTime())) .eq(pageWrap.getModel().getCancelUser() != null, CarUseBook::getCancelUser, pageWrap.getModel().getCancelUser()) @@ -377,11 +401,30 @@ } public void revoke(Integer id, LoginUserInfo loginUserInfo){ @Override public void revoke(Integer id, String info, LoginUserInfo loginUserInfo){ CarUseBook carUseBook = carUseBookMapper.selectById(id); if(Objects.isNull(carUseBook)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°ç¨è½¦ç³è¯·ä¿¡æ¯"); } carUseBook.setCancelInfo(info); carUseBook.setCancelTime(new Date()); carUseBook.setCancelStatus(Constants.ONE); carUseBook.setStatus(Constants.FOUR); carUseBook.setCancelUser(loginUserInfo.getId()); carUseBook.setCancelType(Constants.ONE); if(loginUserInfo.getId().equals(carUseBook.getCreator())){ carUseBook.setCancelType(Constants.ZERO); } carUseBookMapper.updateById(carUseBook); //å¤ç审æ¹è®°å½ approveJoinMapper.update(null,new UpdateWrapper<Approve>() .lambda() .set(Approve::getStatus,Constants.FOUR) .set(Approve::getCheckInfo,"ç¨è½¦ç³è¯·åæ¶") .in(Approve::getStatus,Constants.ZERO,Constants.ONE) .eq(Approve::getObjId,id) ); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -34,6 +34,7 @@ import com.doumee.dao.admin.response.StagingDataVO; import com.doumee.dao.business.*; import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.dto.RegisterDriverDTO; import com.doumee.dao.business.dto.ResetPasswordDTO; import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.join.RetentionJoinMapper; @@ -48,6 +49,7 @@ import com.doumee.dao.web.response.MemberVO; import com.doumee.dao.web.response.WxAuthorizeVO; import com.doumee.service.business.MemberService; import com.doumee.service.business.SmsEmailService; import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -119,6 +121,8 @@ @Autowired private SystemUserMapper systemUserMapper; @Autowired private SmsEmailService smsEmailService; @Value("${debug_model}") private Boolean isDebug; @@ -1932,6 +1936,57 @@ } @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void registerDriver(RegisterDriverDTO registerDriverDTO){ if(Objects.isNull(registerDriverDTO) || StringUtils.isBlank(registerDriverDTO.getName()) || StringUtils.isBlank(registerDriverDTO.getPassword()) || StringUtils.isBlank(registerDriverDTO.getValidCode()) || StringUtils.isBlank(registerDriverDTO.getPhone()) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() .eq(Member::getIsdeleted,Constants.ZERO) .eq(Member::getPhone,registerDriverDTO.getPhone()) )>Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ææºå·å·²æ³¨å!"); }; if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda() .eq(SystemUser::getDeleted,Constants.ZERO) .and(i->i.eq(SystemUser::getMobile,registerDriverDTO.getPhone()).or().eq(SystemUser::getUsername,registerDriverDTO.getPhone())) )>Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ææºå·å·²æ³¨å!"); }; smsEmailService.validateCode(registerDriverDTO.getValidCode(),registerDriverDTO.getPhone()); String salt = RandomStringUtils.randomAlphabetic(6); ; Member member = new Member(); member.setCreateDate(new Date()); member.setIsdeleted(Constants.ZERO); member.setType(Constants.TWO); member.setName(registerDriverDTO.getName()); member.setPhone(registerDriverDTO.getPhone()); member.setStatus(Constants.ZERO); member.setPassward(Utils.Secure.encryptPassword(registerDriverDTO.getPassword(), salt)); memberMapper.insert(member); SystemUser systemUser = new SystemUser(); systemUser.setCreateTime(new Date()); systemUser.setDeleted(Boolean.FALSE); systemUser.setUsername(registerDriverDTO.getPhone()); systemUser.setRealname(registerDriverDTO.getName()); systemUser.setMemberId(member.getId()); systemUser.setSalt(salt); systemUser.setPassword(member.getPassward()); systemUser.setStatus(Constants.ZERO); systemUserMapper.insert(systemUser); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -39,6 +39,7 @@ import com.doumee.dao.web.reqeust.VisitRecordDTO; import com.doumee.dao.web.response.VisitDetailVO; import com.doumee.dao.web.response.VisitRecordVO; import com.doumee.service.business.ApproveService; import com.doumee.service.business.InterfaceLogService; import com.doumee.service.business.SmsEmailService; import com.doumee.service.business.VisitsService; @@ -104,6 +105,8 @@ private SmsEmailService smsEmailService; @Autowired private SystemUserMapper systemUserMapper; @Autowired private ApproveService approveService; @Override @@ -237,6 +240,7 @@ }else if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ZERO)){ visits.setStatus(Constants.VisitStatus.pass); visitsMapper.updateById(visits); approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId()); }else{ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对ä¸èµ·ï¼åèµ·æè®¿å®¡æ¹ç³è¯·å¤±è´¥ï¼"); } @@ -490,7 +494,6 @@ .eq(ApproveParam::getMemberType,Constants.ZERO) .last("limit 1")); return Objects.isNull(approveParam)?null:approveParam.getId(); } @@ -1356,8 +1359,6 @@ dto.setId(systemUser.getId()); dto.setOperaUserId(systemUser.getId()); systemUserBiz.resetPwd(dto); } }