From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java | 323 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 200 insertions(+), 123 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java index 7f63b3a..6272ff1 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java @@ -1,13 +1,9 @@ package com.dsh.guns.modular.system.controller.system; import cn.hutool.crypto.SecureUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.dsh.course.feignClient.account.model.Company; -import com.dsh.course.feignClient.activity.CompanyClient; -import com.dsh.course.feignClient.activity.DriverClient; -import com.dsh.course.feignClient.activity.model.CompanyInfoRes; -import com.dsh.course.feignClient.activity.model.CompanyQueryStateAndFlgReq; -import com.dsh.course.feignClient.activity.model.UpdateCompanyDriverReq; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.config.UserExt; import com.dsh.guns.config.properties.GunsProperties; @@ -25,14 +21,17 @@ import com.dsh.guns.core.exception.GunsException; import com.dsh.guns.core.log.LogObjectHolder; import com.dsh.guns.core.util.SinataUtil; -import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.controller.util.MD5; import com.dsh.guns.modular.system.factory.UserFactory; -import com.dsh.guns.modular.system.model.Role; -import com.dsh.guns.modular.system.model.User; +import com.dsh.guns.modular.system.model.*; +import com.dsh.guns.modular.system.service.IDeptService; import com.dsh.guns.modular.system.service.IRoleService; +import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.service.IUserService; import com.dsh.guns.modular.system.transfer.UserDto; +import com.dsh.guns.modular.system.util.OBSUploadUtil; +import com.dsh.guns.modular.system.util.OssUploadUtil; +import com.dsh.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -40,11 +39,11 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import javax.naming.NoPermissionException; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import java.io.File; import java.util.*; +import java.util.stream.Collectors; /** * 系统管理员控制器 @@ -64,14 +63,10 @@ @Autowired private IUserService userService; - @Resource - private DriverClient itDriverService; - @Autowired private IRoleService roleService; - - @Resource - private CompanyClient itCompanyService; + @Autowired + private IDeptService deptService; /** @@ -88,7 +83,18 @@ */ @RequestMapping("/user_add") public String addView(Model model) { + model.addAttribute("role",UserExt.getUser().getObjectType()); model.addAttribute("language",UserExt.getLanguage()); + LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(UserExt.getUser().getObjectType()!=1){ + roleLambdaQueryWrapper.eq(Role::getObjId,UserExt.getUser().getObjectId()); + } + roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType()); + List<Role> list = roleService.list(roleLambdaQueryWrapper); + model.addAttribute("list",list); + // 部门列表 + List<Dept> depts = deptService.list(new QueryWrapper<>()); + model.addAttribute("depts",depts); return PREFIX + "user_add.html"; } @@ -109,11 +115,12 @@ } /** - * 跳转到编辑管理员页面 + * 跳转到编辑管理员页面 type=1编辑 type=2 查看详情 */ @Permission - @RequestMapping("/user_edit/{userId}") - public String userEdit(@PathVariable Integer userId, Model model) { + @RequestMapping("/user_edit/{userId}/{type}") + public String userEdit(@PathVariable Integer userId,@PathVariable Integer type, Model model) { + model.addAttribute("role",UserExt.getUser().getObjectType()); if (Objects.isNull(userId)) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } @@ -123,7 +130,18 @@ model.addAttribute("roleName", ConstantFactory.me().getRoleName(user.getRoleid())); model.addAttribute("deptName", ConstantFactory.me().getDeptName(user.getDeptid())); LogObjectHolder.me().set(user); + LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(UserExt.getUser().getObjectType()!=1){ + roleLambdaQueryWrapper.eq(Role::getObjId,UserExt.getUser().getObjectId()); + } + roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType()); + List<Role> list = roleService.list(roleLambdaQueryWrapper); + model.addAttribute("list",list); model.addAttribute("language",UserExt.getLanguage()); + // 部门列表 + List<Dept> depts = deptService.list(new QueryWrapper<>()); + model.addAttribute("depts",depts); + model.addAttribute("type",type); return PREFIX + "user_edit.html"; } @@ -167,7 +185,6 @@ if (user.getPassword().equals(oldMd5)) { String newMd5 = MD5.md5(newPwd); user.setPassword(newMd5); - user.setPassWordUpdate(new Date()); user.updateById(); return SUCCESS_TIP; } else { @@ -175,32 +192,74 @@ } } + @Autowired + private IStoreService storeService; /** * 查询管理员列表 */ @RequestMapping("/list") @Permission @ResponseBody - public Object list(@RequestParam(required = false) String name, @RequestParam(required = false) String createTime, @RequestParam(required = false) Integer deptid) { - //创建日期 - String beginTime = null; - String endTime = null; - if (SinataUtil.isNotEmpty(createTime)){ - String[] timeArray = createTime.split(" - "); - beginTime = timeArray[0]; - endTime = timeArray[1]; + public List<UserListVO> list(String name, String phone, String idCard, Integer isSales, Integer state) { + UserQuery userQuery = new UserQuery(); + userQuery.setName(name); + userQuery.setPhone(phone); + userQuery.setIdCard(idCard); + userQuery.setIsSales(isSales); + userQuery.setStatus(state); + + // 根据当前登陆人类型来查询员工列表 + Integer objectType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + switch (objectType){ + case 1: + // 平台查询所有 + List<UserListVO> res= userService.searchUsers(userQuery); + return res; + case 2: + // 运营商查询运营商账号的员工和属于该运营商门店的员工 +// userQuery.setObjectType(2); +// userQuery.setObjectId(objectId); +// // 获取属于这个运营商的门店的店长ids +// List<Integer> storeStaffIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId) +// .ne("state", 3)).stream().map(TStore::getStoreStaffId).collect(Collectors.toList()); +// userQuery.setStoreIds(storeStaffIds); +// List<UserListVO> res1= userService.searchUsers(userQuery); + List<UserListVO> res1= userService.searchUsers(userQuery); + List<UserListVO> filteredList = res1.stream() + .filter(vo -> Objects.equals(vo.getVersion(), UserExt.getUser().getId())) + .collect(Collectors.toList()); + +// return res1; + return filteredList; + case 3: + // 门店只查询门店员工 + TStore store = storeService.getById(objectId); + List<Integer> storeIds = userQuery.getStoreIds(); + storeIds.add(store.getStoreStaffId()); + List<UserListVO> res2= userService.searchUsers(userQuery); + return res2; } - User user = UserExt.getUser(); - Role role = roleService.getBaseMapper().selectById(user.getRoleid()); - if ("administrator".equals(role.getTips())) { - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); - return super.packForBT(page); - } else { - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); - return super.packForBT(page); - } + return new ArrayList<>(); +// //创建日期 +// String beginTime = null; +// String endTime = null; +// if (SinataUtil.isNotEmpty(createTime)){ +// String[] timeArray = createTime.split(" - "); +// beginTime = timeArray[0]; +// endTime = timeArray[1]; +// } +// User user = UserExt.getUser(); +// Role role = roleService.getBaseMapper().selectById(user.getRoleid()); +// if ("administrator".equals(role.getTips())) { +// Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); +// page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); +// return super.packForBT(page); +// } else { +// Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); +// page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid)); +// return super.packForBT(page); +// } } /** @@ -210,34 +269,58 @@ @BussinessLog(value = "添加管理员", key = "account", dict = UserDict.class) @Permission(Const.ADMIN_NAME) @ResponseBody - public Tip add(@Valid UserDto user, BindingResult result) { + public Object add(@Valid UserDto user, BindingResult result) { if (result.hasErrors()) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } // 判断账号是否重复 - //Check if the account is duplicated - User theUser = userService.getByAccount(user.getAccount()); - if (theUser != null) { - throw new GunsException(BizExceptionEnum.USER_ALREADY_REG); + User theUser = new User(); + if (user.getPhone()!=""){ + theUser = userService.getByAccount(user.getPhone()); + } + if (theUser != null){ + return 5001; } // 完善账号信息 - // Complete account information user.setPassword(SecureUtil.md5(user.getPassword())); user.setStatus(ManagerStatus.OK.getCode()); user.setCreatetime(new Date()); - User objectUser = UserFactory.createUser(user); - //查找平台所属公司 - //Search for the company that owns the platform. - Company company = itCompanyService.getCompanyByTypeAndFlag(new CompanyQueryStateAndFlgReq(1,3)); - if (SinataUtil.isNotEmpty(company)){ - objectUser.setObjectId(company.getId()); - } - objectUser.setPassWordUpdate(new Date()); - this.userService.save(objectUser); + if (user.getRoleid().equals("")){ + objectUser.setObjectType(2); + }else { + objectUser.setObjectType(Integer.valueOf(user.getRoleid())); + + } + objectUser.setObjectId(UserExt.getUser().getObjectId()); + objectUser.setRoleid(user.getRoleid()); + objectUser.setAccount(user.getPhone()); + objectUser.setName(user.getName()); + objectUser.setPhone(user.getPhone()); + objectUser.setBirthday(user.getBirthday()); + objectUser.setDeptid(user.getDeptid()); + objectUser.setIdCard(user.getIdCard()); + objectUser.setSex(user.getSex()); + objectUser.setStatus(1); + objectUser.setPassword(SecureUtil.md5("a123456")); + objectUser.setCreatetime(new Date()); + // 运营商添加员工 + if (UserExt.getUser().getObjectType() == 2){ + objectUser.setObjectType(UserExt.getUser().getObjectType()); + objectUser.setRoleid("2"); + objectUser.setObjectId(UserExt.getUser().getObjectId()); + } + // 门店添加员工 + if (UserExt.getUser().getObjectType() == 3){ + objectUser.setObjectType(UserExt.getUser().getObjectType()); + objectUser.setRoleid("3"); + objectUser.setObjectId(UserExt.getUser().getObjectId()); + } + objectUser.setVersion(UserExt.getUser().getId()); + this.userService.save(objectUser); return SUCCESS_TIP; } @@ -249,27 +332,30 @@ @RequestMapping("/edit") @BussinessLog(value = "修改管理员", key = "account", dict = UserDict.class) @ResponseBody - public Tip edit(@Valid UserDto user, BindingResult result) throws NoPermissionException { + public Object edit(@Valid UserDto user, BindingResult result) throws NoPermissionException { if (result.hasErrors()) { throw new GunsException(BizExceptionEnum.REQUEST_NULL); } - - User oldUser = userService.getById(user.getId()); -// UserExt.hasRole(Const.ADMIN_NAME) - if (false) { - this.userService.updateById(UserFactory.editUser(user, oldUser)); - return SUCCESS_TIP; - } else { - assertAuth(user.getId()); - User shiroUser = UserExt.getUser(); - if (shiroUser.getId().equals(user.getId()) || shiroUser.getId()==1) { - this.userService.updateById(UserFactory.editUser(user, oldUser)); - return SUCCESS_TIP; - } else { - throw new GunsException(BizExceptionEnum.NO_PERMITION); + // 判断是否更改电话 + if (!oldUser.getPhone().equals(user.getPhone())){ + User phone = userService.getOne(new QueryWrapper<User>().eq("phone", user.getPhone())); + if (phone == null){ + oldUser.setPhone(user.getPhone()); + }else{ + return 5001; } } + oldUser.setName(user.getName()); + oldUser.setBirthday(user.getBirthday()); + oldUser.setRoleid(user.getRoleid()); + oldUser.setDeptid(user.getDeptid()); + oldUser.setIdCard(user.getIdCard()); + oldUser.setSex(user.getSex()); + if (user.getAvatar()!=null && (!user.getAvatar().equals(""))) + oldUser.setAvatar(user.getAvatar()); + this.userService.updateById(oldUser); + return SUCCESS_TIP; } /** @@ -348,28 +434,6 @@ assertAuth(userId); this.userService.setStatus(userId, ManagerStatus.FREEZED.getCode()); - User user = userService.getById(userId); - if (user.getRoleType() == 2){ - //查询分公司 Query branch office - CompanyInfoRes company = itCompanyService.queryById(user.getObjectId()); - company.setState(1); - itCompanyService.updateCompany(company); - - //设置该分公司下的所有司机状态 - //Set the status of all drivers under this branch - itDriverService.updateCompanyDriverState(new UpdateCompanyDriverReq(3,company.getId())); - - }else if (user.getRoleType() == 3){ - //查询加盟商 - //Search for franchisees - CompanyInfoRes franchisee = itCompanyService.queryById(user.getObjectId()); - franchisee.setState(1); - itCompanyService.updateCompany(franchisee); - - //设置该加盟商下的所有司机状态 - //Set the status of all drivers under this franchisee - itDriverService.updateFranchiseeDriverState(new UpdateCompanyDriverReq(3,franchisee.getId())); - } return SUCCESS_TIP; } @@ -387,29 +451,6 @@ assertAuth(userId); this.userService.setStatus(userId, ManagerStatus.OK.getCode()); - User user = userService.getById(userId); - if (user.getRoleType() == 2){ - //查询分公司 - //Query branch office - CompanyInfoRes company = itCompanyService.queryById(user.getObjectId()); - company.setState(0); - itCompanyService.updateCompany(company); - - //设置该分公司下的所有司机状态 - ////Set the status of all drivers under this branch - itDriverService.updateCompanyDriverState(new UpdateCompanyDriverReq(2,company.getId())); - - }else if (user.getRoleType() == 3){ - //查询加盟商 - ////Search for franchisees - CompanyInfoRes franchisee = itCompanyService.queryById(user.getObjectId()); - franchisee.setState(0); - itCompanyService.updateCompany(franchisee); - - //设置该加盟商下的所有司机状态 - //Set the status of all drivers under this branch - itDriverService.updateFranchiseeDriverState(new UpdateCompanyDriverReq(2,franchisee.getId())); - } return SUCCESS_TIP; } @@ -439,21 +480,57 @@ /** * 上传图片 */ - @RequestMapping(method = RequestMethod.POST, path = "/upload") + @RequestMapping(method = RequestMethod.POST, path = "/uploadImg") @ResponseBody - public String upload(@RequestPart("file") MultipartFile picture) { - - String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename()); + public String uploadImg(@RequestPart("file") MultipartFile picture) { + String pictureName = ""; try { - String fileSavePath = gunsProperties.getFileUploadPath(); - picture.transferTo(new File(fileSavePath + pictureName)); - } catch (Exception e) { - throw new GunsException(BizExceptionEnum.UPLOAD_ERROR); + pictureName = OssUploadUtil.ossUpload("img/", picture); + }catch (Exception e){ + e.printStackTrace(); } return pictureName; } /** + * 上传图片 + */ + /** + * 上传图片Amis + */ + @RequestMapping(method = RequestMethod.POST, path = "/uploadImgAmis") + @ResponseBody + public ResultUtil uploadImgAmis(@RequestPart("file") MultipartFile picture, HttpServletResponse response) { + String value = ""; + try { + value = OssUploadUtil.ossUpload("img/", picture); + }catch (Exception e){ + e.printStackTrace(); + } + System.out.println("图片返回地址-------"+value); + Map<String, String> map = new HashMap<>(); + map.put("value",value); +// return ResultUtil.success(0,map); + return ResultUtil.getResult(0,null,null,map); + } + + + + + @RequestMapping(method = RequestMethod.POST, path = "/uploadFile") + @ResponseBody + public String uploadFile(@RequestPart("file") MultipartFile picture) { + String pictureName = ""; + try { + pictureName = OssUploadUtil.ossUpload("video/", picture); + }catch (Exception e){ + e.printStackTrace(); + } + return pictureName; + } + + + /** * 判断当前登录的用户是否有操作这个用户的权限 */ private void assertAuth(Integer userId) { -- Gitblit v1.7.1