From c8638df756d5c56f2d0c3ed35522fc5a340122c8 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 04 七月 2025 15:12:22 +0800 Subject: [PATCH] 修改bug --- ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java | 169 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 134 insertions(+), 35 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 48bd745..3649bc4 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 @@ -10,16 +10,16 @@ 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.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; @@ -30,10 +30,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 分公司管理控制器 @@ -79,7 +76,8 @@ */ @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); @@ -88,7 +86,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); //经营区域 @@ -342,19 +340,55 @@ //调用中台接口创建企业 CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); String enterCode = ""; + Long empId = null; + String principalName = tCompany.getPrincipalName(); + String principalPhone = tCompany.getPrincipalPhone(); + //企业未注册,进行注册 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(principalPhone); CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); enterCode = enterprise.getIdCode(); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode); + if(null != userInfoByPhone && userInfoByPhone.size() > 0){ + empId = userInfoByPhone.get(0).getEmpId(); + }else{ + empId = 0L; + } } //企业已注册 if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { + String larName = checkEnterExist.getLarName(); + String mobile = checkEnterExist.getMobile(); enterCode = checkEnterExist.getEnterCode(); + if(!mobile.equals(principalPhone)){ + //负责人不匹配,则创建新的员工到中台 + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(mobile); + request.setEntercode(enterCode); + request.setEmpName(principalName); + request.setEmpNickname(principalName); + request.setLoginNo(principalPhone); + request.setEmpSex("女"); + request.setMphone(principalPhone); + request.setEmail(principalPhone + "@qyt.com"); + request.setDeptId(0); + request.setPositionId(1); + request.setSuperLevel(0); + request.setHideMobile(0); + SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request); + empId = saveStaffNode.getEmpId(); + + }else{ + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode); + empId = userInfoByPhone.get(0).getEmpId(); + } + tCompany.setPrincipalName(larName); + tCompany.setPrincipalPhone(mobile); } tCompany.setEnterCode(enterCode); @@ -371,7 +405,7 @@ //添加User对象 User user = new User(); - user.setAccount(account); + user.setAccount(principalPhone); user.setSalt(ShiroKit.getRandomSalt(5)); user.setPassword(ShiroKit.md5(password, user.getSalt())); user.setRoleid("2"); @@ -382,7 +416,26 @@ user.setObjectId(tCompany.getId()); user.setName(tCompany.getName()); user.setSex(1); + user.setEmpId(empId); + user.setEntercode(enterCode); + user.setEnterId(Long.valueOf(enterCode)); 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(principalPhone, 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()); @@ -437,19 +490,55 @@ //调用中台接口创建企业 CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); String enterCode = ""; + Long empId = null; + String principalName = tCompany.getPrincipalName(); + String principalPhone = tCompany.getPrincipalPhone(); + //企业未注册,进行注册 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(principalPhone); CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); enterCode = enterprise.getIdCode(); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(principalPhone, enterCode); + if(null != userInfoByPhone && userInfoByPhone.size() > 0){ + empId = userInfoByPhone.get(0).getEmpId(); + }else{ + empId = 0L; + } } //企业已注册 if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { + String larName = checkEnterExist.getLarName(); + String mobile = checkEnterExist.getMobile(); enterCode = checkEnterExist.getEnterCode(); + if(!mobile.equals(principalPhone)){ + //负责人不匹配,则创建新的员工到中台 + SaveStaffNodeRequest request = new SaveStaffNodeRequest(); + request.setMobile(mobile); + request.setEntercode(enterCode); + request.setEmpName(principalName); + request.setEmpNickname(principalName); + request.setLoginNo(principalPhone); + request.setEmpSex("女"); + request.setMphone(principalPhone); + request.setEmail(principalPhone + "@qyt.com"); + request.setDeptId(0); + request.setPositionId(1); + request.setSuperLevel(0); + request.setHideMobile(0); + SaveStaffNode saveStaffNode = EmployeeUtil.saveStaffNode(request); + empId = saveStaffNode.getEmpId(); + + }else{ + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(mobile, enterCode); + empId = userInfoByPhone.get(0).getEmpId(); + } + tCompany.setPrincipalName(larName); + tCompany.setPrincipalPhone(mobile); } tCompany.setEnterCode(enterCode); @@ -464,7 +553,7 @@ //添加User对象 User user = new User(); - user.setAccount(account); + user.setAccount(principalPhone); user.setSalt(ShiroKit.getRandomSalt(5)); user.setPassword(ShiroKit.md5(password, user.getSalt())); user.setRoleid("3"); @@ -475,8 +564,26 @@ user.setObjectId(tCompany.getId()); user.setName(tCompany.getName()); user.setSex(1); + user.setEmpId(empId); + user.setEntercode(enterCode); + user.setEnterId(Long.valueOf(enterCode)); 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(principalPhone, finalEnterCode); + if(null != userInfoByPhone && userInfoByPhone.size() > 0){ + Long empId1 = userInfoByPhone.get(0).getEmpId(); + user.setEmpId(empId1); + userService.updateById(user); + } + } + },120*1000); + } return SUCCESS_TIP; } @@ -506,19 +613,6 @@ 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)); - user.setPassword(ShiroKit.md5(password, user.getSalt())); - } TCompany company = tCompanyService.selectById(tCompany.getId()); //调用中台接口创建企业 CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(company.getName()); @@ -527,7 +621,7 @@ if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest(); request.setEnter_code(company.getEnterCode()); - request.setOperator(user.getPhone()); + request.setOperator(company.getPrincipalPhone()); request.setEnter_name(tCompany.getName()); request.setEnter_nickname(tCompany.getName()); EnterpriseUtil.modifyEnterpriseInfo(request); @@ -542,6 +636,9 @@ request.setMobile(tCompany.getPrincipalPhone()); CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); enterCode = enterprise.getIdCode(); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode); + Long empId = userInfoByPhone.get(0).getEmpId(); + user.setEmpId(empId); } company.setEnterCode(enterCode); @@ -549,6 +646,8 @@ tCompany.setVersion(company.getVersion() + 1); tCompanyService.updateById(tCompany); + user.setEntercode(enterCode); + user.setEnterId(Long.valueOf(enterCode)); user.setName(tCompany.getName()); userService.updateById(user); @@ -595,7 +694,7 @@ if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { ModifyEnterpriseInfoRequest request = new ModifyEnterpriseInfoRequest(); request.setEnter_code(company.getEnterCode()); - request.setOperator(user.getPhone()); + request.setOperator(tCompany.getPrincipalPhone()); request.setEnter_name(tCompany.getName()); request.setEnter_nickname(tCompany.getName()); EnterpriseUtil.modifyEnterpriseInfo(request); @@ -610,17 +709,17 @@ request.setMobile(tCompany.getPrincipalPhone()); CreateEnterprise enterprise = EnterpriseUtil.createEnterprise(request); enterCode = enterprise.getIdCode(); + List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(tCompany.getPrincipalPhone(), enterCode); + Long empId = userInfoByPhone.get(0).getEmpId(); + user.setEmpId(empId); } tCompany.setEnterCode(enterCode); tCompanyService.updateById(tCompany); //修改账号密码 - user.setAccount(account); - user.setSalt(ShiroKit.getRandomSalt(5)); - user.setPassword(ShiroKit.md5(password, user.getSalt())); - user.setName(tCompany.getName()); + user.setEntercode(enterCode); + user.setEnterId(Long.valueOf(enterCode)); userService.updateById(user); - return SUCCESS_TIP; } -- Gitblit v1.7.1