From f2530067b6cd16a87b76190cf524d2ed75bf9592 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 11 十月 2025 14:26:54 +0800 Subject: [PATCH] 集成中台及正联功能 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 151 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 135 insertions(+), 16 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java index 37cb1d2..fa9edd8 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java @@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.stylefeng.guns.core.base.controller.BaseController; +import com.stylefeng.guns.core.base.tips.ErrorTip; import com.stylefeng.guns.core.base.tips.SuccessTip; +import com.stylefeng.guns.core.beetl.ShiroExtUtil; import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; @@ -24,6 +26,13 @@ import com.stylefeng.guns.modular.system.util.DateUtil; import com.stylefeng.guns.modular.system.util.RedisUtil; //import com.stylefeng.guns.modular.system.util.bank.BankUtil; +import com.stylefeng.guns.modular.system.util.ResultUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.DeleteStafNodeRequest; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTUserInfo; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNode; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNodeRequest; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -100,6 +109,15 @@ private AccountChangeDetailMapper accountChangeDetailMapper; private Logger log = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private ShiroExtUtil shiroExtUtil; + + @Autowired + private IUserService userService; + + @Autowired + private ITBranchOfficeService branchOfficeService; /** * 跳转到首页 @@ -528,20 +546,50 @@ @RequestMapping(value = "/auditSubmit") @ResponseBody public Object auditSubmit(Integer id,Integer approvalStatus,String approvalNotes) { + ShiroUser user1 = shiroExtUtil.getUser(); + User user2 = userService.selectById(user1.getId()); TDriver tDriver = tDriverService.selectById(id); - - - tDriver.setApprovalStatus(approvalStatus); tDriver.setApprovalNotes(approvalNotes); // 审核用户id - Subject subject = ShiroKit.getSubject(); - ShiroUser shiroUser = (ShiroUser)subject.getPrincipal(); - tDriver.setApprovalUserId(shiroUser.getId()); + tDriver.setApprovalUserId(user1.getId()); tDriver.setApprovalTime(new Date()); if (approvalStatus==2){ -// T21000001Response t21000001Response = BankUtil.addAccount(tDriver); -// tDriver.setMerchantNumber(t21000001Response.getDATA().getUSER_ID()); + //审核通过,在中台添加司机账号 + Integer objectId = tDriver.getBranchOfficeId(); + TBranchOffice tBranchOffice = branchOfficeService.selectById(objectId); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tBranchOffice.getEnterCode()); + Long empId = null; + Integer empnew = null; + if(null == userInfoByPhone || userInfoByPhone.size() == 0){ + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(user2.getPhone()); + request.setEntercode(tBranchOffice.getEnterCode()); + request.setEmpName(tDriver.getName()); + request.setEmpNickname(tDriver.getName()); + request.setLoginNo(tDriver.getPhone()); + request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); + request.setMphone(tDriver.getPhone()); + request.setEmail(tDriver.getPhone() + "@qyt.com"); + request.setDeptId(0); + request.setPositionId(1); + request.setSuperLevel(0); + request.setHideMobile(0); + ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request); + if(200 != resultUtil.getStatus()){ + return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); + } + SaveStaffNode saveStaffNode = resultUtil.getData(); + empId = saveStaffNode.getEmpId(); + empnew = 1; + }else{ + empId = userInfoByPhone.get(0).getEmpId(); + empnew = 0; + } + tDriver.setEmpId(empId); + tDriver.setEntercode(tBranchOffice.getEnterCode()); + tDriver.setEnterId(Long.valueOf(tBranchOffice.getEnterCode())); + tDriver.setEmpnew(empnew); } tDriverService.updateById(tDriver); @@ -567,10 +615,6 @@ accountChangeDetailMapper.insert(accountChangeDetail); tDriverService.updateById(tDriver1); } - - - - return SUCCESS_TIP; } @@ -600,6 +644,13 @@ if(count>0){ return new SuccessTip(500,"该司机已存在!"); } + if(ToolUtil.isEmpty(tDriver.getIdcard())){ + return "身份证号不能为空"; + } + Boolean b = UserUtil.idCardAuth(tDriver.getName(), tDriver.getIdcard()); + if(!b){ + return "司机姓名和身份证号不匹配"; + } Object o = tDriverService.addOrUpdate(tDriver); if(Objects.nonNull(o)){ return o; @@ -611,6 +662,48 @@ tDriver.setBalance(BigDecimal.ZERO); tDriver.setBackgroundBalance(BigDecimal.ZERO); tDriver.setCommission(BigDecimal.ZERO); + if(2 == tDriver.getApprovalStatus()){ + ShiroUser user = shiroExtUtil.getUser(); + User user2 = userService.selectById(user.getId()); + Integer objectId = user.getObjectId(); + TBranchOffice tBranchOffice = branchOfficeService.selectById(objectId); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tBranchOffice.getEnterCode()); + Long empId = null; + Integer empnew = null; + if(null == userInfoByPhone || userInfoByPhone.size() == 0){ + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(user2.getPhone()); + request.setEntercode(tBranchOffice.getEnterCode()); + request.setEmpName(tDriver.getName()); + request.setEmpNickname(tDriver.getName()); + request.setLoginNo(tDriver.getPhone()); + request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); + request.setMphone(tDriver.getPhone()); + request.setEmail(tDriver.getPhone() + "@qyt.com"); + request.setDeptId(0); + request.setPositionId(1); + request.setSuperLevel(0); + request.setHideMobile(0); + ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request); + if(200 != resultUtil.getStatus()){ + return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); + } + SaveStaffNode saveStaffNode = resultUtil.getData(); + empId = saveStaffNode.getEmpId(); + empnew = 1; + }else{ + empId = userInfoByPhone.get(0).getEmpId(); + empnew = 0; + } + + TBranchOffice tBranchOffice1 = branchOfficeService.selectById(tDriver.getBranchOfficeId()); + tDriver.setEmpId(empId); + tDriver.setEntercode(tBranchOffice1.getEnterCode()); + tDriver.setEnterId(Long.valueOf(tBranchOffice1.getEnterCode())); + tDriver.setEmpnew(empnew); + } + + tDriverService.insert(tDriver); return SUCCESS_TIP; } @@ -621,6 +714,24 @@ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tDriverId) { + TDriver driver = tDriverService.selectById(tDriverId); + + ShiroUser user = shiroExtUtil.getUser(); + TBranchOffice tBranchOffice = branchOfficeService.selectById(user.getObjectId()); + if (null != driver.getEmpId() && 1 == driver.getEmpnew()) { + //中台先删除司机 + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), tBranchOffice.getEnterCode()); + if (null != userInfoByPhone && 0 < userInfoByPhone.size() && 1 == driver.getEmpnew()) { + DeleteStafNodeRequest deleteStafNodeRequest = new DeleteStafNodeRequest(); + deleteStafNodeRequest.setEmpId(driver.getEmpId()); + deleteStafNodeRequest.setEntercode(tBranchOffice.getEnterCode()); + deleteStafNodeRequest.setMobile(tBranchOffice.getPrincipalPhone()); + ResultUtil resultUtil = EmployeeUtil.ecrmDeleteStafNode(deleteStafNodeRequest); + if(200 != resultUtil.getStatus()){ + return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); + } + } + } tDriverService.deleteById(tDriverId); return SUCCESS_TIP; } @@ -671,10 +782,10 @@ // 添加充值记录 TRechargeRecord tRechargeRecord = new TRechargeRecord(); - Integer roleType = ShiroKit.getUser().getRoleType(); + Integer roleType = shiroExtUtil.getUser().getRoleType(); if(roleType == 2){ tRechargeRecord.setType(UserTypeEnum.BRANCH_OFFICE.getCode()); - Integer id1 = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); + Integer id1 = Objects.requireNonNull(shiroExtUtil.getUser()).getObjectId(); tRechargeRecord.setBranchOfficeId(id1); } if(roleType == 3){ @@ -718,8 +829,13 @@ if(Objects.nonNull(driver) && !tDriver.getId().equals(driver.getId())){ return new SuccessTip(500,"该司机已存在!"); } -// Object ocr = ocr("E:\\071bf986db0b00355c0ed190bbd3b16.png"); -// System.err.println(ocr); + if(ToolUtil.isEmpty(tDriver.getIdcard())){ + return "身份证号不能为空"; + } + Boolean b = UserUtil.idCardAuth(tDriver.getName(), tDriver.getIdcard()); + if(!b){ + return "司机姓名和身份证号不匹配"; + } Object o = tDriverService.addOrUpdate(tDriver); if(Objects.nonNull(o)){ return o; @@ -912,6 +1028,9 @@ e.printStackTrace(); } } + + + @ApiOperation(value = "导出司机佣金列表",notes="导出司机佣金列表") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), -- Gitblit v1.7.1