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/system/UserMgrController.java | 165 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 136 insertions(+), 29 deletions(-)
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
index ff7214b..694f093 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
@@ -2,9 +2,12 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
+import com.heredata.hos.model.bucket.Bucket;
import com.stylefeng.guns.config.properties.GunsProperties;
import com.stylefeng.guns.core.base.controller.BaseController;
+import com.stylefeng.guns.core.base.tips.ErrorTip;
import com.stylefeng.guns.core.base.tips.Tip;
+import com.stylefeng.guns.core.beetl.ShiroExtUtil;
import com.stylefeng.guns.core.common.annotion.BussinessLog;
import com.stylefeng.guns.core.common.annotion.Permission;
import com.stylefeng.guns.core.common.constant.Const;
@@ -19,21 +22,24 @@
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.ObsUploadUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.core.util.ToolUtil;
-import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
import com.stylefeng.guns.modular.system.dao.UserMapper;
import com.stylefeng.guns.modular.system.factory.UserFactory;
import com.stylefeng.guns.modular.system.model.TAgent;
import com.stylefeng.guns.modular.system.model.TBranchOffice;
-import com.stylefeng.guns.modular.system.model.TCompany;
import com.stylefeng.guns.modular.system.model.User;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.transfer.UserDto;
-import com.stylefeng.guns.modular.system.util.OssUploadUtil;
-import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
-import org.apache.poi.ss.formula.functions.T;
+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.NCOSSUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig;
+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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -46,7 +52,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.File;
-import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
@@ -74,6 +79,12 @@
private ITAgentService agentService;
@Autowired
private ITBranchOfficeService branchOfficeService;
+
+ @Autowired
+ private QianYunTongConfig qianYunTongConfig;
+
+ @Autowired
+ private ShiroExtUtil shiroExtUtil;
/**
@@ -131,7 +142,7 @@
*/
@RequestMapping("/user_info")
public String userInfo(Model model) {
- Integer userId = ShiroKit.getUser().getId();
+ Integer userId = shiroExtUtil.getUser().getId();
if (ToolUtil.isEmpty(userId)) {
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
}
@@ -160,7 +171,7 @@
if (!newPwd.equals(rePwd)) {
throw new GunsException(BizExceptionEnum.TWO_PWD_NOT_MATCH);
}
- Integer userId = ShiroKit.getUser().getId();
+ Integer userId = shiroExtUtil.getUser().getId();
User user = userService.selectById(userId);
String oldMd5 = ShiroKit.md5(oldPwd, user.getSalt());
if (user.getPassword().equals(oldMd5)) {
@@ -194,8 +205,8 @@
page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
return super.packForBT(page);
} else {
- Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
- Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
+ Integer objectId = Objects.requireNonNull(shiroExtUtil.getUser()).getObjectId();
+ Integer roleType = Objects.requireNonNull(shiroExtUtil.getUser()).getRoleType();
if(roleType == 3){
// 查询下级分公司账号
@@ -237,12 +248,44 @@
if (result.hasErrors()) {
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
}
-
// 判断账号是否重复
User theUser = userService.getByAccount(user.getAccount());
if (theUser != null) {
throw new GunsException(BizExceptionEnum.USER_ALREADY_REG);
}
+
+ ShiroUser user1 = shiroExtUtil.getUser();
+ User user2 = userService.selectById(user1.getId());
+ TBranchOffice tBranchOffice = branchOfficeService.selectById(user2.getObjectId());
+ List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(user.getPhone(), tBranchOffice.getEnterCode());
+ Long empId = null;
+ Integer empnew = null;
+ if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+ SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
+ request1.setMobile(user2.getPhone());
+ request1.setEntercode(tBranchOffice.getEnterCode());
+ request1.setEmpName(user.getName());
+ request1.setEmpNickname(user.getName());
+ request1.setLoginNo(user.getAccount());
+ request1.setEmpSex(user.getSex() == 1 ? "男" : "女");
+ request1.setMphone(user.getPhone());
+ request1.setEmail(user.getPhone() + "@qyt.com");
+ request1.setDeptId(0);
+ request1.setPositionId(1);
+ request1.setSuperLevel(0);
+ request1.setHideMobile(0);
+ ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request1);
+ 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;
+ }
+
// 完善账号信息
user.setSalt(ShiroKit.getRandomSalt(5));
@@ -251,10 +294,13 @@
user.setCreatetime(new Date());
User objectUser = UserFactory.createUser(user);
- ShiroUser user1 = ShiroKit.getUser();
objectUser.setRoleType(user1.getRoleType());
objectUser.setObjectId(user1.getObjectId());
objectUser.setPassWordUpdate(new Date());
+ objectUser.setEnterId(empId);
+ objectUser.setEmpnew(empnew);
+ objectUser.setEntercode(tBranchOffice.getEnterCode());
+ objectUser.setEnterId(Long.valueOf(tBranchOffice.getEnterCode()));
this.userService.insert(objectUser);
return SUCCESS_TIP;
@@ -273,15 +319,49 @@
throw new GunsException(BizExceptionEnum.REQUEST_NULL);
}
-
User oldUser = userService.selectById(user.getId());
-
+ ShiroUser user1 = shiroExtUtil.getUser();
+ User user2 = userService.selectById(user1.getId());
+ TBranchOffice tBranchOffice = branchOfficeService.selectById(user2.getObjectId());
+ //调用中台接口
+ Long empId = null;
+ Integer empnew = null;
+ List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(oldUser.getPhone(), tBranchOffice.getEnterCode());
+ if(null == userInfoByPhone || userInfoByPhone.size() == 0){
+ SaveStaffNodeRequest request1 = new SaveStaffNodeRequest();
+ request1.setMobile(user2.getPhone());
+ request1.setEntercode(tBranchOffice.getEnterCode());
+ request1.setEmpName(user.getName());
+ request1.setEmpNickname(user.getName());
+ request1.setLoginNo(user.getAccount());
+ request1.setEmpSex(user.getSex() == 1 ? "男" : "女");
+ request1.setMphone(user.getPhone());
+ request1.setEmail(user.getPhone() + "@qyt.com");
+ request1.setDeptId(0);
+ request1.setPositionId(1);
+ request1.setSuperLevel(0);
+ request1.setHideMobile(0);
+ ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request1);
+ 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;
+ }
+ oldUser.setEmpId(empId);
+ oldUser.setEntercode(tBranchOffice.getEnterCode());
+ oldUser.setEnterId(Long.valueOf(tBranchOffice.getEnterCode()));
+ oldUser.setEmpnew(empnew);
if (ShiroKit.hasRole(Const.ADMIN_NAME)) {
this.userService.updateById(UserFactory.editUser(user, oldUser));
return SUCCESS_TIP;
} else {
assertAuth(user.getId());
- ShiroUser shiroUser = ShiroKit.getUser();
+ ShiroUser shiroUser = shiroExtUtil.getUser();
if (shiroUser.getId().equals(user.getId())) {
this.userService.updateById(UserFactory.editUser(user, oldUser));
return SUCCESS_TIP;
@@ -306,7 +386,24 @@
if (userId.equals(Const.ADMIN_ID)) {
throw new GunsException(BizExceptionEnum.CANT_DELETE_ADMIN);
}
-
+ User user = userService.selectById(userId);
+ ShiroUser user1 = shiroExtUtil.getUser();
+ User user2 = userService.selectById(user1.getId());
+ TBranchOffice tBranchOffice = branchOfficeService.selectById(user2.getObjectId());
+ //调用中台接口
+ if(1 == user.getEmpnew()){
+ List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(user.getPhone(), tBranchOffice.getEnterCode());
+ if (null != userInfoByPhone && 0 < userInfoByPhone.size() && 1 == user.getEmpnew()) {
+ DeleteStafNodeRequest request1 = new DeleteStafNodeRequest();
+ request1.setEmpId(user.getEnterId());
+ request1.setMobile(tBranchOffice.getPrincipalPhone());
+ request1.setEntercode(tBranchOffice.getEnterCode());
+ ResultUtil resultUtil = EmployeeUtil.ecrmDeleteStafNode(request1);
+ if(200 != resultUtil.getStatus()){
+ return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
+ }
+ }
+ }
assertAuth(userId);
this.userService.setStatus(userId, ManagerStatus.DELETED.getCode());
@@ -423,21 +520,31 @@
@RequestMapping("/saveApk")
public String saveApk(@RequestPart("myfile") MultipartFile file, HttpServletRequest request){
Map<String, Object> m = new HashMap<>();
+ QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
try {
String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename());
- try {
- String fileSavePath = gunsProperties.getFileUploadPath()+"apk\\";
- InputStream inputStream = file.getInputStream();
- String name1 = file.getOriginalFilename();
- name1 = UUIDUtil.getRandomCode() + name1.substring(name1.lastIndexOf("."));
- String s = OBSUtil.putObjectToBucket(inputStream, name1);
-// String s = OssUploadUtil.ossUpload(request, file);
- // file.transferTo(new File(fileSavePath + pictureName));
- return s;
- } catch (Exception e) {
- e.printStackTrace();
+ String bucketName = qianYunTongConfig1.getBucketName();
+ Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+ if (null == grjyTest) {
+ //创建桶
+ Boolean bucket = NCOSSUtil.createBucket(bucketName);
+ if (!bucket) {
+ throw new RuntimeException("创建存储桶失败");
+ }
+ //设置桶策略
+ String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+ Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+ if (!bucketPolicy) {
+ throw new RuntimeException("设置桶策略失败");
+ }
}
- m.put("imgUrl", gunsProperties.getFileUploadPath()+"apk/"+pictureName);
+ //上传对象
+ String key = "apk/" + pictureName;
+ String object = NCOSSUtil.putObject(bucketName, key, file.getInputStream());
+ if (null == object) {
+ throw new RuntimeException("上传图片失败");
+ }
+ m.put("imgUrl", "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key);
} catch (Exception e) {
e.printStackTrace();
}
--
Gitblit v1.7.1