From 61b2d479bf4887902d21c5c99d9b65bf9cc8d27a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 14 十月 2025 11:56:08 +0800
Subject: [PATCH] 提交代码
---
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 189 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 172 insertions(+), 17 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..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,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 ITBranchOfficeService branchOfficeService;
/**
* 跳转到首页
@@ -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,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);
@@ -562,10 +615,6 @@
accountChangeDetailMapper.insert(accountChangeDetail);
tDriverService.updateById(tDriver1);
}
-
-
-
-
return SUCCESS_TIP;
}
@@ -575,10 +624,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 +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;
}
@@ -601,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;
}
@@ -651,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){
@@ -677,13 +808,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 +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