【admin】1.优化联系人和用户登录逻辑 2.优化问题管理为一张表 3.系统适配多角色
parent
b8743373c3
commit
cf7f1e3178
|
@ -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<String> list = Arrays.asList(adminMenus.split(","));
|
||||
if(!list.isEmpty() && list.contains(auths) && !Arrays.asList(menus.split(",")).contains(auths)){
|
||||
List<String> 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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
|
@ -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<FaultListVo> list = iFaultService.list(pageParam, faultParam);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
||||
|
|
|
@ -33,8 +33,7 @@ public class AuthAdminController {
|
|||
* @return Object
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public Object list(@Validated PageParam pageParam,
|
||||
@RequestParam Map<String, String> params) {
|
||||
public Object list(@Validated PageParam pageParam, SystemAuthAdminParam params){
|
||||
PageResult<SystemAuthAdminVo> list = iSystemAuthAdminService.list(pageParam, params);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -32,8 +32,8 @@ public class AuthRoleController {
|
|||
* @return Object
|
||||
*/
|
||||
@GetMapping("/all")
|
||||
public Object all() {
|
||||
List<Map<String, Object>> list = iSystemAuthRoleService.all();
|
||||
public Object all(@RequestParam("isClient") Integer isClient) {
|
||||
List<Map<String, Object>> 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);
|
||||
}
|
||||
|
|
|
@ -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<User>()
|
||||
.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<ClientContacts>()
|
||||
|
@ -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<UserAuth>().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<SystemAuthAdmin>()
|
||||
.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<User>()
|
||||
.select("id,sn,username")
|
||||
.eq("sn", sn)
|
||||
.last("limit 1"));
|
||||
if (snModel == null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return sn;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -48,11 +48,13 @@ public class FaultServiceImpl implements IFaultService {
|
|||
|
||||
Long faultType = faultParam.getFaultType();
|
||||
String name = faultParam.getName();
|
||||
Integer status = faultParam.getStatus();
|
||||
|
||||
LambdaQueryWrapper<Fault> wrapper = new LambdaQueryWrapper<Fault>()
|
||||
.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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -31,7 +31,7 @@ public interface ISystemAuthAdminService {
|
|||
* @param pageParam 分页参数
|
||||
* @return PageResult<SysAdminListVo>
|
||||
*/
|
||||
PageResult<SystemAuthAdminVo> list(PageParam pageParam, Map<String, String> params);
|
||||
PageResult<SystemAuthAdminVo> list(PageParam pageParam, SystemAuthAdminParam param);
|
||||
|
||||
/**
|
||||
* 当前管理员
|
||||
|
|
|
@ -15,7 +15,7 @@ public interface ISystemAuthMenuService {
|
|||
* @author fzr
|
||||
* @return JSONArray
|
||||
*/
|
||||
JSONArray selectMenuByRoleId(Integer roleId);
|
||||
JSONArray selectMenuByRoleId(String roleId);
|
||||
|
||||
/**
|
||||
* 菜单列表
|
||||
|
|
|
@ -10,10 +10,10 @@ public interface ISystemAuthPermService {
|
|||
/**
|
||||
* 根据角色ID获取菜单ID
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @param roleIds 角色ID
|
||||
* @return List<Integer>
|
||||
*/
|
||||
List<Integer> selectMenuIdsByRoleId(Integer roleId);
|
||||
List<Integer> selectMenuIdsByRoleIds(String roleIds);
|
||||
|
||||
/**
|
||||
* 批量写入角色菜单
|
||||
|
|
|
@ -20,7 +20,7 @@ public interface ISystemAuthRoleService {
|
|||
* @author fzr
|
||||
* @return List<SystemAuthRoleVo>
|
||||
*/
|
||||
List<Map<String, Object>> all();
|
||||
List<Map<String, Object>> 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);
|
||||
}
|
||||
|
|
|
@ -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<SystemAuthAdminVo> list(PageParam pageParam, Map<String, String> params) {
|
||||
public PageResult<SystemAuthAdminVo> list(PageParam pageParam, SystemAuthAdminParam param) {
|
||||
Integer page = pageParam.getPageNo();
|
||||
Integer limit = pageParam.getPageSize();
|
||||
|
||||
MPJQueryWrapper<SystemAuthAdmin> 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<SystemAuthAdminVo> iPage = systemAuthAdminMapper.selectJoinPage(
|
||||
new Page<>(page, limit),
|
||||
SystemAuthAdminVo.class,
|
||||
mpjQueryWrapper);
|
||||
IPage<SystemAuthAdminDto> iPage = systemAuthAdminMapper.list(new Page<>(page, limit), systemAuthAdminDto);
|
||||
long total = 0;
|
||||
List<SystemAuthAdminVo> 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<Plant>()
|
||||
.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<String> auths = new LinkedList<>();
|
||||
if (adminId > 1) {
|
||||
List<Integer> menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(sysAdmin.getRole());
|
||||
List<Integer> menuIds = iSystemAuthPermService.selectMenuIdsByRoleIds(sysAdmin.getRole());
|
||||
if (menuIds.size() > 0) {
|
||||
List<SystemAuthMenu> systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper<SystemAuthMenu>()
|
||||
.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<SystemAuthAdmin>()
|
||||
|
@ -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<SystemAuthAdmin>()
|
||||
.select(field)
|
||||
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.selectOne(new QueryWrapper<SystemAuthAdmin>()
|
||||
.eq("id", systemAuthAdminParam.getId())
|
||||
.eq("is_delete", 0)
|
||||
.last("limit 1")), "账号不存在了!");
|
||||
.last("limit 1"));
|
||||
|
||||
Assert.notNull(systemAuthAdmin, "账号不存在了!");
|
||||
|
||||
Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper<SystemAuthAdmin>()
|
||||
.select(field)
|
||||
.eq("is_delete", 0)
|
||||
.eq("username", systemAuthAdminParam.getUsername())
|
||||
.ne("id", systemAuthAdminParam.getId())
|
||||
.last("limit 1")), "账号已存在换一个吧!");
|
||||
|
||||
Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper<SystemAuthAdmin>()
|
||||
.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<UserAuth>().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();
|
||||
|
|
|
@ -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<Integer> menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleId);
|
||||
List<Integer> menuIds = iSystemAuthPermService.selectMenuIdsByRoleIds(roleId);
|
||||
|
||||
QueryWrapper<SystemAuthMenu> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("menu_type", Arrays.asList("M", "C"));
|
||||
|
|
|
@ -38,15 +38,15 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService {
|
|||
/**
|
||||
* 根据角色ID获取菜单ID
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @param roleIds 角色ID
|
||||
* @return List<Integer>
|
||||
*/
|
||||
@Override
|
||||
public List<Integer> selectMenuIdsByRoleId(Integer roleId) {
|
||||
public List<Integer> selectMenuIdsByRoleIds(String roleIds) {
|
||||
List<Integer> menus = new LinkedList<>();
|
||||
|
||||
SystemAuthRole systemAuthRole = systemAuthRoleMapper.selectOne(new QueryWrapper<SystemAuthRole>()
|
||||
.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<SystemAuthPerm> systemAuthPerms = systemAuthPermMapper.selectList(
|
||||
new QueryWrapper<SystemAuthPerm>().eq("role_id", roleId));
|
||||
new QueryWrapper<SystemAuthPerm>().in("role_id", Arrays.asList(roleIds.split(","))));
|
||||
for (SystemAuthPerm systemAuthPerm : systemAuthPerms) {
|
||||
menus.add(systemAuthPerm.getMenuId());
|
||||
}
|
||||
|
|
|
@ -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<SystemAuthRoleVo>
|
||||
*/
|
||||
@Override
|
||||
public List<Map<String, Object>> all() {
|
||||
public List<Map<String, Object>> all(Integer isClient) {
|
||||
QueryWrapper<SystemAuthRole> 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<SystemAuthRole> 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<SystemAuthRole>()
|
||||
.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<SystemAuthRole> 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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,4 +57,10 @@ public interface IUserService {
|
|||
* 获取未绑定师傅的用户信息
|
||||
*/
|
||||
PageResult<UserVo> getNotBindingStaffUser(PageParam pageParam, Map<String, String> params);
|
||||
|
||||
/**
|
||||
* 获取随机sn
|
||||
* @return sn
|
||||
*/
|
||||
Integer randMakeSn();
|
||||
}
|
||||
|
|
|
@ -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<User>()
|
||||
.select("id,sn,username")
|
||||
.eq("sn", sn)
|
||||
.last("limit 1"));
|
||||
if (snModel == null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return sn;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -78,5 +78,5 @@ public class ClientContactsParam implements Serializable {
|
|||
* 角色
|
||||
*/
|
||||
@NotNull(message = "role参数缺失", groups = {create.class, update.class})
|
||||
private Integer role;
|
||||
private String role;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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})
|
||||
|
|
|
@ -38,5 +38,5 @@ public class ClientContactsDetailVo implements Serializable {
|
|||
/**
|
||||
* 角色
|
||||
*/
|
||||
private Integer role;
|
||||
private String role;
|
||||
}
|
||||
|
|
|
@ -20,5 +20,6 @@ public class FaultListVo implements Serializable {
|
|||
private String description; // 故障描述
|
||||
private Integer status; // 状态 0-正常 1-停用
|
||||
private Date createTime; // 创建时间
|
||||
private Date updateTime; // 更新时间
|
||||
|
||||
}
|
||||
|
|
|
@ -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; // 成员数量
|
||||
|
|
|
@ -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; // 技术等级
|
||||
}
|
|
@ -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; // 姓名
|
||||
|
|
|
@ -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-删除
|
||||
|
||||
}
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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=是]
|
||||
|
|
|
@ -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<String, String> getMap() {
|
||||
Map<String, String> map = Maps.newHashMap();
|
||||
for (SystemAuthRoleEnum userRoleEnum : SystemAuthRoleEnum.values()) {
|
||||
map.put(userRoleEnum.type, userRoleEnum.desc);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
|
@ -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<Integer, String> getMap() {
|
||||
Map<Integer, String> map = Maps.newHashMap();
|
||||
for (UserRoleEnum userRoleEnum : UserRoleEnum.values()) {
|
||||
map.put(userRoleEnum.code, userRoleEnum.desc);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
|
@ -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<SystemAuthAdmin> {
|
||||
|
||||
Page<SystemAuthAdminDto> list(Page page, @Param("param") SystemAuthAdminDto param);
|
||||
}
|
||||
|
|
|
@ -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<SystemAuthRole> {
|
||||
|
||||
@Select("select * from la_system_auth_role where find_in_set(id,#{ids})")
|
||||
List<SystemAuthRole> findSystemAuthRoleListByIds(@Param("ids") String ids);
|
||||
}
|
||||
|
|
|
@ -28,4 +28,12 @@ public interface UserMapper extends IBaseMapper<User> {
|
|||
|
||||
@Select("select * from la_user where type = 0 and is_delete = 0")
|
||||
List<User> queryUserTypeList();
|
||||
|
||||
/**
|
||||
* 根据手机号码获取用户信息
|
||||
* @param phone 手机号
|
||||
* @return 用户信息
|
||||
*/
|
||||
@Select("select * from la_user where mobile = #{phone}")
|
||||
User getUserByPhone(@Param("phone") String phone);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hcy.common.mapper.system.SystemAuthAdminMapper">
|
||||
|
||||
<select id="list" resultType="com.hcy.common.dto.SystemAuthAdminDto">
|
||||
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
|
||||
FROM
|
||||
la_system_auth_admin t
|
||||
LEFT JOIN la_system_auth_role sr ON sr.id = t.role
|
||||
LEFT JOIN la_system_auth_dept sd ON sd.id = t.dept_id
|
||||
<where>
|
||||
t.is_delete = 0
|
||||
and sr.id NOT IN ( 1, 2, 11 )
|
||||
<if test="param.role != null and param.role != ''">
|
||||
and FIND_IN_SET(#{param.role},t.role)
|
||||
</if>
|
||||
<if test="param.username != null and param.username != ''">
|
||||
and t.username like concat('%',#{param.username},'%')
|
||||
</if>
|
||||
<if test="param.nickname != null and param.nickname != ''">
|
||||
and t.nickname like concat('%',#{param.nickname},'%')
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
t.id DESC,
|
||||
t.sort DESC
|
||||
</select>
|
||||
</mapper>
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hcy.common.mapper.system.SystemAuthAdminMapper">
|
||||
|
||||
<select id="list" resultType="com.hcy.common.dto.SystemAuthAdminDto">
|
||||
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
|
||||
FROM
|
||||
la_system_auth_admin t
|
||||
LEFT JOIN la_system_auth_role sr ON sr.id = t.role
|
||||
LEFT JOIN la_system_auth_dept sd ON sd.id = t.dept_id
|
||||
<where>
|
||||
t.is_delete = 0
|
||||
and sr.id NOT IN ( 1, 2, 11 )
|
||||
<if test="param.role != null and param.role != ''">
|
||||
and FIND_IN_SET(#{param.role},t.role)
|
||||
</if>
|
||||
<if test="param.username != null and param.username != ''">
|
||||
and t.username like concat('%',#{param.username},'%')
|
||||
</if>
|
||||
<if test="param.nickname != null and param.nickname != ''">
|
||||
and t.nickname like concat('%',#{param.nickname},'%')
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
t.id DESC,
|
||||
t.sort DESC
|
||||
</select>
|
||||
</mapper>
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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<UserMapper, User> 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<UserMapper, User> 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<UserMapper, User> implements IU
|
|||
}else{
|
||||
vo.setAvatar(UrlUtil.toAbsoluteUrl(user.getAvatar()));
|
||||
}
|
||||
LambdaQueryWrapper<Staff> 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<ClientContacts>()
|
||||
.eq(ClientContacts::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||
.eq(ClientContacts::getUserId, userId)
|
||||
.last("limit 1"));
|
||||
if(clientContacts != null){
|
||||
vo.setClientId(clientContacts.getClientId());
|
||||
}
|
||||
|
||||
QueryWrapper<Distributor> 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<SystemAuthAdmin> queryWrapper = new LambdaQueryWrapper<SystemAuthAdmin>()
|
||||
.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;
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue