diff --git a/admin/src/main/java/com/hcy/admin/AdminInterceptor.java b/admin/src/main/java/com/hcy/admin/AdminInterceptor.java index 1e9242f..f976dd9 100644 --- a/admin/src/main/java/com/hcy/admin/AdminInterceptor.java +++ b/admin/src/main/java/com/hcy/admin/AdminInterceptor.java @@ -128,17 +128,24 @@ public class AdminInterceptor implements HandlerInterceptor { } // 校验角色权限是否存在 - String roleId = map.get("role"); - if (!RedisUtil.hExists(AdminConfig.backstageRolesKey, roleId)) { - iSystemAuthPermService.cacheRoleMenusByRoleId(Integer.parseInt(roleId)); + String[] roleIds = map.get("role").split(","); + + for (String roleId : roleIds) { + if (!RedisUtil.hExists(AdminConfig.backstageRolesKey, roleId)) { + iSystemAuthPermService.cacheRoleMenusByRoleId(Integer.parseInt(roleId)); + } + } + StringBuilder adminMenus = new StringBuilder(); + StringBuilder menus = new StringBuilder(); + for (String roleId : roleIds) { + adminMenus.append(RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString()); + menus.append(RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString()); } // 验证是否有权限操作 // roleId=0为系统管理员角色的id,配置了所有的权限标识 - String adminMenus = RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString(); - String menus = RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString(); - List list = Arrays.asList(adminMenus.split(",")); - if(!list.isEmpty() && list.contains(auths) && !Arrays.asList(menus.split(",")).contains(auths)){ + List list = Arrays.asList(adminMenus.toString().split(",")); + if(!list.isEmpty() && list.contains(auths) && !Arrays.asList(menus.toString().split(",")).contains(auths)){ AjaxResult result = AjaxResult.failed(HttpEnum.NO_PERMISSION.getCode(), HttpEnum.NO_PERMISSION.getMsg()); response.getWriter().print(JSON.toJSONString(result)); return false; diff --git a/admin/src/main/java/com/hcy/admin/AdminThreadLocal.java b/admin/src/main/java/com/hcy/admin/AdminThreadLocal.java index 2ff0235..1ee3891 100644 --- a/admin/src/main/java/com/hcy/admin/AdminThreadLocal.java +++ b/admin/src/main/java/com/hcy/admin/AdminThreadLocal.java @@ -51,12 +51,12 @@ public class AdminThreadLocal { /** * 获取角色ID */ - public static Integer getRoleId() { + public static String getRoleId() { String roleId = AdminThreadLocal.get("roleId").toString(); - if (roleId.equals("")) { - return 0; + if (roleId.isEmpty()) { + return "0"; } - return Integer.parseInt(roleId); + return roleId; } /** diff --git a/admin/src/main/java/com/hcy/admin/controller/CommonMaintenance/CommonMaintenanceController.java b/admin/src/main/java/com/hcy/admin/controller/commonMaintenance/CommonMaintenanceController.java similarity index 95% rename from admin/src/main/java/com/hcy/admin/controller/CommonMaintenance/CommonMaintenanceController.java rename to admin/src/main/java/com/hcy/admin/controller/commonMaintenance/CommonMaintenanceController.java index 4f50cc5..fc00ed6 100644 --- a/admin/src/main/java/com/hcy/admin/controller/CommonMaintenance/CommonMaintenanceController.java +++ b/admin/src/main/java/com/hcy/admin/controller/commonMaintenance/CommonMaintenanceController.java @@ -1,9 +1,8 @@ -package com.hcy.admin.controller.CommonMaintenance; +package com.hcy.admin.controller.commonMaintenance; import com.hcy.admin.config.aop.Log; -import com.hcy.admin.service.CommonMaintenance.ICommonMaintenanceService; +import com.hcy.admin.service.commonMaintenance.ICommonMaintenanceService; import com.hcy.admin.validate.CommonMaintenance.CommonMaintenanceParam; -import com.hcy.admin.validate.CommonOverhaul.CommonOverhaulParam; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.vo.CommonMaintenance.CommonMaintenanceListVo; import com.hcy.admin.vo.CommonMaintenance.CommonMaintenanceDetailVo; diff --git a/admin/src/main/java/com/hcy/admin/controller/CommonOverhaul/CommonOverhaulController.java b/admin/src/main/java/com/hcy/admin/controller/commonOverhaul/CommonOverhaulController.java similarity index 95% rename from admin/src/main/java/com/hcy/admin/controller/CommonOverhaul/CommonOverhaulController.java rename to admin/src/main/java/com/hcy/admin/controller/commonOverhaul/CommonOverhaulController.java index 675b552..47bfbf8 100644 --- a/admin/src/main/java/com/hcy/admin/controller/CommonOverhaul/CommonOverhaulController.java +++ b/admin/src/main/java/com/hcy/admin/controller/commonOverhaul/CommonOverhaulController.java @@ -1,10 +1,9 @@ -package com.hcy.admin.controller.CommonOverhaul; +package com.hcy.admin.controller.commonOverhaul; import com.hcy.admin.config.aop.Log; -import com.hcy.admin.service.CommonOverhaul.ICommonOverhaulService; +import com.hcy.admin.service.commonOverhaul.ICommonOverhaulService; import com.hcy.admin.validate.CommonOverhaul.CommonOverhaulParam; import com.hcy.admin.validate.common.PageParam; -import com.hcy.admin.validate.commonFault.CommonFaultParam; import com.hcy.admin.vo.CommonOverhaul.CommonOverhaulListVo; import com.hcy.admin.vo.CommonOverhaul.CommonOverhaulDetailVo; import com.hcy.common.core.AjaxResult; diff --git a/admin/src/main/java/com/hcy/admin/controller/fault/FaultController.java b/admin/src/main/java/com/hcy/admin/controller/fault/FaultController.java index c489e22..517cd5f 100644 --- a/admin/src/main/java/com/hcy/admin/controller/fault/FaultController.java +++ b/admin/src/main/java/com/hcy/admin/controller/fault/FaultController.java @@ -33,8 +33,7 @@ public class FaultController { * @return Object */ @GetMapping("/list") - public Object list(@Validated PageParam pageParam, - @RequestParam FaultParam faultParam) { + public Object list(@Validated PageParam pageParam, FaultParam faultParam) { PageResult list = iFaultService.list(pageParam, faultParam); return AjaxResult.success(list); } diff --git a/admin/src/main/java/com/hcy/admin/controller/QrCode/QrCodeController.java b/admin/src/main/java/com/hcy/admin/controller/qrCode/QrCodeController.java similarity index 92% rename from admin/src/main/java/com/hcy/admin/controller/QrCode/QrCodeController.java rename to admin/src/main/java/com/hcy/admin/controller/qrCode/QrCodeController.java index dd1744b..1c798aa 100644 --- a/admin/src/main/java/com/hcy/admin/controller/QrCode/QrCodeController.java +++ b/admin/src/main/java/com/hcy/admin/controller/qrCode/QrCodeController.java @@ -1,9 +1,8 @@ -package com.hcy.admin.controller.QrCode; +package com.hcy.admin.controller.qrCode; -import com.hcy.admin.service.QRCode.QRCodeService; +import com.hcy.admin.service.qrCode.QRCodeService; import com.hcy.common.utils.QRCodeUtil; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/admin/src/main/java/com/hcy/admin/controller/scrapType/ScrapTypeController.java b/admin/src/main/java/com/hcy/admin/controller/scrapType/ScrapTypeController.java index 2a1c88a..d8d05e5 100644 --- a/admin/src/main/java/com/hcy/admin/controller/scrapType/ScrapTypeController.java +++ b/admin/src/main/java/com/hcy/admin/controller/scrapType/ScrapTypeController.java @@ -1,10 +1,9 @@ package com.hcy.admin.controller.scrapType; import com.hcy.admin.config.aop.Log; -import com.hcy.admin.service.ScrapType.IScrapTypeService; +import com.hcy.admin.service.scrapType.IScrapTypeService; import com.hcy.admin.validate.ScrapType.ScrapTypeParam; import com.hcy.admin.validate.common.PageParam; -import com.hcy.admin.validate.commonFault.CommonFaultParam; import com.hcy.admin.vo.ScrapType.ScrapTypeListVo; import com.hcy.admin.vo.ScrapType.ScrapTypeDetailVo; import com.hcy.common.core.AjaxResult; diff --git a/admin/src/main/java/com/hcy/admin/controller/system/AuthAdminController.java b/admin/src/main/java/com/hcy/admin/controller/system/AuthAdminController.java index 9d1bcb4..172d88f 100644 --- a/admin/src/main/java/com/hcy/admin/controller/system/AuthAdminController.java +++ b/admin/src/main/java/com/hcy/admin/controller/system/AuthAdminController.java @@ -33,8 +33,7 @@ public class AuthAdminController { * @return Object */ @GetMapping("/list") - public Object list(@Validated PageParam pageParam, - @RequestParam Map params) { + public Object list(@Validated PageParam pageParam, SystemAuthAdminParam params){ PageResult list = iSystemAuthAdminService.list(pageParam, params); return AjaxResult.success(list); } diff --git a/admin/src/main/java/com/hcy/admin/controller/system/AuthMenuController.java b/admin/src/main/java/com/hcy/admin/controller/system/AuthMenuController.java index 4597c1e..18bf0b9 100644 --- a/admin/src/main/java/com/hcy/admin/controller/system/AuthMenuController.java +++ b/admin/src/main/java/com/hcy/admin/controller/system/AuthMenuController.java @@ -31,8 +31,7 @@ public class AuthMenuController { */ @GetMapping("/route") public Object route() { - Integer roleId = AdminThreadLocal.getRoleId(); - JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(roleId); + JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(AdminThreadLocal.getRoleId()); return AjaxResult.success(lists); } diff --git a/admin/src/main/java/com/hcy/admin/controller/system/AuthRoleController.java b/admin/src/main/java/com/hcy/admin/controller/system/AuthRoleController.java index 9efc6bc..a21b6f8 100644 --- a/admin/src/main/java/com/hcy/admin/controller/system/AuthRoleController.java +++ b/admin/src/main/java/com/hcy/admin/controller/system/AuthRoleController.java @@ -32,8 +32,8 @@ public class AuthRoleController { * @return Object */ @GetMapping("/all") - public Object all() { - List> list = iSystemAuthRoleService.all(); + public Object all(@RequestParam("isClient") Integer isClient) { + List> list = iSystemAuthRoleService.all(isClient); return AjaxResult.success(list); } @@ -59,7 +59,7 @@ public class AuthRoleController { */ @Log(title = "角色详情") @GetMapping("/detail") - public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { + public Object detail(@Validated @IDMust() @RequestParam("id") String id) { SystemAuthRoleVo vo = iSystemAuthRoleService.detail(id); return AjaxResult.success(vo); } diff --git a/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java index 0a52437..7c97843 100644 --- a/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/client/impl/ClientContactsServiceImpl.java @@ -6,6 +6,7 @@ import com.hcy.admin.AdminThreadLocal; import com.hcy.admin.service.client.IClientContactsService; import com.hcy.admin.service.region.IDevRegionService; import com.hcy.admin.service.system.ISystemAuthRoleService; +import com.hcy.admin.service.user.IUserService; import com.hcy.admin.validate.client.ClientContactsParam; import com.hcy.admin.vo.client.ClientContactsDetailVo; import com.hcy.admin.vo.client.ClientContactsListVo; @@ -14,12 +15,15 @@ import com.hcy.common.constant.GlobalConstant; import com.hcy.common.entity.client.ClientContacts; import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.user.User; -import com.hcy.common.enums.user.UserRoleEnum; +import com.hcy.common.entity.user.UserAuth; +import com.hcy.common.enums.user.SystemAuthRoleEnum; import com.hcy.common.enums.user.UserTypeEnum; import com.hcy.common.exception.OperateException; import com.hcy.common.mapper.client.ClientContactsMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper; +import com.hcy.common.mapper.user.UserAuthMapper; import com.hcy.common.mapper.user.UserMapper; +import com.hcy.common.utils.StringUtil; import com.hcy.common.utils.ToolsUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -44,12 +48,18 @@ public class ClientContactsServiceImpl implements IClientContactsService { @Resource SystemAuthAdminMapper systemAuthAdminMapper; + @Resource + IUserService iUserService; + @Resource ISystemAuthRoleService iSystemAuthRoleService; @Resource UserMapper userMapper; + @Resource + UserAuthMapper userAuthMapper; + /** * 客户联系人列表 * @@ -132,10 +142,6 @@ public class ClientContactsServiceImpl implements IClientContactsService { .eq("username", clientContactsParam.getUsername()) .last("limit 1")), "账号已存在换一个吧!"); - Assert.isNull(userMapper.selectOne(new LambdaQueryWrapper() - .eq(User::getMobile,clientContactsParam.getPhone()) - .last("limit 1")),"该手机号小程序已被注册"); - SystemAuthRoleVo roleVo = iSystemAuthRoleService.detail(clientContactsParam.getRole()); Assert.notNull(roleVo, "角色不存在!"); Assert.isTrue(roleVo.getIsDisable() <= 0, "当前角色已被禁用!"); @@ -152,7 +158,7 @@ public class ClientContactsServiceImpl implements IClientContactsService { admin.setRole(clientContactsParam.getRole()); admin.setPassword(pwd); admin.setNickname(clientContactsParam.getName()); - admin.setUsername(clientContactsParam.getName()); + admin.setUsername(clientContactsParam.getUsername()); admin.setSalt(salt); admin.setProvinceId(clientContactsParam.getProvinceId()); admin.setCityId(clientContactsParam.getCityId()); @@ -161,11 +167,15 @@ public class ClientContactsServiceImpl implements IClientContactsService { admin.setPhone(clientContactsParam.getPhone()); admin.setCreateTime(System.currentTimeMillis() / 1000); - if(clientContactsParam.getRole() != UserRoleEnum.KH_CGY.getType()){ + //判断当前参数是否可以小程序登录 + boolean mnpLogin = iSystemAuthRoleService.isMnpLogin(clientContactsParam.getRole()); + + if(mnpLogin){ + Assert.isNull(userMapper.getUserByPhone(clientContactsParam.getPhone()),"该手机号小程序已被注册"); + //新增小程序用户 - Integer sn = this.randMakeSn(); User user = new User(); - user.setSn(sn); + user.setSn(iUserService.randMakeSn()); user.setType(UserTypeEnum.USER_SIDE.getType()); user.setAvatar(avatar); user.setNickname(clientContactsParam.getName()); @@ -192,6 +202,7 @@ public class ClientContactsServiceImpl implements IClientContactsService { * @param clientContactsParam 参数 */ @Override + @Transactional public void edit(ClientContactsParam clientContactsParam) { ClientContacts model = clientContactsMapper.selectOne( new QueryWrapper() @@ -201,8 +212,63 @@ public class ClientContactsServiceImpl implements IClientContactsService { Assert.notNull(model, "数据不存在!"); - BeanUtils.copyProperties(model,clientContactsParam); - clientContactsMapper.updateById(model); + ClientContacts newClientContacts = new ClientContacts(); + + //判断当前参数是否可以小程序登录 + boolean mnpLogin = iSystemAuthRoleService.isMnpLogin(clientContactsParam.getRole()); + if(model.getUserId() != null && !mnpLogin){ + //删除小程序用户 + userMapper.deleteById(model.getUserId()); + //删除小程序用户授权 + userAuthMapper.delete(new LambdaQueryWrapper().eq(UserAuth::getUserId,model.getUserId())); + model.setUserId(null); + }else if(model.getUserId() == null && mnpLogin){ + Assert.isNull(userMapper.getUserByPhone(clientContactsParam.getPhone()),"该手机号小程序已被注册"); + + //新增小程序用户 + User user = new User(); + user.setSn(iUserService.randMakeSn()); + user.setType(UserTypeEnum.USER_SIDE.getType()); + user.setAvatar("/api/static/backend_avatar.png"); + user.setNickname(clientContactsParam.getName()); + user.setUsername(clientContactsParam.getName()); + user.setSex(clientContactsParam.getSex()); + user.setLastLoginTime(System.currentTimeMillis() / 1000); + user.setCreateTime(System.currentTimeMillis() / 1000); + user.setMobile(clientContactsParam.getPhone()); + userMapper.insert(user); + model.setUserId(user.getId().longValue()); + }else if(!clientContactsParam.getPhone().equals(model.getPhone())){ + User user = userMapper.selectById(model.getUserId()); + if(user != null){ + Assert.isNull(userMapper.getUserByPhone(clientContactsParam.getPhone()),"该手机号小程序已被注册"); + user.setMobile(clientContactsParam.getPhone()); + userMapper.updateById(user); + } + } + + BeanUtils.copyProperties(clientContactsParam,newClientContacts); + newClientContacts.setUserId(model.getUserId()); + clientContactsMapper.updateById(newClientContacts); + + SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.selectById(model.getAdminId()); + systemAuthAdmin.setRole(clientContactsParam.getRole()); + systemAuthAdmin.setPhone(clientContactsParam.getPhone()); + if(!systemAuthAdmin.getUsername().equals(clientContactsParam.getUsername())){ + Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper() + .eq("is_delete", GlobalConstant.NOT_DELETE) + .eq("username", clientContactsParam.getUsername()) + .ne("id",systemAuthAdmin.getId()) + .last("limit 1")), "账号已存在换一个吧!"); + systemAuthAdmin.setUsername(clientContactsParam.getUsername()); + } + if(StringUtil.isNotEmpty(clientContactsParam.getPassword())){ + String salt = ToolsUtil.randomString(5); + String pwd = ToolsUtil.makeMd5(clientContactsParam.getPassword().trim() + salt); + systemAuthAdmin.setSalt(salt); + systemAuthAdmin.setPassword(pwd); + } + systemAuthAdminMapper.updateById(systemAuthAdmin); } @Override @@ -252,25 +318,4 @@ public class ClientContactsServiceImpl implements IClientContactsService { model.setIsDelete(1); clientContactsMapper.updateById(model); } - - /** - * 生成用户编号 - * - * @return Integer - * @author fzr - */ - private Integer randMakeSn() { - Integer sn; - while (true) { - sn = Integer.parseInt(ToolsUtil.randomInt(8)); - User snModel = userMapper.selectOne(new QueryWrapper() - .select("id,sn,username") - .eq("sn", sn) - .last("limit 1")); - if (snModel == null) { - break; - } - } - return sn; - } } diff --git a/admin/src/main/java/com/hcy/admin/service/CommonMaintenance/ICommonMaintenanceService.java b/admin/src/main/java/com/hcy/admin/service/commonMaintenance/ICommonMaintenanceService.java similarity index 96% rename from admin/src/main/java/com/hcy/admin/service/CommonMaintenance/ICommonMaintenanceService.java rename to admin/src/main/java/com/hcy/admin/service/commonMaintenance/ICommonMaintenanceService.java index 1398f03..465c5f2 100644 --- a/admin/src/main/java/com/hcy/admin/service/CommonMaintenance/ICommonMaintenanceService.java +++ b/admin/src/main/java/com/hcy/admin/service/commonMaintenance/ICommonMaintenanceService.java @@ -1,4 +1,4 @@ -package com.hcy.admin.service.CommonMaintenance; +package com.hcy.admin.service.commonMaintenance; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.CommonMaintenance.CommonMaintenanceParam; diff --git a/admin/src/main/java/com/hcy/admin/service/CommonMaintenance/impl/CommonMaintenanceServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/commonMaintenance/impl/CommonMaintenanceServiceImpl.java similarity index 93% rename from admin/src/main/java/com/hcy/admin/service/CommonMaintenance/impl/CommonMaintenanceServiceImpl.java rename to admin/src/main/java/com/hcy/admin/service/commonMaintenance/impl/CommonMaintenanceServiceImpl.java index 2a8db1c..c2eb767 100644 --- a/admin/src/main/java/com/hcy/admin/service/CommonMaintenance/impl/CommonMaintenanceServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/commonMaintenance/impl/CommonMaintenanceServiceImpl.java @@ -1,24 +1,18 @@ -package com.hcy.admin.service.CommonMaintenance.impl; +package com.hcy.admin.service.commonMaintenance.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.github.yulichang.query.MPJQueryWrapper; -import com.hcy.admin.service.CommonMaintenance.ICommonMaintenanceService; -import com.hcy.admin.validate.CommonOverhaul.CommonOverhaulParam; +import com.hcy.admin.service.commonMaintenance.ICommonMaintenanceService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.CommonMaintenance.CommonMaintenanceParam; import com.hcy.admin.vo.CommonMaintenance.CommonMaintenanceListVo; import com.hcy.admin.vo.CommonMaintenance.CommonMaintenanceDetailVo; import com.hcy.common.core.PageResult; import com.hcy.common.entity.CommonMaintenance.CommonMaintenance; -import com.hcy.common.entity.CommonOverhaul.CommonOverhaul; import com.hcy.common.enums.commonFault.CommonFaultEnum; import com.hcy.common.mapper.CommonMaintenance.CommonMaintenanceMapper; -import com.hcy.common.utils.ArrayUtil; import com.hcy.common.utils.TimeUtil; -import com.hcy.common.utils.UrlUtil; -import com.hcy.common.config.GlobalConfig; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; diff --git a/admin/src/main/java/com/hcy/admin/service/CommonOverhaul/ICommonOverhaulService.java b/admin/src/main/java/com/hcy/admin/service/commonOverhaul/ICommonOverhaulService.java similarity index 93% rename from admin/src/main/java/com/hcy/admin/service/CommonOverhaul/ICommonOverhaulService.java rename to admin/src/main/java/com/hcy/admin/service/commonOverhaul/ICommonOverhaulService.java index cc811e6..8817b9a 100644 --- a/admin/src/main/java/com/hcy/admin/service/CommonOverhaul/ICommonOverhaulService.java +++ b/admin/src/main/java/com/hcy/admin/service/commonOverhaul/ICommonOverhaulService.java @@ -1,8 +1,7 @@ -package com.hcy.admin.service.CommonOverhaul; +package com.hcy.admin.service.commonOverhaul; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.CommonOverhaul.CommonOverhaulParam; -import com.hcy.admin.validate.commonFault.CommonFaultParam; import com.hcy.admin.vo.CommonOverhaul.CommonOverhaulListVo; import com.hcy.admin.vo.CommonOverhaul.CommonOverhaulDetailVo; import com.hcy.common.core.PageResult; diff --git a/admin/src/main/java/com/hcy/admin/service/CommonOverhaul/impl/CommonOverhaulServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/commonOverhaul/impl/CommonOverhaulServiceImpl.java similarity index 94% rename from admin/src/main/java/com/hcy/admin/service/CommonOverhaul/impl/CommonOverhaulServiceImpl.java rename to admin/src/main/java/com/hcy/admin/service/commonOverhaul/impl/CommonOverhaulServiceImpl.java index 72bddee..be770f1 100644 --- a/admin/src/main/java/com/hcy/admin/service/CommonOverhaul/impl/CommonOverhaulServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/commonOverhaul/impl/CommonOverhaulServiceImpl.java @@ -1,24 +1,18 @@ -package com.hcy.admin.service.CommonOverhaul.impl; +package com.hcy.admin.service.commonOverhaul.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.github.yulichang.query.MPJQueryWrapper; -import com.hcy.admin.service.CommonOverhaul.ICommonOverhaulService; +import com.hcy.admin.service.commonOverhaul.ICommonOverhaulService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.CommonOverhaul.CommonOverhaulParam; -import com.hcy.admin.validate.commonFault.CommonFaultParam; import com.hcy.admin.vo.CommonOverhaul.CommonOverhaulListVo; import com.hcy.admin.vo.CommonOverhaul.CommonOverhaulDetailVo; import com.hcy.common.core.PageResult; import com.hcy.common.entity.CommonOverhaul.CommonOverhaul; -import com.hcy.common.entity.commonFault.CommonFault; import com.hcy.common.enums.commonFault.CommonFaultEnum; import com.hcy.common.mapper.CommonOverhaul.CommonOverhaulMapper; -import com.hcy.common.utils.ArrayUtil; import com.hcy.common.utils.TimeUtil; -import com.hcy.common.utils.UrlUtil; -import com.hcy.common.config.GlobalConfig; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; diff --git a/admin/src/main/java/com/hcy/admin/service/fault/impl/FaultServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/fault/impl/FaultServiceImpl.java index 55cd7ae..5ccad90 100644 --- a/admin/src/main/java/com/hcy/admin/service/fault/impl/FaultServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/fault/impl/FaultServiceImpl.java @@ -48,11 +48,13 @@ public class FaultServiceImpl implements IFaultService { Long faultType = faultParam.getFaultType(); String name = faultParam.getName(); + Integer status = faultParam.getStatus(); LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .eq(Fault::getIsDelete, GlobalConstant.NOT_DELETE) .eq(faultType != null, Fault::getFaultType, faultType) .like(name != null, Fault::getName, name) + .eq(status != null, Fault::getStatus, status) .orderByAsc(Fault::getSort) .orderByDesc(Fault::getCreateTime); @@ -101,6 +103,7 @@ public class FaultServiceImpl implements IFaultService { model.setFaultType(faultParam.getFaultType()); model.setSort(faultParam.getSort()); model.setName(faultParam.getName()); + model.setStatus(faultParam.getStatus()); model.setDescription(faultParam.getDescription()); faultMapper.insert(model); } @@ -120,7 +123,7 @@ public class FaultServiceImpl implements IFaultService { Assert.notNull(model, "数据不存在!"); - BeanUtils.copyProperties(model,faultParam); + BeanUtils.copyProperties(faultParam,model); faultMapper.updateById(model); } diff --git a/admin/src/main/java/com/hcy/admin/service/QRCode/QRCodeService.java b/admin/src/main/java/com/hcy/admin/service/qrCode/QRCodeService.java similarity index 94% rename from admin/src/main/java/com/hcy/admin/service/QRCode/QRCodeService.java rename to admin/src/main/java/com/hcy/admin/service/qrCode/QRCodeService.java index 671b2ad..a86d983 100644 --- a/admin/src/main/java/com/hcy/admin/service/QRCode/QRCodeService.java +++ b/admin/src/main/java/com/hcy/admin/service/qrCode/QRCodeService.java @@ -1,4 +1,4 @@ -package com.hcy.admin.service.QRCode; +package com.hcy.admin.service.qrCode; import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrConfig; diff --git a/admin/src/main/java/com/hcy/admin/service/ScrapType/IScrapTypeService.java b/admin/src/main/java/com/hcy/admin/service/scrapType/IScrapTypeService.java similarity index 97% rename from admin/src/main/java/com/hcy/admin/service/ScrapType/IScrapTypeService.java rename to admin/src/main/java/com/hcy/admin/service/scrapType/IScrapTypeService.java index aa1243f..37afd8d 100644 --- a/admin/src/main/java/com/hcy/admin/service/ScrapType/IScrapTypeService.java +++ b/admin/src/main/java/com/hcy/admin/service/scrapType/IScrapTypeService.java @@ -1,4 +1,4 @@ -package com.hcy.admin.service.ScrapType; +package com.hcy.admin.service.scrapType; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.ScrapType.ScrapTypeParam; diff --git a/admin/src/main/java/com/hcy/admin/service/ScrapType/impl/ScrapTypeServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/scrapType/impl/ScrapTypeServiceImpl.java similarity index 94% rename from admin/src/main/java/com/hcy/admin/service/ScrapType/impl/ScrapTypeServiceImpl.java rename to admin/src/main/java/com/hcy/admin/service/scrapType/impl/ScrapTypeServiceImpl.java index 62d7534..44482e2 100644 --- a/admin/src/main/java/com/hcy/admin/service/ScrapType/impl/ScrapTypeServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/scrapType/impl/ScrapTypeServiceImpl.java @@ -1,23 +1,18 @@ -package com.hcy.admin.service.ScrapType.impl; +package com.hcy.admin.service.scrapType.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.github.yulichang.query.MPJQueryWrapper; -import com.hcy.admin.service.ScrapType.IScrapTypeService; +import com.hcy.admin.service.scrapType.IScrapTypeService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.ScrapType.ScrapTypeParam; import com.hcy.admin.vo.ScrapType.ScrapTypeListVo; import com.hcy.admin.vo.ScrapType.ScrapTypeDetailVo; import com.hcy.common.core.PageResult; import com.hcy.common.entity.ScrapType.ScrapType; -import com.hcy.common.entity.commonFault.CommonFault; import com.hcy.common.enums.commonFault.CommonFaultEnum; import com.hcy.common.mapper.ScrapType.ScrapTypeMapper; -import com.hcy.common.utils.ArrayUtil; import com.hcy.common.utils.TimeUtil; -import com.hcy.common.utils.UrlUtil; -import com.hcy.common.config.GlobalConfig; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; diff --git a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthAdminService.java b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthAdminService.java index d8e2dea..4485c91 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthAdminService.java +++ b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthAdminService.java @@ -31,7 +31,7 @@ public interface ISystemAuthAdminService { * @param pageParam 分页参数 * @return PageResult */ - PageResult list(PageParam pageParam, Map params); + PageResult list(PageParam pageParam, SystemAuthAdminParam param); /** * 当前管理员 diff --git a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthMenuService.java b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthMenuService.java index 73e253c..c11e3ba 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthMenuService.java +++ b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthMenuService.java @@ -15,7 +15,7 @@ public interface ISystemAuthMenuService { * @author fzr * @return JSONArray */ - JSONArray selectMenuByRoleId(Integer roleId); + JSONArray selectMenuByRoleId(String roleId); /** * 菜单列表 diff --git a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthPermService.java b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthPermService.java index 92e2d47..24b7e44 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthPermService.java +++ b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthPermService.java @@ -10,10 +10,10 @@ public interface ISystemAuthPermService { /** * 根据角色ID获取菜单ID * - * @param roleId 角色ID + * @param roleIds 角色ID * @return List */ - List selectMenuIdsByRoleId(Integer roleId); + List selectMenuIdsByRoleIds(String roleIds); /** * 批量写入角色菜单 diff --git a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthRoleService.java b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthRoleService.java index 4e3f273..9830a3a 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthRoleService.java +++ b/admin/src/main/java/com/hcy/admin/service/system/ISystemAuthRoleService.java @@ -20,7 +20,7 @@ public interface ISystemAuthRoleService { * @author fzr * @return List */ - List> all(); + List> all(Integer isClient); /** * 角色列表 @@ -38,7 +38,7 @@ public interface ISystemAuthRoleService { * @param id 主键参数 * @return SysRole */ - SystemAuthRoleVo detail(Integer id); + SystemAuthRoleVo detail(String id); /** * 角色新增 @@ -64,4 +64,10 @@ public interface ISystemAuthRoleService { */ void del(Integer id); + /** + * 判断当前角色是否可以小程序登录 + * @param role 角色id + * @return boolean true:可以 false:不可以 + */ + boolean isMnpLogin(String role); } diff --git a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java index b68a35b..4f28e1d 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java @@ -14,25 +14,35 @@ import com.hcy.admin.service.region.IDevRegionService; import com.hcy.admin.service.system.ISystemAuthAdminService; import com.hcy.admin.service.system.ISystemAuthPermService; import com.hcy.admin.service.system.ISystemAuthRoleService; +import com.hcy.admin.service.user.IUserService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.system.SystemAuthAdminParam; -import com.hcy.admin.vo.plant.PlantListVo; import com.hcy.admin.vo.system.SystemAuthAdminVo; import com.hcy.admin.vo.system.SystemAuthRoleVo; import com.hcy.admin.vo.system.SystemAuthSelfVo; import com.hcy.common.config.GlobalConfig; import com.hcy.common.core.PageResult; +import com.hcy.common.dto.SystemAuthAdminDto; import com.hcy.common.entity.plant.Plant; import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.system.SystemAuthMenu; +import com.hcy.common.entity.system.SystemAuthRole; +import com.hcy.common.entity.user.User; +import com.hcy.common.entity.user.UserAuth; +import com.hcy.common.enums.user.SystemAuthRoleEnum; +import com.hcy.common.enums.user.UserTypeEnum; import com.hcy.common.exception.OperateException; import com.hcy.common.mapper.plant.PlantMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper; import com.hcy.common.mapper.system.SystemAuthMenuMapper; +import com.hcy.common.mapper.system.SystemAuthRoleMapper; +import com.hcy.common.mapper.user.UserAuthMapper; +import com.hcy.common.mapper.user.UserMapper; import com.hcy.common.utils.*; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; @@ -61,6 +71,15 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { @Resource IDevRegionService regionService; + @Resource + IUserService iUserService; + + @Resource + UserMapper userMapper; + + @Resource + UserAuthMapper userAuthMapper; + /** * 根据账号查找管理员 * @@ -83,32 +102,20 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { * @author fzr */ @Override - public PageResult list(PageParam pageParam, Map params) { + public PageResult list(PageParam pageParam, SystemAuthAdminParam param) { Integer page = pageParam.getPageNo(); Integer limit = pageParam.getPageSize(); - MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<>(); - mpjQueryWrapper.select("t.id,t.dept_id,t.post_id,t.username,t.nickname,t.avatar," + - "sd.name as dept,sr.name as role,t.is_multipoint,t.is_disable," + - "t.last_login_ip,t.last_login_time,t.create_time,t.update_time") - .eq("t.is_delete", 0) - .leftJoin("?_system_auth_role sr ON sr.id=t.role".replace("?_", GlobalConfig.tablePrefix)) - .leftJoin("?_system_auth_dept sd ON sd.id=t.dept_id".replace("?_", GlobalConfig.tablePrefix)) - .orderByDesc(Arrays.asList("t.id", "t.sort")); + SystemAuthAdminDto systemAuthAdminDto = new SystemAuthAdminDto(); + BeanUtils.copyProperties(param,systemAuthAdminDto); - systemAuthAdminMapper.setSearch(mpjQueryWrapper, params, new String[]{ - "like:username:str", - "like:nickname:str", - "=:role:int" - }); - - IPage iPage = systemAuthAdminMapper.selectJoinPage( - new Page<>(page, limit), - SystemAuthAdminVo.class, - mpjQueryWrapper); + IPage iPage = systemAuthAdminMapper.list(new Page<>(page, limit), systemAuthAdminDto); long total = 0; List list = new LinkedList<>(); - for (SystemAuthAdminVo item : iPage.getRecords()) { + for (SystemAuthAdminDto dto : iPage.getRecords()) { + + SystemAuthAdminVo item = new SystemAuthAdminVo(); + BeanUtils.copyProperties(dto, item); if (item.getId() == 1) { item.setRole("系统管理员"); @@ -126,10 +133,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { SystemAuthAdminVo vo = new SystemAuthAdminVo(); BeanUtils.copyProperties(item, vo); //只查询没有被该工厂绑定的用户 - if(params.get("plantId") != null && params.get("plantId") != ""){ + if(param.getPlantId() != null){ Plant model = plantMapper.selectOne( new QueryWrapper() - .eq("id", params.get("plantId")) + .eq("id", param.getPlantId()) .eq("is_delete", 0) .last("limit 1")); Assert.notNull(model, "数据不存在!"); @@ -201,7 +208,7 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { // 角色权限 List auths = new LinkedList<>(); if (adminId > 1) { - List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(sysAdmin.getRole()); + List menuIds = iSystemAuthPermService.selectMenuIdsByRoleIds(sysAdmin.getRole()); if (menuIds.size() > 0) { List systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper() .eq("is_disable", 0) @@ -286,6 +293,7 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { * @author fzr */ @Override + @Transactional public void add(SystemAuthAdminParam systemAuthAdminParam) { String[] field = {"id", "username", "nickname"}; Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper() @@ -300,9 +308,8 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { .eq("nickname", systemAuthAdminParam.getNickname()) .last("limit 1")), "昵称已存在换一个吧!"); - SystemAuthRoleVo roleVo = iSystemAuthRoleService.detail(systemAuthAdminParam.getRole()); - Assert.notNull(roleVo, "角色不存在!"); - Assert.isTrue(roleVo.getIsDisable() <= 0, "当前角色已被禁用!"); + //判断当前参数是否可以小程序登录 + boolean mnpLogin = iSystemAuthRoleService.isMnpLogin(systemAuthAdminParam.getRole()); String salt = ToolsUtil.randomString(5); String pwd = ToolsUtil.makeMd5(systemAuthAdminParam.getPassword().trim() + salt); @@ -311,6 +318,27 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { "/api/static/backend_avatar.png"; SystemAuthAdmin model = new SystemAuthAdmin(); + + //新增小程序用户 + if(mnpLogin){ + //校验手机号是否被注册 + Assert.isNull(userMapper.getUserByPhone(systemAuthAdminParam.getPhone()),"该手机号小程序已被注册"); + + //新增小程序用户 + User user = new User(); + user.setSn(iUserService.randMakeSn()); + user.setType(UserTypeEnum.USER_SIDE.getType()); + user.setAvatar(avatar); + user.setNickname(systemAuthAdminParam.getUsername()); + user.setUsername(systemAuthAdminParam.getUsername()); + user.setSex(systemAuthAdminParam.getSex()); + user.setLastLoginTime(System.currentTimeMillis() / 1000); + user.setCreateTime(System.currentTimeMillis() / 1000); + user.setMobile(systemAuthAdminParam.getPhone()); + userMapper.insert(user); + model.setUserId(user.getId().longValue()); + } + model.setDeptId(systemAuthAdminParam.getDeptId()); model.setPostId(systemAuthAdminParam.getPostId()); model.setUsername(systemAuthAdminParam.getUsername()); @@ -343,65 +371,76 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { * @author fzr */ @Override + @Transactional public void edit(SystemAuthAdminParam systemAuthAdminParam) { - String[] field = {"id", "username", "nickname"}; - Assert.notNull(systemAuthAdminMapper.selectOne(new QueryWrapper() - .select(field) + SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.selectOne(new QueryWrapper() .eq("id", systemAuthAdminParam.getId()) .eq("is_delete", 0) - .last("limit 1")), "账号不存在了!"); + .last("limit 1")); + + Assert.notNull(systemAuthAdmin, "账号不存在了!"); Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper() - .select(field) .eq("is_delete", 0) .eq("username", systemAuthAdminParam.getUsername()) .ne("id", systemAuthAdminParam.getId()) .last("limit 1")), "账号已存在换一个吧!"); Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper() - .select(field) .eq("is_delete", 0) .eq("nickname", systemAuthAdminParam.getNickname()) .ne("id", systemAuthAdminParam.getId()) .last("limit 1")), "昵称已存在换一个吧!"); - if (systemAuthAdminParam.getRole() > 0 && systemAuthAdminParam.getId() != 1) { - Assert.notNull(iSystemAuthRoleService.detail(systemAuthAdminParam.getRole()), "角色不存在!"); - } + //判断当前参数是否可以小程序登录 + boolean mnpLogin = iSystemAuthRoleService.isMnpLogin(systemAuthAdminParam.getRole()); - SystemAuthAdmin model = new SystemAuthAdmin(); - model.setId(systemAuthAdminParam.getId()); - model.setDeptId(systemAuthAdminParam.getDeptId()); - model.setPostId(systemAuthAdminParam.getPostId()); - model.setNickname(systemAuthAdminParam.getNickname()); - model.setUsername(systemAuthAdminParam.getUsername()); - model.setAvatar(UrlUtil.toRelativeUrl(systemAuthAdminParam.getAvatar())); - model.setRole(systemAuthAdminParam.getId() == 1 ? 0 : systemAuthAdminParam.getRole()); - model.setSort(systemAuthAdminParam.getSort()); - model.setPhone(systemAuthAdminParam.getPhone()); - model.setPlantId(systemAuthAdminParam.getPlantId()); - model.setProvinceId(systemAuthAdminParam.getProvinceId()); - model.setCityId(systemAuthAdminParam.getCityId()); - model.setDistrictId(systemAuthAdminParam.getDistrictId()); - model.setIsMultipoint(systemAuthAdminParam.getIsMultipoint()); - model.setIsDisable(systemAuthAdminParam.getIsDisable()); - model.setUpdateTime(System.currentTimeMillis() / 1000); - model.setSex(systemAuthAdminParam.getSex()); - model.setAge(systemAuthAdminParam.getAge()); - model.setEmail(systemAuthAdminParam.getEmail()); - model.setTechnicalGrade(systemAuthAdminParam.getTechnicalGrade()); - - if (systemAuthAdminParam.getPassword() != null && !systemAuthAdminParam.getPassword().equals("")) { + if (systemAuthAdminParam.getPassword() != null && !systemAuthAdminParam.getPassword().isEmpty()) { if (systemAuthAdminParam.getPassword().length() < 6 || systemAuthAdminParam.getPassword().length() > 20) { throw new OperateException("密码必须在6~20位"); } String salt = ToolsUtil.randomString(5); String pwd = ToolsUtil.makeMd5(systemAuthAdminParam.getPassword().trim() + salt); - model.setPassword(pwd); - model.setSalt(salt); + systemAuthAdmin.setPassword(pwd); + systemAuthAdmin.setSalt(salt); } - systemAuthAdminMapper.updateById(model); + if(systemAuthAdmin.getUserId() != null && !mnpLogin){ + //删除小程序用户 + userMapper.deleteById(systemAuthAdmin.getUserId()); + //删除小程序用户授权 + userAuthMapper.delete(new LambdaQueryWrapper().eq(UserAuth::getUserId,systemAuthAdmin.getUserId())); + systemAuthAdmin.setUserId(null); + }else if(systemAuthAdmin.getUserId() == null && mnpLogin){ + Assert.isNull(userMapper.getUserByPhone(systemAuthAdminParam.getPhone()),"该手机号小程序已被注册"); + + //新增小程序用户 + User user = new User(); + user.setSn(iUserService.randMakeSn()); + user.setType(UserTypeEnum.USER_SIDE.getType()); + user.setAvatar(systemAuthAdminParam.getAvatar()); + user.setNickname(systemAuthAdminParam.getUsername()); + user.setUsername(systemAuthAdminParam.getUsername()); + user.setSex(systemAuthAdminParam.getSex()); + user.setLastLoginTime(System.currentTimeMillis() / 1000); + user.setCreateTime(System.currentTimeMillis() / 1000); + user.setMobile(systemAuthAdminParam.getPhone()); + userMapper.insert(user); + systemAuthAdmin.setUserId(user.getId().longValue()); + }else if(!systemAuthAdminParam.getPhone().equals(systemAuthAdmin.getPhone())){ + User user = userMapper.selectById(systemAuthAdmin.getUserId()); + if(user != null){ + org.springframework.util.Assert.isNull(userMapper.getUserByPhone(systemAuthAdminParam.getPhone()),"该手机号小程序已被注册"); + user.setMobile(systemAuthAdminParam.getPhone()); + userMapper.updateById(user); + } + } + + //更新admin信息 + BeanUtils.copyProperties(systemAuthAdminParam, systemAuthAdmin); + systemAuthAdmin.setUpdateTime(System.currentTimeMillis() / 1000); + systemAuthAdminMapper.updateById(systemAuthAdmin); + this.cacheAdminUserByUid(systemAuthAdminParam.getId()); Integer id = AdminThreadLocal.getAdminId(); diff --git a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthMenuServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthMenuServiceImpl.java index 13c608a..6ade57e 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthMenuServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthMenuServiceImpl.java @@ -42,9 +42,9 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService { * @return JSONArray */ @Override - public JSONArray selectMenuByRoleId(Integer roleId) { + public JSONArray selectMenuByRoleId(String roleId) { Integer adminId = AdminThreadLocal.getAdminId(); - List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleId); + List menuIds = iSystemAuthPermService.selectMenuIdsByRoleIds(roleId); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("menu_type", Arrays.asList("M", "C")); diff --git a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthPermServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthPermServiceImpl.java index f44e1c3..efd2ae5 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthPermServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthPermServiceImpl.java @@ -38,15 +38,15 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService { /** * 根据角色ID获取菜单ID * - * @param roleId 角色ID + * @param roleIds 角色ID * @return List */ @Override - public List selectMenuIdsByRoleId(Integer roleId) { + public List selectMenuIdsByRoleIds(String roleIds) { List menus = new LinkedList<>(); SystemAuthRole systemAuthRole = systemAuthRoleMapper.selectOne(new QueryWrapper() - .eq("id", roleId) + .in("id", Arrays.asList(roleIds.split(","))) .eq("is_disable", 0) .last("limit 1")); @@ -55,7 +55,7 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService { } List systemAuthPerms = systemAuthPermMapper.selectList( - new QueryWrapper().eq("role_id", roleId)); + new QueryWrapper().in("role_id", Arrays.asList(roleIds.split(",")))); for (SystemAuthPerm systemAuthPerm : systemAuthPerms) { menus.add(systemAuthPerm.getMenuId()); } diff --git a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthRoleServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthRoleServiceImpl.java index d7a095e..7e7f616 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthRoleServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthRoleServiceImpl.java @@ -13,6 +13,7 @@ import com.hcy.admin.vo.system.SystemAuthRoleVo; import com.hcy.common.core.PageResult; import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.system.SystemAuthRole; +import com.hcy.common.enums.user.SystemAuthRoleEnum; import com.hcy.common.mapper.system.SystemAuthAdminMapper; import com.hcy.common.mapper.system.SystemAuthRoleMapper; import com.hcy.common.utils.RedisUtil; @@ -47,9 +48,14 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { * @return List */ @Override - public List> all() { + public List> all(Integer isClient) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("id,name,create_time,update_time"); + if(isClient == 0){ + queryWrapper.in("id", Arrays.asList(SystemAuthRoleEnum.KH_CGY.getType(),SystemAuthRoleEnum.KH_ZGRY.getType(), SystemAuthRoleEnum.KH_KFRY.getType())); + }else{ + queryWrapper.notIn("id", Arrays.asList(SystemAuthRoleEnum.KH_CGY.getType(),SystemAuthRoleEnum.KH_ZGRY.getType(), SystemAuthRoleEnum.KH_KFRY.getType())); + } queryWrapper.orderByDesc(Arrays.asList("sort", "id")); List systemAuthRoles = systemAuthRoleMapper.selectList(queryWrapper); @@ -110,9 +116,9 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { * @return SysRole */ @Override - public SystemAuthRoleVo detail(Integer id) { + public SystemAuthRoleVo detail(String id) { SystemAuthRole systemAuthRole = systemAuthRoleMapper.selectOne(new QueryWrapper() - .eq("id", id) + .in("id", Arrays.asList(id.split(","))) .last("limit 1")); Assert.notNull(systemAuthRole, "角色已不存在!"); @@ -124,7 +130,7 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { SystemAuthRoleVo vo = new SystemAuthRoleVo(); BeanUtils.copyProperties(systemAuthRole, vo); vo.setMember(member); - vo.setMenus(iSystemAuthPermService.selectMenuIdsByRoleId(systemAuthRole.getId())); + vo.setMenus(iSystemAuthPermService.selectMenuIdsByRoleIds(String.valueOf(systemAuthRole.getId()))); vo.setCreateTime(TimeUtil.timestampToDate(systemAuthRole.getCreateTime())); vo.setUpdateTime(TimeUtil.timestampToDate(systemAuthRole.getUpdateTime())); @@ -147,6 +153,7 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { SystemAuthRole model = new SystemAuthRole(); model.setName(systemAuthRoleParam.getName().trim()); + model.setIsMnpLogin(Integer.parseInt(SystemAuthRoleEnum.CAN_LOGIN.getType())); model.setRemark(systemAuthRoleParam.getRemark()); model.setSort(systemAuthRoleParam.getSort()); model.setIsDisable(systemAuthRoleParam.getIsDisable()); @@ -217,4 +224,24 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { RedisUtil.hDel(AdminConfig.backstageRolesKey, String.valueOf(id)); } + + /** + * 判断当前角色是否可以小程序登录 + * @param role 角色id + * @return boolean true:可以 false:不可以 + */ + @Override + public boolean isMnpLogin(String role){ + List systemAuthRoleList = systemAuthRoleMapper.findSystemAuthRoleListByIds(role); + Assert.isFalse(systemAuthRoleList.isEmpty(),"角色不存在"); + //是否可以小程序登录 + boolean isMnpLogin = false; + for (SystemAuthRole item : systemAuthRoleList) { + Assert.isTrue(item.getIsDisable() <= 0, "选择的角色已被禁用!"); + if(item.getIsMnpLogin().equals(Integer.valueOf(SystemAuthRoleEnum.CAN_LOGIN.getType()))){ + isMnpLogin = true; + } + } + return isMnpLogin; + } } diff --git a/admin/src/main/java/com/hcy/admin/service/user/IUserService.java b/admin/src/main/java/com/hcy/admin/service/user/IUserService.java index f6b438c..7aa3892 100644 --- a/admin/src/main/java/com/hcy/admin/service/user/IUserService.java +++ b/admin/src/main/java/com/hcy/admin/service/user/IUserService.java @@ -57,4 +57,10 @@ public interface IUserService { * 获取未绑定师傅的用户信息 */ PageResult getNotBindingStaffUser(PageParam pageParam, Map params); + + /** + * 获取随机sn + * @return sn + */ + Integer randMakeSn(); } diff --git a/admin/src/main/java/com/hcy/admin/service/user/impl/UserServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/user/impl/UserServiceImpl.java index 5262f47..ae1ea3d 100644 --- a/admin/src/main/java/com/hcy/admin/service/user/impl/UserServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/user/impl/UserServiceImpl.java @@ -23,6 +23,7 @@ import com.hcy.common.mapper.group.DistributeGroupMapper; import com.hcy.common.mapper.user.UserMapper; import com.hcy.common.utils.StringUtil; import com.hcy.common.utils.TimeUtil; +import com.hcy.common.utils.ToolsUtil; import com.hcy.common.utils.UrlUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; @@ -401,4 +402,20 @@ public class UserServiceImpl implements IUserService { return PageResult.iPageHandle(resultDtoPage.getTotal(), resultDtoPage.getCurrent(), resultDtoPage.getSize(), userVoList); } + @Override + public Integer randMakeSn() { + Integer sn; + while (true) { + sn = Integer.parseInt(ToolsUtil.randomInt(8)); + User snModel = userMapper.selectOne(new QueryWrapper() + .select("id,sn,username") + .eq("sn", sn) + .last("limit 1")); + if (snModel == null) { + break; + } + } + return sn; + } + } diff --git a/admin/src/main/java/com/hcy/admin/validate/client/ClientContactsParam.java b/admin/src/main/java/com/hcy/admin/validate/client/ClientContactsParam.java index 1821fc8..bdd9839 100644 --- a/admin/src/main/java/com/hcy/admin/validate/client/ClientContactsParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/client/ClientContactsParam.java @@ -78,5 +78,5 @@ public class ClientContactsParam implements Serializable { * 角色 */ @NotNull(message = "role参数缺失", groups = {create.class, update.class}) - private Integer role; + private String role; } diff --git a/admin/src/main/java/com/hcy/admin/validate/fault/FaultParam.java b/admin/src/main/java/com/hcy/admin/validate/fault/FaultParam.java index d57abda..947cc6a 100644 --- a/admin/src/main/java/com/hcy/admin/validate/fault/FaultParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/fault/FaultParam.java @@ -24,24 +24,14 @@ public class FaultParam implements Serializable { private Long id; - @NotNull(message = "faultType参数缺失", groups = {create.class, update.class}) - @DecimalMin(value = "0", message = "faultType参数值不能少于0", groups = {create.class, update.class}) private Long faultType; - @NotNull(message = "sort参数缺失", groups = {create.class, update.class}) - @DecimalMin(value = "0", message = "sort参数值不能少于0", groups = {create.class, update.class}) private Long sort; - @NotNull(message = "name参数缺失", groups = {create.class, update.class}) - @Length(max = 50, message = "name参数不能超出50个字符", groups = {create.class, update.class}) private String name; - @NotNull(message = "description参数缺失", groups = {create.class, update.class}) - @Length(max = 250, message = "description参数不能超出250个字符", groups = {create.class, update.class}) private String description; - @NotNull(message = "status参数缺失", groups = {create.class, update.class}) - @DecimalMin(value = "0", message = "status参数值不能少于0", groups = {create.class, update.class}) private Integer status; } diff --git a/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java b/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java index 03bdd7b..87994b3 100644 --- a/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java @@ -32,8 +32,7 @@ public class SystemAuthAdminParam implements Serializable { private Integer id; @NotNull(message = "请选择角色", groups = {create.class, update.class}) - @Min(value = 0, message = "role参数异常", groups = {create.class, update.class}) - private Integer role; + private String role; @NotEmpty(message = "账号不能为空", groups = {create.class, update.class}) @Length(min = 2, max = 20, message = "账号必须在2~20个字符内", groups = {create.class, update.class}) diff --git a/admin/src/main/java/com/hcy/admin/vo/client/ClientContactsDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/client/ClientContactsDetailVo.java index 22a516e..b299db2 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/ClientContactsDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/ClientContactsDetailVo.java @@ -38,5 +38,5 @@ public class ClientContactsDetailVo implements Serializable { /** * 角色 */ - private Integer role; + private String role; } diff --git a/admin/src/main/java/com/hcy/admin/vo/fault/FaultListVo.java b/admin/src/main/java/com/hcy/admin/vo/fault/FaultListVo.java index 87341f7..0c157b3 100644 --- a/admin/src/main/java/com/hcy/admin/vo/fault/FaultListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/fault/FaultListVo.java @@ -20,5 +20,6 @@ public class FaultListVo implements Serializable { private String description; // 故障描述 private Integer status; // 状态 0-正常 1-停用 private Date createTime; // 创建时间 + private Date updateTime; // 更新时间 } diff --git a/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthRoleVo.java b/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthRoleVo.java index b3b1700..139a1da 100644 --- a/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthRoleVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthRoleVo.java @@ -14,6 +14,7 @@ public class SystemAuthRoleVo implements Serializable { private Integer id; // 主键 private String name; // 角色名称 + private Integer isMnpLogin; // 是否小程序登录 0-可以 1-不可以 private String remark; // 角色备注 private Object menus; // 关联菜单 private Integer member; // 成员数量 diff --git a/common/src/main/java/com/hcy/common/dto/SystemAuthAdminDto.java b/common/src/main/java/com/hcy/common/dto/SystemAuthAdminDto.java new file mode 100644 index 0000000..083da63 --- /dev/null +++ b/common/src/main/java/com/hcy/common/dto/SystemAuthAdminDto.java @@ -0,0 +1,40 @@ +package com.hcy.common.dto; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class SystemAuthAdminDto implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; // 主键 + private Integer deptId; // 部门ID + private Integer postId; // 岗位ID + private String username; // 账号 + private String nickname; // 昵称 + private String avatar; // 头像 + private String dept; // 部门 + private String role; // 角色 + private String phone; // 联系电话 + private Integer plantId; // 管辖工厂 + private Long provinceId; //省id + private Long cityId; //市id + private Long districtId; //区id + private String province; //省 + private String city; //市 + private String district; //区 + private Integer isMultipoint; // 多端登录: [0=否, 1=是] + private Integer isDisable; // 是否禁用: [0=否, 1=是] + private String lastLoginIp; // 最后登录IP + private String lastLoginTime; // 最后登录时间 + private String createTime; // 创建时间 + private String updateTime; // 更新时间 + + private String plantName; //工厂名 + private Integer sex; // 性别 0-男 1-女 + private Integer age; // 年龄 + private String email; // 邮箱 + private String technicalGrade; // 技术等级 +} diff --git a/common/src/main/java/com/hcy/common/entity/client/ClientContacts.java b/common/src/main/java/com/hcy/common/entity/client/ClientContacts.java index 2f74d61..c6c6ae5 100644 --- a/common/src/main/java/com/hcy/common/entity/client/ClientContacts.java +++ b/common/src/main/java/com/hcy/common/entity/client/ClientContacts.java @@ -1,6 +1,8 @@ package com.hcy.common.entity.client; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; @@ -18,6 +20,7 @@ public class ClientContacts implements Serializable { @TableId(value="id", type= IdType.AUTO) private Long id; // id private Long clientId; // 客户id + @TableField(updateStrategy = FieldStrategy.IGNORED) private Long userId; // 用户id private Long adminId; //后台id private String name; // 姓名 diff --git a/common/src/main/java/com/hcy/common/entity/fault/Fault.java b/common/src/main/java/com/hcy/common/entity/fault/Fault.java index 6565dd3..3571bd6 100644 --- a/common/src/main/java/com/hcy/common/entity/fault/Fault.java +++ b/common/src/main/java/com/hcy/common/entity/fault/Fault.java @@ -17,12 +17,13 @@ public class Fault implements Serializable { @TableId(value="id", type= IdType.AUTO) private Long id; // id - private Long faultType; // 问题类型 1-常见问题 2-常见维修结论描述 + private Long faultType; // 问题类型 0-常见问题 1-常见检修结论描述 2-常见维修结论描述 3-报废类型管理 private Long sort; // 序号 private String name; // 故障名称 private String description; // 故障描述 private Integer status; // 状态 0-正常 1-停用 private Date createTime; // 创建时间 + private Date updateTime; //更新时间 private Integer isDelete; // 是否删除 0-未删除 1-删除 } \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java b/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java index 3323bd9..cf7b990 100644 --- a/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java +++ b/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java @@ -1,6 +1,8 @@ package com.hcy.common.entity.system; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; @@ -22,8 +24,8 @@ public class SystemAuthAdmin implements Serializable { private String username; // 用户昵称 private String password; // 用户密码 private String avatar; // 用户头像 - private String salt; // 角色主键 - private Integer role; // 加密盐巴 + private String salt; // 加密盐巴 + private String role; // 角色主键 private Integer sort; // 排序编号 private String phone; // 联系电话 private Integer plantId; // 管辖工厂 @@ -42,4 +44,6 @@ public class SystemAuthAdmin implements Serializable { private Integer age; // 年龄 private String email; // 邮箱 private String technicalGrade; // 技术等级 + @TableField(updateStrategy = FieldStrategy.IGNORED) + private Long userId; //用户id } diff --git a/common/src/main/java/com/hcy/common/entity/system/SystemAuthRole.java b/common/src/main/java/com/hcy/common/entity/system/SystemAuthRole.java index a65a76e..e5ae662 100644 --- a/common/src/main/java/com/hcy/common/entity/system/SystemAuthRole.java +++ b/common/src/main/java/com/hcy/common/entity/system/SystemAuthRole.java @@ -17,6 +17,7 @@ public class SystemAuthRole implements Serializable { @TableId(value="id", type= IdType.AUTO) private Integer id; // 主键 private String name; // 角色名称 + private Integer isMnpLogin; // 是否小程序登录 0-可以 1-不可以 private String remark; // 备注信息 private Integer sort; // 角色排序 private Integer isDisable; // 是否禁用: [0=否, 1=是] diff --git a/common/src/main/java/com/hcy/common/enums/user/SystemAuthRoleEnum.java b/common/src/main/java/com/hcy/common/enums/user/SystemAuthRoleEnum.java new file mode 100644 index 0000000..0719418 --- /dev/null +++ b/common/src/main/java/com/hcy/common/enums/user/SystemAuthRoleEnum.java @@ -0,0 +1,62 @@ +package com.hcy.common.enums.user; + +import com.google.common.collect.Maps; + +import java.util.Map; + +/** + * 用户角色枚举 + */ +public enum SystemAuthRoleEnum { + + KH_ZGRY("1", "客户-主管人员"), + KH_KFRY("2", "客户-客服人员"), + PT_GLY("3", "平台-管理员"), + PT_KFRY("4", "平台-客服人员"), + CK_WLCGY("5", "仓库-物料仓管员"), + JX_XCJXY("6", "检修-现场检修员"), + WX_CNWXY("7", "维修-厂内维修员"), + YW_YWZG("8", "业务-业务主管"), + YW_YWY("9", "业务-业务员"), + CN_WXZG("10","厂内-维修主管"), + KH_CGY("11","客户-采购员"), + + CAN_LOGIN("0","可以登录"), + NOT_LOGIN("1","禁止登录"); + + private final String type; + private final String desc; + + SystemAuthRoleEnum(String type, String desc) { + this.type = type; + this.desc = desc; + } + + /** + * 获取状态码 + * + * @return int + * @author dabin + */ + public String getType() { + return this.type; + } + + /** + * 获取提示 + * + * @return String + * @author dabin + */ + public String getDesc() { + return this.desc; + } + + public static Map getMap() { + Map map = Maps.newHashMap(); + for (SystemAuthRoleEnum userRoleEnum : SystemAuthRoleEnum.values()) { + map.put(userRoleEnum.type, userRoleEnum.desc); + } + return map; + } +} diff --git a/common/src/main/java/com/hcy/common/enums/user/UserRoleEnum.java b/common/src/main/java/com/hcy/common/enums/user/UserRoleEnum.java deleted file mode 100644 index a258ca0..0000000 --- a/common/src/main/java/com/hcy/common/enums/user/UserRoleEnum.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hcy.common.enums.user; - -import com.google.common.collect.Maps; - -import java.util.Map; - -/** - * 用户角色枚举 - */ -public enum UserRoleEnum { - - KH_ZGRY(1, "客户-主管人员"), - KH_KFRY(2, "客户-客服人员"), - PT_GLY(3, "平台-管理员"), - PT_KFRY(4, "平台-客服人员"), - CK_WLCGY(5, "仓库-物料仓管员"), - JX_XCJXY(6, "检修-现场检修员"), - WX_CNWXY(7, "维修-厂内维修员"), - YW_YWZG(8, "业务-业务主管"), - YW_YWY(9, "业务-业务员"), - CN_WXZG(10,"厂内-维修主管"), - KH_CGY(11,"客户-采购员"); - - private final int code; - private final String desc; - - UserRoleEnum(int code, String desc) { - this.code = code; - this.desc = desc; - } - - /** - * 获取状态码 - * - * @return int - * @author dabin - */ - public int getType() { - return this.code; - } - - /** - * 获取提示 - * - * @return String - * @author dabin - */ - public String getDesc() { - return this.desc; - } - - public static Map getMap() { - Map map = Maps.newHashMap(); - for (UserRoleEnum userRoleEnum : UserRoleEnum.values()) { - map.put(userRoleEnum.code, userRoleEnum.desc); - } - return map; - } -} diff --git a/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java b/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java index cc71ce1..6893ad9 100644 --- a/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/system/SystemAuthAdminMapper.java @@ -1,12 +1,17 @@ package com.hcy.common.mapper.system; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hcy.common.core.basics.IBaseMapper; +import com.hcy.common.dto.SystemAuthAdminDto; import com.hcy.common.entity.system.SystemAuthAdmin; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 系统管理员Mapper */ @Mapper public interface SystemAuthAdminMapper extends IBaseMapper { + + Page list(Page page, @Param("param") SystemAuthAdminDto param); } diff --git a/common/src/main/java/com/hcy/common/mapper/system/SystemAuthRoleMapper.java b/common/src/main/java/com/hcy/common/mapper/system/SystemAuthRoleMapper.java index a01edec..9910f38 100644 --- a/common/src/main/java/com/hcy/common/mapper/system/SystemAuthRoleMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/system/SystemAuthRoleMapper.java @@ -3,10 +3,17 @@ package com.hcy.common.mapper.system; import com.hcy.common.core.basics.IBaseMapper; import com.hcy.common.entity.system.SystemAuthRole; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 系统角色Mapper */ @Mapper public interface SystemAuthRoleMapper extends IBaseMapper { + + @Select("select * from la_system_auth_role where find_in_set(id,#{ids})") + List findSystemAuthRoleListByIds(@Param("ids") String ids); } diff --git a/common/src/main/java/com/hcy/common/mapper/user/UserMapper.java b/common/src/main/java/com/hcy/common/mapper/user/UserMapper.java index 38cd5c5..0d3e10b 100644 --- a/common/src/main/java/com/hcy/common/mapper/user/UserMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/user/UserMapper.java @@ -28,4 +28,12 @@ public interface UserMapper extends IBaseMapper { @Select("select * from la_user where type = 0 and is_delete = 0") List queryUserTypeList(); + + /** + * 根据手机号码获取用户信息 + * @param phone 手机号 + * @return 用户信息 + */ + @Select("select * from la_user where mobile = #{phone}") + User getUserByPhone(@Param("phone") String phone); } diff --git a/common/src/main/resources/mapper/SystemAuthAdminMapper.xml b/common/src/main/resources/mapper/SystemAuthAdminMapper.xml new file mode 100644 index 0000000..0b18656 --- /dev/null +++ b/common/src/main/resources/mapper/SystemAuthAdminMapper.xml @@ -0,0 +1,42 @@ + + + + + + diff --git a/common/target/classes/mapper/SystemAuthAdminMapper.xml b/common/target/classes/mapper/SystemAuthAdminMapper.xml new file mode 100644 index 0000000..0b18656 --- /dev/null +++ b/common/target/classes/mapper/SystemAuthAdminMapper.xml @@ -0,0 +1,42 @@ + + + + + + diff --git a/front/src/main/java/com/hcy/front/service/impl/LoginServiceImpl.java b/front/src/main/java/com/hcy/front/service/impl/LoginServiceImpl.java index eca5ff5..871e052 100644 --- a/front/src/main/java/com/hcy/front/service/impl/LoginServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/impl/LoginServiceImpl.java @@ -47,6 +47,7 @@ import me.chanjar.weixin.mp.bean.result.WxMpUser; import me.chanjar.weixin.mp.bean.result.WxMpUserList; import me.chanjar.weixin.mp.config.WxMpConfigStorage; import me.chanjar.weixin.mp.config.impl.WxMpMapConfigImpl; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; @@ -162,8 +163,8 @@ public class LoginServiceImpl implements ILoginService { userAuthMapper.insert(auth); }else{ // 更新微信标识 - if (StringUtil.isEmpty(userAuth.getUnionid()) && StringUtil.isNotEmpty(sessionResult.getUnionid())) { - userAuth.setUnionid(sessionResult.getUnionid()); + if (StringUtils.isNotEmpty(openId)) { + userAuth.setOpenid(openId); userAuthMapper.updateById(userAuth); } diff --git a/front/src/main/java/com/hcy/front/service/impl/UserServiceImpl.java b/front/src/main/java/com/hcy/front/service/impl/UserServiceImpl.java index ac96d6b..a5c5122 100644 --- a/front/src/main/java/com/hcy/front/service/impl/UserServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/impl/UserServiceImpl.java @@ -10,14 +10,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.hcy.common.config.GlobalConfig; import com.hcy.common.constant.GlobalConstant; +import com.hcy.common.entity.client.ClientContacts; import com.hcy.common.entity.distribution.Distributor; import com.hcy.common.entity.staff.Staff; +import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.user.User; import com.hcy.common.entity.user.UserAuth; import com.hcy.common.enums.NoticeEnum; import com.hcy.common.exception.OperateException; +import com.hcy.common.mapper.client.ClientContactsMapper; import com.hcy.common.mapper.distribution.DistributorMapper; import com.hcy.common.mapper.staff.StaffMapper; +import com.hcy.common.mapper.system.SystemAuthAdminMapper; import com.hcy.common.mapper.user.UserAuthMapper; import com.hcy.common.mapper.user.UserMapper; import com.hcy.common.utils.*; @@ -50,10 +54,13 @@ public class UserServiceImpl extends ServiceImpl implements IU UserAuthMapper userAuthMapper; @Resource - private StaffMapper staffMapper; + DistributorMapper distributorMapper; @Resource - DistributorMapper distributorMapper; + ClientContactsMapper clientContactsMapper; + + @Resource + SystemAuthAdminMapper systemAuthAdminMapper; /** * 个人中心 @@ -75,8 +82,8 @@ public class UserServiceImpl extends ServiceImpl implements IU UserCenterVo vo = new UserCenterVo(); BeanUtils.copyProperties(user, vo); - vo.setBindMnp(userAuth != null); - if (user.getAvatar().equals("")) { + + if (user.getAvatar().isEmpty()) { String avatar = ConfigUtil.get("user", "defaultAvatar", ""); vo.setAvatar(UrlUtil.toAbsoluteUrl(avatar)); }else if(user.getAvatar().contains("byteacctimg")){ @@ -84,22 +91,29 @@ public class UserServiceImpl extends ServiceImpl implements IU }else{ vo.setAvatar(UrlUtil.toAbsoluteUrl(user.getAvatar())); } - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(Staff::getUserId, user.getId()); - lambdaQueryWrapper.eq(Staff::getIsDelete, 0); - lambdaQueryWrapper.last("limit 1"); - Staff staff = staffMapper.selectOne(lambdaQueryWrapper); - if (staff != null) { - vo.setStaff(Boolean.TRUE); - vo.setStaffId(staff.getId()); + + //设置客户id + ClientContacts clientContacts = clientContactsMapper.selectOne(new LambdaQueryWrapper() + .eq(ClientContacts::getIsDelete, GlobalConstant.NOT_DELETE) + .eq(ClientContacts::getUserId, userId) + .last("limit 1")); + if(clientContacts != null){ + vo.setClientId(clientContacts.getClientId()); } - QueryWrapper distributorQueryWrapper = new QueryWrapper<>(); - distributorQueryWrapper.eq("is_delete", GlobalConstant.NOT_DELETE); - distributorQueryWrapper.eq("user_id",vo.getId()); - Distributor distributor = distributorMapper.selectOne(distributorQueryWrapper); - if(distributor != null){ - vo.setDistributorId(distributor.getId()); + //设置角色id + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(SystemAuthAdmin::getIsDelete, GlobalConstant.NOT_DELETE) + .last("limit 1"); + if(clientContacts != null && clientContacts.getAdminId() != null){ + queryWrapper.eq(SystemAuthAdmin::getUserId, clientContacts.getAdminId()); + }else{ + queryWrapper.eq(SystemAuthAdmin::getUserId, userId); + } + + SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.selectOne(queryWrapper); + if(systemAuthAdmin != null){ + vo.setRoleId(systemAuthAdmin.getRole()); } return vo; diff --git a/front/src/main/java/com/hcy/front/vo/user/UserCenterVo.java b/front/src/main/java/com/hcy/front/vo/user/UserCenterVo.java index ad7f8bd..682245f 100644 --- a/front/src/main/java/com/hcy/front/vo/user/UserCenterVo.java +++ b/front/src/main/java/com/hcy/front/vo/user/UserCenterVo.java @@ -19,9 +19,7 @@ public class UserCenterVo implements Serializable { private String nickname; private String username; private String mobile; - private boolean isStaff; - private boolean isBindMnp; - private Long distributorId; - private Long staffId; + private String roleId; //角色id + private Long clientId; //客户id }