From 30f124fbe2c638eecda3d74c6dde053af5d574f0 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 11 十月 2025 14:26:17 +0800 Subject: [PATCH] 提交代码 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 181 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 169 insertions(+), 12 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 2eac5a1..9c4430f 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,10 +5,13 @@ 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; +import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp; import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; @@ -19,9 +22,17 @@ import com.stylefeng.guns.modular.system.enums.UserTypeEnum; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; +import com.stylefeng.guns.modular.system.util.AESUtil; 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; @@ -98,6 +109,15 @@ private AccountChangeDetailMapper accountChangeDetailMapper; private Logger log = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private ShiroExtUtil shiroExtUtil; + + @Autowired + private IUserService userService; + + @Autowired + private ITCompanyService companyService; /** * 跳转到首页 @@ -360,6 +380,9 @@ List<TDriver> tDrivers = tDriverService.selectList(wrapper); List<TDriverResp> tDriverResp = tDriverService.getTDriverResp(tDrivers); for (TDriverResp driverResp : tDriverResp) { + driverResp.setIdcard(AESUtil.encrypt(driverResp.getIdcard())); + driverResp.setName(AESUtil.encrypt(driverResp.getName())); + driverResp.setPhone(AESUtil.encrypt(driverResp.getPhone())); TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>() .eq("driverId", driverResp.getId()) .orderBy("workTime", false) @@ -523,10 +546,9 @@ @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 @@ -535,8 +557,41 @@ tDriver.setApprovalUserId(shiroUser.getId()); tDriver.setApprovalTime(new Date()); if (approvalStatus==2){ -// T21000001Response t21000001Response = BankUtil.addAccount(tDriver); -// tDriver.setMerchantNumber(t21000001Response.getDATA().getUSER_ID()); + //审核通过,在中台添加司机账号 + Integer objectId = tDriver.getBranchOfficeId(); + TCompany tCompany = companyService.selectById(objectId); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode()); + Long empId = null; + Integer empnew = null; + if(null == userInfoByPhone || userInfoByPhone.size() == 0){ + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(user2.getPhone()); + request.setEntercode(tCompany.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(tCompany.getEnterCode()); + tDriver.setEnterId(Long.valueOf(tCompany.getEnterCode())); + tDriver.setEmpnew(empnew); } tDriverService.updateById(tDriver); @@ -562,10 +617,6 @@ accountChangeDetailMapper.insert(accountChangeDetail); tDriverService.updateById(tDriver1); } - - - - return SUCCESS_TIP; } @@ -575,10 +626,32 @@ @RequestMapping(value = "/add") @ResponseBody public Object add(TDriver tDriver) { - + String avatar = tDriver.getAvatar(); + if(ToolUtil.isNotEmpty(avatar) && !avatar.contains("png") && !avatar.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的头像图片!"); + } + String driverLicense = tDriver.getDriverLicense(); + if(ToolUtil.isNotEmpty(driverLicense) && !driverLicense.contains("png") && !driverLicense.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的驾驶证照片!"); + } + String idcardFront = tDriver.getIdcardFront(); + if(ToolUtil.isNotEmpty(idcardFront) && !idcardFront.contains("png") && !idcardFront.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的身份证正面照!"); + } + String idcardBack = tDriver.getIdcardBack(); + if(ToolUtil.isNotEmpty(idcardBack) && !idcardBack.contains("png") && !idcardBack.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的身份证背面照!"); + } int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", tDriver.getPhone())); 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)){ @@ -591,6 +664,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(); + TCompany tCompany = companyService.selectById(objectId); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tDriver.getPhone(), tCompany.getEnterCode()); + Long empId = null; + Integer empnew = null; + if(null == userInfoByPhone || userInfoByPhone.size() == 0){ + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(user2.getPhone()); + request.setEntercode(tCompany.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; + } + + TCompany tCompany1 = companyService.selectById(tDriver.getBranchOfficeId()); + tDriver.setEmpId(empId); + tDriver.setEntercode(tCompany1.getEnterCode()); + tDriver.setEnterId(Long.valueOf(tCompany1.getEnterCode())); + tDriver.setEmpnew(empnew); + } + + tDriverService.insert(tDriver); return SUCCESS_TIP; } @@ -601,6 +716,24 @@ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tDriverId) { + TDriver driver = tDriverService.selectById(tDriverId); + + ShiroUser user = shiroExtUtil.getUser(); + TCompany tCompany = companyService.selectById(user.getObjectId()); + if (null != driver.getEmpId() && 1 == driver.getEmpnew()) { + //中台先删除司机 + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver.getPhone(), tCompany.getEnterCode()); + if (null != userInfoByPhone && 0 < userInfoByPhone.size() && 1 == driver.getEmpnew()) { + DeleteStafNodeRequest deleteStafNodeRequest = new DeleteStafNodeRequest(); + deleteStafNodeRequest.setEmpId(driver.getEmpId()); + deleteStafNodeRequest.setEntercode(tCompany.getEnterCode()); + deleteStafNodeRequest.setMobile(tCompany.getPrincipalPhone()); + ResultUtil resultUtil = EmployeeUtil.ecrmDeleteStafNode(deleteStafNodeRequest); + if(200 != resultUtil.getStatus()){ + return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); + } + } + } tDriverService.deleteById(tDriverId); return SUCCESS_TIP; } @@ -677,13 +810,34 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(TDriver tDriver) { + String avatar = tDriver.getAvatar(); + if(ToolUtil.isNotEmpty(avatar) && !avatar.contains("png") && !avatar.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的头像图片!"); + } + String driverLicense = tDriver.getDriverLicense(); + if(ToolUtil.isNotEmpty(driverLicense) && !driverLicense.contains("png") && !driverLicense.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的驾驶证照片!"); + } + String idcardFront = tDriver.getIdcardFront(); + if(ToolUtil.isNotEmpty(idcardFront) && !idcardFront.contains("png") && !idcardFront.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的身份证正面照!"); + } + String idcardBack = tDriver.getIdcardBack(); + if(ToolUtil.isNotEmpty(idcardBack) && !idcardBack.contains("png") && !idcardBack.contains("jpg")){ + return new SuccessTip(500,"请上传png/jpg格式的身份证背面照!"); + } TDriver driver = tDriverService.selectOne(new EntityWrapper<TDriver>().eq("phone", tDriver.getPhone()) .last("LIMIT 1")); 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; @@ -876,6 +1030,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