From 60eb2f18aaf48a15d2af07918ceadff9cb650626 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 21 七月 2025 18:46:36 +0800 Subject: [PATCH] 后台异常订单模块 --- ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java | 398 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 229 insertions(+), 169 deletions(-) diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java index 1b474fe..876fd9b 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java @@ -6,20 +6,22 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; +import com.stylefeng.guns.core.base.tips.ErrorTip; import com.stylefeng.guns.core.beetl.ShiroExtUtil; import com.stylefeng.guns.core.common.constant.factory.PageFactory; 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.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; +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.EnterpriseUtil; -import com.stylefeng.guns.modular.system.util.qianyuntong.model.CheckEnterExist; -import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateEnterprise; -import com.stylefeng.guns.modular.system.util.qianyuntong.model.CreateEnterpriseRequest; -import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyEnterpriseInfoRequest; +import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; @@ -29,10 +31,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 分公司管理控制器 @@ -57,28 +56,29 @@ @Autowired private ITTaxiCardService cardService; - - @Autowired - private ITCompanyCityService tCompanyCityService; - - @Autowired - private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; - - @Autowired - private ISpellOrderRuleService spellOrderRuleService; - - @Value("${pushMinistryOfTransport}") - private boolean pushMinistryOfTransport; - - - - - /** - * 跳转到修改平台信息 - */ + + @Autowired + private ITCompanyCityService tCompanyCityService; + + @Autowired + private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; + + @Autowired + private ISpellOrderRuleService spellOrderRuleService; + @Autowired + private ShiroExtUtil shiroExtUtil; + + @Value("${pushMinistryOfTransport}") + private boolean pushMinistryOfTransport; + + + /** + * 跳转到修改平台信息 + */ @RequestMapping("/admin_update") public String tCompanyUpdate(Model model) { - TCompany tCompany = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type",1).notIn("flag",3)); + ShiroUser user1 = shiroExtUtil.getUser(); + TCompany tCompany = tCompanyService.selectById(user1.getObjectId()); model.addAttribute("item",tCompany); LogObjectHolder.me().set(tCompany); @@ -87,7 +87,7 @@ model.addAttribute("provinceList",provinceList); //系统用户对象 - User user = userService.selectOne(new EntityWrapper<User>().eq("roleType", 1).eq("objectId", tCompany.getId())); + User user = userService.selectById(user1.getId()); model.addAttribute("user",user); //经营区域 @@ -127,13 +127,13 @@ */ @RequestMapping("/tCompany_addFranchisee") public String tCompany_addFranchisee(Model model) { - Integer roleType = ShiroExtUtil.getUser().getRoleType(); + Integer roleType = shiroExtUtil.getUser().getRoleType(); if (1 == roleType){ //查询分公司 List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)); model.addAttribute("companyList",companyList); }else if (2 == roleType){ - TCompany tCompany = tCompanyService.selectById(ShiroExtUtil.getUser().getObjectId()); + TCompany tCompany = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()); model.addAttribute("company",tCompany); } model.addAttribute("roleType",roleType); @@ -196,7 +196,7 @@ model.addAttribute("item", tCompany); LogObjectHolder.me().set(tCompany); - Integer roleType = ShiroExtUtil.getUser().getRoleType(); + Integer roleType = shiroExtUtil.getUser().getRoleType(); model.addAttribute("roleType", roleType); TCompany obj = tCompanyService.selectById(tCompany.getSuperiorId()); @@ -222,13 +222,13 @@ model.addAttribute("item", tCompany); LogObjectHolder.me().set(tCompany); - Integer roleType = ShiroExtUtil.getUser().getRoleType(); + Integer roleType = shiroExtUtil.getUser().getRoleType(); if (1 == roleType) { //查询分公司 List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)); model.addAttribute("companyList", companyList); } else if (2 == roleType) { - TCompany obj = tCompanyService.selectById(ShiroExtUtil.getUser().getObjectId()); + TCompany obj = tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()); model.addAttribute("company", obj); } model.addAttribute("roleType", roleType); @@ -319,13 +319,14 @@ endTime = timeArray[1]; } Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - if (ShiroExtUtil.getUser().getRoleType() == 3) { + if (shiroExtUtil.getUser().getRoleType() == 3) { page.setRecords(null); } else { - page.setRecords(tCompanyService.getFranchiseeList(page, beginTime, endTime, name, account, principalName, principalPhone, serviceStr, state, ShiroExtUtil.getUser().getRoleType(), ShiroExtUtil.getUser().getObjectId())); + page.setRecords(tCompanyService.getFranchiseeList(page, beginTime, endTime, name, account, principalName, principalPhone, serviceStr, state, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId())); } return super.packForBT(page); } + /** * 新增分公司管理 @@ -341,24 +342,68 @@ //调用中台接口创建企业 CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); String enterCode = ""; + Integer enterNew = null; + Long empId = null; + Integer empnew = null; + ShiroUser user1 = shiroExtUtil.getUser(); + User user2 = userService.selectById(user1.getId()); //企业未注册,进行注册 if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) { CreateEnterpriseRequest request = new CreateEnterpriseRequest(); request.setName(tCompany.getName()); request.setNickName(tCompany.getName()); request.setIndustry_code("123456"); - request.setMobile(tCompany.getPrincipalPhone()); + request.setMobile(account); CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); enterCode = enterprise.getIdCode(); + enterNew = 1; + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode); + if(null != userInfoByPhone && userInfoByPhone.size() > 0){ + empId = userInfoByPhone.get(0).getEmpId(); + empnew = 0; + }else{ + empId = 0L; + empnew = 1; + } } //企业已注册 if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { enterCode = checkEnterExist.getEnterCode(); + enterNew = 0; + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode); + if(null == userInfoByPhone ||userInfoByPhone.size() == 0){ + //负责人不匹配,则创建新的员工到中台 + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(checkEnterExist.getMobile()); + request.setEntercode(enterCode); + request.setEmpName(tCompany.getName() + "管理员"); + request.setEmpNickname(tCompany.getName() + "管理员"); + request.setLoginNo(account); + request.setEmpSex("男"); + request.setMphone(account); + request.setEmail(account + "@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.setEnterCode(enterCode); + tCompany.setEnterNew(enterNew); tCompany.setType(2); //2:分公司 tCompany.setState(0); //0:正常 + tCompany.setFlag("1"); tCompany.setInsertTime(new Date()); tCompany.setUpdateTime(new Date()); tCompanyService.insert(tCompany); @@ -370,6 +415,7 @@ //添加User对象 User user = new User(); user.setAccount(account); + user.setPhone(account); user.setSalt(ShiroKit.getRandomSalt(5)); user.setPassword(ShiroKit.md5(password, user.getSalt())); user.setRoleid("2"); @@ -380,12 +426,33 @@ user.setObjectId(tCompany.getId()); user.setName(tCompany.getName()); user.setSex(1); + user.setEmpId(empId); + user.setEntercode(enterCode); + user.setEnterId(Long.valueOf(enterCode)); + user.setEmpnew(empnew); userService.insert(user); + //编写异步延迟处理中台账号延迟创建的问题 + if(0 == empId){ + Timer timer = new Timer(); + String finalEnterCode = enterCode; + timer.schedule(new TimerTask() { + @Override + public void run() { + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, finalEnterCode); + if(null != userInfoByPhone && userInfoByPhone.size() > 0){ + Long empId1 = userInfoByPhone.get(0).getEmpId(); + user.setEmpId(empId1); + userService.updateById(user); + } + } + },120*1000); + } //添加经营区域 addSocpe(subArr, tCompany.getId()); return SUCCESS_TIP; } + //添加经营区域 public void addSocpe(String subArr,Integer id){ JSONArray jsonArray = JSON.parseArray(subArr); @@ -422,62 +489,6 @@ } /** - * 新增加盟商管理 - */ - @RequestMapping(value = "/addFranchisee") - @ResponseBody - public Object addFranchisee(TCompany tCompany,String account,String password) { - //判断账号是否已存在 - int count = userService.selectCount(new EntityWrapper<User>().eq("account", account)); - if (count > 0) { - return "error"; - } - //调用中台接口创建企业 - CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); - String enterCode = ""; - //企业未注册,进行注册 - if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) { - CreateEnterpriseRequest request = new CreateEnterpriseRequest(); - request.setName(tCompany.getName()); - request.setNickName(tCompany.getName()); - request.setIndustry_code("123456"); - request.setMobile(tCompany.getPrincipalPhone()); - CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); - enterCode = enterprise.getIdCode(); - } - //企业已注册 - if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { - enterCode = checkEnterExist.getEnterCode(); - } - - tCompany.setEnterCode(enterCode); - tCompany.setType(3); //2:分公司 - if (ShiroExtUtil.getUser().getRoleType() == 2) { - tCompany.setSuperiorId(ShiroExtUtil.getUser().getObjectId()); - } - tCompany.setState(0); //0:正常 - tCompany.setInsertTime(new Date()); - tCompanyService.insert(tCompany); - - //添加User对象 - User user = new User(); - user.setAccount(account); - user.setSalt(ShiroKit.getRandomSalt(5)); - user.setPassword(ShiroKit.md5(password, user.getSalt())); - user.setRoleid("3"); - user.setDeptid(26); - user.setStatus(1); - user.setCreatetime(new Date()); - user.setRoleType(3); - user.setObjectId(tCompany.getId()); - user.setName(tCompany.getName()); - user.setSex(1); - userService.insert(user); - - return SUCCESS_TIP; - } - - /** * 删除分公司管理 */ @RequestMapping(value = "/delete") @@ -485,9 +496,16 @@ public Object delete(@RequestParam Integer tCompanyId) { TCompany tCompany = tCompanyService.selectById(tCompanyId); //调用中台接口创建企业 - CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); - if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { - EnterpriseUtil.delEnterprise(checkEnterExist.getEnterCode(), tCompany.getPrincipalPhone()); + if(1 == tCompany.getEnterNew()){ + CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); + if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { + ShiroUser user1 = shiroExtUtil.getUser(); + User user = userService.selectById(user1.getId()); + ResultUtil resultUtil = EnterpriseUtil.delEnterprise(checkEnterExist.getEnterCode(), user.getPhone()); + if(resultUtil.getStatus() != 200){ + return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg()); + } + } } tCompany.setFlag("3"); @@ -501,54 +519,13 @@ @RequestMapping(value = "/update") @ResponseBody public Object update(TCompany tCompany,@RequestParam String subArr,String account,String password,Integer userId) { - //判断账号 User user = userService.selectById(userId); - if (SinataUtil.isNotEmpty(account) && SinataUtil.isNotEmpty(password)) { - if (!user.getAccount().equals(account)) { - //判断账号是否已存在 - int count = userService.selectCount(new EntityWrapper<User>().eq("account", account)); - if (count > 0) { - return "error"; - } - } - //修改账号密码 - user.setAccount(account); - user.setSalt(ShiroKit.getRandomSalt(5)); + if(null != user && ToolUtil.isNotEmpty(password)){ user.setPassword(ShiroKit.md5(password, user.getSalt())); + userService.updateById(user); } - TCompany company = tCompanyService.selectById(tCompany.getId()); - //调用中台接口创建企业 - CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(company.getName()); - String enterCode = null; - //企业已存在,编辑企业 - if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { - ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest(); - request.setEnter_code(company.getEnterCode()); - request.setOperator(user.getPhone()); - request.setEnter_name(tCompany.getName()); - request.setEnter_nickname(tCompany.getName()); - EnterpriseUtil.modifyEnterpriseInfo(request); - enterCode = checkEnterExist.getEnterCode(); - } - //企业不存在,新增企业 - if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) { - CreateEnterpriseRequest request = new CreateEnterpriseRequest(); - request.setName(tCompany.getName()); - request.setNickName(tCompany.getName()); - request.setIndustry_code("123456"); - request.setMobile(tCompany.getPrincipalPhone()); - CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); - enterCode = enterprise.getIdCode(); - } - - company.setEnterCode(enterCode); - company.setUpdateTime(new Date()); - tCompany.setVersion(company.getVersion() + 1); + tCompany.setUpdateTime(new Date()); tCompanyService.updateById(tCompany); - - user.setName(tCompany.getName()); - userService.updateById(user); - //添加经营区域 addSocpe(subArr, tCompany.getId()); @@ -575,52 +552,135 @@ @RequestMapping(value = "/updateFranchisee") @ResponseBody public Object updateFranchisee(TCompany tCompany,String account,String password,Integer userId) { - //判断账号 + tCompany.setUpdateTime(new Date()); + tCompany.setVersion(tCompany.getVersion() + 1); + tCompanyService.updateById(tCompany); + + //修改账号密码 User user = userService.selectById(userId); - if (!user.getAccount().equals(account)) { - //判断账号是否已存在 - int count = userService.selectCount(new EntityWrapper<User>().eq("account", account)); - if (count > 0) { - return "error"; - } + user.setPassword(ShiroKit.md5(password, user.getSalt())); + userService.updateById(user); + return SUCCESS_TIP; + } + + /** + * 新增加盟商管理 + */ + @RequestMapping(value = "/addFranchisee") + @ResponseBody + public Object addFranchisee(TCompany tCompany,String account,String password) { + //判断账号是否已存在 + int count = userService.selectCount(new EntityWrapper<User>().eq("account", account)); + if (count > 0) { + return "error"; } - TCompany company = tCompanyService.selectById(tCompany.getId()); //调用中台接口创建企业 - CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(company.getName()); - String enterCode = null; - //企业已存在,编辑企业 - if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { - ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest(); - request.setEnter_code(company.getEnterCode()); - request.setOperator(user.getPhone()); - request.setEnter_name(tCompany.getName()); - request.setEnter_nickname(tCompany.getName()); - EnterpriseUtil.modifyEnterpriseInfo(request); - enterCode = checkEnterExist.getEnterCode(); - } - //企业不存在,添加企业 + CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); + String enterCode = ""; + Long empId = null; + Integer empnew = null; + Integer enterNew = null; + ShiroUser user1 = shiroExtUtil.getUser(); + User user2 = userService.selectById(user1.getId()); + + //企业未注册,进行注册 if (null == checkEnterExist || "0".equals(checkEnterExist.getIsReg())) { CreateEnterpriseRequest request = new CreateEnterpriseRequest(); request.setName(tCompany.getName()); request.setNickName(tCompany.getName()); request.setIndustry_code("123456"); - request.setMobile(tCompany.getPrincipalPhone()); + request.setMobile(account); CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); enterCode = enterprise.getIdCode(); + enterNew = 1; + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode); + if(null != userInfoByPhone && userInfoByPhone.size() > 0){ + empId = userInfoByPhone.get(0).getEmpId(); + empnew = 0; + }else{ + empId = 0L; + empnew = 1; + } } - tCompany.setEnterCode(enterCode); - tCompanyService.updateById(tCompany); + //企业已注册 + if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, enterCode); + enterCode = checkEnterExist.getEnterCode(); + enterNew = 0; + if(null == userInfoByPhone || userInfoByPhone.size() == 0){ + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(checkEnterExist.getMobile()); + request.setEntercode(enterCode); + request.setEmpName(tCompany.getName() + "管理员"); + request.setEmpNickname(tCompany.getName() + "管理员"); + request.setLoginNo(account); + request.setEmpSex("女"); + request.setMphone(account); + request.setEmail(account + "@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.setEnterCode(enterCode); + tCompany.setEnterNew(enterNew); + tCompany.setType(3); //2:分公司 + if (shiroExtUtil.getUser().getRoleType() == 2) { + tCompany.setSuperiorId(shiroExtUtil.getUser().getObjectId()); + } + tCompany.setState(0); //0:正常 + tCompany.setFlag("1"); + tCompany.setInsertTime(new Date()); + tCompanyService.insert(tCompany); + + //添加User对象 + User user = new User(); user.setAccount(account); + user.setPhone(account); user.setSalt(ShiroKit.getRandomSalt(5)); user.setPassword(ShiroKit.md5(password, user.getSalt())); + user.setRoleid("3"); + user.setDeptid(26); + user.setStatus(1); + user.setCreatetime(new Date()); + user.setRoleType(3); + user.setObjectId(tCompany.getId()); user.setName(tCompany.getName()); - userService.updateById(user); - + user.setSex(1); + user.setEmpId(empId); + user.setEntercode(enterCode); + user.setEnterId(Long.valueOf(enterCode)); + user.setEmpnew(empnew); + userService.insert(user); + //编写异步延迟处理中台账号延迟创建的问题 + if(0 == empId){ + Timer timer = new Timer(); + String finalEnterCode = enterCode; + timer.schedule(new TimerTask() { + @Override + public void run() { + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(account, finalEnterCode); + if(null != userInfoByPhone && userInfoByPhone.size() > 0){ + Long empId1 = userInfoByPhone.get(0).getEmpId(); + user.setEmpId(empId1); + userService.updateById(user); + } + } + },120*1000); + } return SUCCESS_TIP; } - - } -- Gitblit v1.7.1