diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java index 23e04e4f9a..ab79c52b24 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java @@ -124,29 +124,35 @@ public class LoginServiceImpl implements LoginService { * @since 2020/3/14 19:34 */ private String getUserId(LoginByWxCodeFormDTO formDTO, WxMaJscode2SessionResult wxMaJscode2SessionResult) { - WxLoginUserInfoFormDTO wxLoginUserInfoFormDTO=new WxLoginUserInfoFormDTO(); + WxLoginUserInfoFormDTO wxLoginUserInfoFormDTO = new WxLoginUserInfoFormDTO(); wxLoginUserInfoFormDTO.setApp(formDTO.getApp()); wxLoginUserInfoFormDTO.setOpenId(wxMaJscode2SessionResult.getOpenid()); - Result userResult=epmetUserFeignClient.selecWxLoginUserInfo(wxLoginUserInfoFormDTO); - String userId=""; - if(!userResult.success()){ - throw new RenException("获取用户信息失败"+userResult.getMsg()); + Result userResult = epmetUserFeignClient.selecWxLoginUserInfo(wxLoginUserInfoFormDTO); + String userId = ""; + if (!userResult.success()) { + throw new RenException("获取用户信息失败" + userResult.getMsg()); } - userId= (String) userResult.getData(); - if (StringUtils.isBlank(userId)&&LoginConstant.APP_GOV.equals(formDTO.getApp())) { + userId = (String) userResult.getData(); + if (StringUtils.isBlank(userId) && LoginConstant.APP_GOV.equals(formDTO.getApp())) { //查询customer_staff待完善 - } else if (StringUtils.isBlank(userId)&&LoginConstant.APP_OPER.equals(formDTO.getApp())) { + } else if (StringUtils.isBlank(userId) && LoginConstant.APP_OPER.equals(formDTO.getApp())) { //查询oper_user待完善 - } else if (StringUtils.isBlank(userId)&&LoginConstant.APP_RESI.equals(formDTO.getApp())) { + } else if (StringUtils.isBlank(userId) && LoginConstant.APP_RESI.equals(formDTO.getApp())) { //查询customer_user - WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.resiWxMaService().getUserService() - .getUserInfo(wxMaJscode2SessionResult.getSessionKey(), - formDTO.getEncryptedData(), - formDTO.getIv()); - CustomerUserDTO customerUserDTO=this.packageCustomerUserDTO(wxMaUserInfo); - Result saveCustomerUserResult=epmetUserFeignClient.saveCustomerUser(customerUserDTO); - if(!saveCustomerUserResult.success()){ - throw new RenException("创建用户失败"+userResult.getMsg()); + CustomerUserDTO customerUserDTO = new CustomerUserDTO(); + if (StringUtils.isNotBlank(formDTO.getIv()) && StringUtils.isNotBlank(formDTO.getEncryptedData())) { + WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.resiWxMaService().getUserService() + .getUserInfo(wxMaJscode2SessionResult.getSessionKey(), + formDTO.getEncryptedData(), + formDTO.getIv()); + customerUserDTO = this.packageCustomerUserDTO(wxMaUserInfo); + } else { + customerUserDTO.setWxOpenId(wxMaJscode2SessionResult.getOpenid()); + customerUserDTO.setUnionId(wxMaJscode2SessionResult.getUnionid()); + } + Result saveCustomerUserResult = epmetUserFeignClient.saveCustomerUser(customerUserDTO); + if (!saveCustomerUserResult.success()) { + throw new RenException("创建用户失败" + userResult.getMsg()); } userId = saveCustomerUserResult.getData(); } @@ -222,22 +228,22 @@ public class LoginServiceImpl implements LoginService { public Result loginByPassword(LoginByPassWordFormDTO formDTO) { //1、验证码是否正确 boolean flag = captchaService.validate(formDTO.getUuid(), formDTO.getCaptcha()); - if(!flag){ + if (!flag) { return new Result().error(ErrorCode.CAPTCHA_ERROR); } //2、账号是否存在 //获取用户信息 - PasswordLoginUserInfoFormDTO passwordLoginUserInfoFormDTO=new PasswordLoginUserInfoFormDTO(); + PasswordLoginUserInfoFormDTO passwordLoginUserInfoFormDTO = new PasswordLoginUserInfoFormDTO(); passwordLoginUserInfoFormDTO.setApp(formDTO.getApp()); passwordLoginUserInfoFormDTO.setPhone(formDTO.getPhone()); - Result userInfoResult=epmetUserFeignClient.selectLoginUserInfoByPassword(passwordLoginUserInfoFormDTO); - logger.info(userInfoResult.getCode()+userInfoResult.getMsg()); - if(!userInfoResult.success()||null==userInfoResult.getData()){ + Result userInfoResult = epmetUserFeignClient.selectLoginUserInfoByPassword(passwordLoginUserInfoFormDTO); + logger.info(userInfoResult.getCode() + userInfoResult.getMsg()); + if (!userInfoResult.success() || null == userInfoResult.getData()) { return new Result().error("账号不存在"); } //3、密码是否正确 //密码错误 - if(!PasswordUtils.matches(formDTO.getPassword(),userInfoResult.getData().getPassWord())){ + if (!PasswordUtils.matches(formDTO.getPassword(), userInfoResult.getData().getPassWord())) { throw new RenException(ErrorCode.ACCOUNT_PASSWORD_ERROR); } //4、生成token返回,且将TokenDto存到redis diff --git a/epmet-commons/epmet-common-clienttoken/src/main/java/com/epmet/common/token/dto/form/LoginByWxCodeFormDTO.java b/epmet-commons/epmet-common-clienttoken/src/main/java/com/epmet/common/token/dto/form/LoginByWxCodeFormDTO.java index 149514a0a3..0f61c36255 100644 --- a/epmet-commons/epmet-common-clienttoken/src/main/java/com/epmet/common/token/dto/form/LoginByWxCodeFormDTO.java +++ b/epmet-commons/epmet-common-clienttoken/src/main/java/com/epmet/common/token/dto/form/LoginByWxCodeFormDTO.java @@ -23,12 +23,10 @@ public class LoginByWxCodeFormDTO extends LoginCommonFormDTO implements Serializ /** * 用户信息 */ - @NotBlank(message = "用户信息不能为空") private String encryptedData; /** * 加密算法的初始向量 */ - @NotBlank(message = "初始向量不能为空") private String iv; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index c6c09162dd..5171524907 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -65,7 +65,7 @@ public class RedisKeys { * 用户菜单导航Key */ public static String getUserMenuNavKey(String userId, String app, String client, String language) { - return rootPrefix.concat("oper:access:nav:").concat(userId).concat("_").concat(app).concat("_").concat(client).concat("_").concat(language); + return rootPrefix.concat("oper:access:nav:").concat(app).concat("-").concat(client).concat("-").concat(userId).concat("-").concat(language); } /** @@ -86,7 +86,7 @@ public class RedisKeys { * 用户权限标识Key */ public static String getUserPermissionsKey(String userId, String app, String client) { - return rootPrefix.concat("oper:access:permissions:").concat(userId).concat("_").concat(app).concat("_").concat(client); + return rootPrefix.concat("oper:access:permissions:").concat(app).concat("_").concat(client).concat("_").concat(userId); } /** diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 94d5e8a27a..51623f62d0 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -180,7 +180,7 @@ renren: - /epmetuser/** - /gov/org/** - /oper/access/** - - /resi/guide/** + - /sys/** management: endpoints: web: diff --git a/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperMenuDTO.java b/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperMenuDTO.java index 59089f00ff..a98dcff26b 100644 --- a/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperMenuDTO.java +++ b/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperMenuDTO.java @@ -47,6 +47,11 @@ public class OperMenuDTO extends TreeStringNode implements Serializ */ private String pid; + /** + * 菜单名称 + */ + private String name; + /** * 菜单URL */ diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java index 5ad9450e87..933f55f6e1 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java @@ -1,6 +1,8 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -79,23 +81,23 @@ public class OperMenuController { /** * 导航 - * @param userInfo token + * @param tokenDto token * @return List */ - @PostMapping("nav") - public Result> nav(@RequestBody UserInfoDto userInfo){ - List list = operMenuService.getUserMenuNavList(userInfo); + @GetMapping("nav") + public Result> nav(@LoginUser TokenDto tokenDto){ + List list = operMenuService.getUserMenuNavList(tokenDto); return new Result>().ok(list); } /** * 权限标识 - * @param userInfo token + * @param tokenDto token * @return Set */ - @PostMapping("permissions") - public Result> permissions(@RequestBody UserInfoDto userInfo){ - Set set = operMenuService.getUserPermissions(userInfo); + @GetMapping("permissions") + public Result> permissions(@LoginUser TokenDto tokenDto){ + Set set = operMenuService.getUserPermissions(tokenDto); return new Result>().ok(set); } diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java index c7c672b951..614c15149c 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java @@ -28,10 +28,12 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.OperRoleDTO; import com.epmet.excel.OperRoleExcel; import com.epmet.service.OperRoleService; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -91,4 +93,12 @@ public class OperRoleController { ExcelUtils.exportExcelToTarget(response, null, list, OperRoleExcel.class); } + @GetMapping("list") + @ApiOperation("列表") + public Result> list(){ + List data = operRoleService.list(new HashMap<>(1)); + + return new Result>().ok(data); + } + } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperMenuService.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperMenuService.java index 148ddc55f7..efa9eebb4d 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperMenuService.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperMenuService.java @@ -19,6 +19,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.UserDetail; import com.epmet.dto.OperMenuDTO; import com.epmet.dto.form.UserInfoDto; @@ -99,23 +100,23 @@ public interface OperMenuService extends BaseService { /** * 用户菜单列表 * - * @param userInfo 用户信息 + * @param tokenDto 用户信息 * @param type 菜单类型 * @return java.util.List */ - List getUserMenuList(UserInfoDto userInfo, Integer type); + List getUserMenuList(TokenDto tokenDto, Integer type); /** * 用户菜单导航 - * @param userInfo 用户信息 + * @param tokenDto 用户信息 * @return java.util.List */ - List getUserMenuNavList(UserInfoDto userInfo); + List getUserMenuNavList(TokenDto tokenDto); /** * 获取用户权限标识 - * @param userInfo 用户信息 + * @param tokenDto 用户信息 * @return java.util.Set */ - Set getUserPermissions(UserInfoDto userInfo); + Set getUserPermissions(TokenDto tokenDto); } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperMenuServiceImpl.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperMenuServiceImpl.java index 4e7becdeea..9229f96aa5 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperMenuServiceImpl.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperMenuServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.enums.SuperAdminEnum; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.HttpContextUtils; @@ -110,16 +111,16 @@ public class OperMenuServiceImpl extends BaseServiceImpl getUserMenuList(UserInfoDto userInfo, Integer type) { + public List getUserMenuList(TokenDto tokenDto, Integer type) { List menuList; - Result operUserDTOResult = epmetUserFeignClient.info(userInfo.getUserId()); + Result operUserDTOResult = epmetUserFeignClient.info(tokenDto.getUserId()); //系统管理员,拥有最高权限 if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){ menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage()); }else { - menuList = baseDao.getUserMenuList(userInfo.getUserId(), type, HttpContextUtils.getLanguage()); + menuList = baseDao.getUserMenuList(tokenDto.getUserId(), type, HttpContextUtils.getLanguage()); } List dtoList = ConvertUtils.sourceToTarget(menuList, OperMenuDTO.class); @@ -128,33 +129,33 @@ public class OperMenuServiceImpl extends BaseServiceImpl getUserMenuNavList(UserInfoDto userInfo) { - List menuList = operMenuRedis.getUserMenuNavList(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient()); + public List getUserMenuNavList(TokenDto tokenDto) { + List menuList = operMenuRedis.getUserMenuNavList(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient()); if(menuList == null){ - menuList = getUserMenuList(userInfo, MenuTypeEnum.MENU.value()); + menuList = getUserMenuList(tokenDto, MenuTypeEnum.MENU.value()); - operMenuRedis.setUserMenuNavList(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient(), menuList); + operMenuRedis.setUserMenuNavList(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient(), menuList); } return menuList; } @Override - public Set getUserPermissions(UserInfoDto userInfo) { + public Set getUserPermissions(TokenDto tokenDto) { //用户权限列表 - Set permsSet = operMenuRedis.getUserPermissions(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient()); + Set permsSet = operMenuRedis.getUserPermissions(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient()); if(permsSet != null){ return permsSet; } - Result operUserDTOResult = epmetUserFeignClient.info(userInfo.getUserId()); + Result operUserDTOResult = epmetUserFeignClient.info(tokenDto.getUserId()); //超级管理员,拥有最高权限 List menuList; if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){ menuList = baseDao.getMenuList(MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage()); }else{ - menuList = baseDao.getUserMenuList(userInfo.getUserId(), MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage()); + menuList = baseDao.getUserMenuList(tokenDto.getUserId(), MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage()); } permsSet = new HashSet<>(); @@ -165,7 +166,7 @@ public class OperMenuServiceImpl extends BaseServiceImpl> page(@RequestParam Map params){ - PageData page = operUserService.page(params); - return new Result>().ok(page); - } + @GetMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = operUserService.page(params); + return new Result>().ok(page); + } - @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ - OperUserDTO data = operUserService.get(id); - return new Result().ok(data); - } + @GetMapping("{id}") + public Result get(@PathVariable("id") String id) { + OperUserDTO data = operUserService.get(id); + return new Result().ok(data); + } - @PostMapping - public Result save(@RequestBody OperUserDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - operUserService.save(dto); - return new Result(); - } + @PostMapping + public Result save(@RequestBody OperUserDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + operUserService.save(dto); + return new Result(); + } - @PutMapping - public Result update(@RequestBody OperUserDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - operUserService.update(dto); - return new Result(); - } + @PutMapping + public Result update(@RequestBody OperUserDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + operUserService.update(dto); + return new Result(); + } - @DeleteMapping - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - operUserService.delete(ids); - return new Result(); - } + @DeleteMapping + public Result delete(@RequestBody String[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + operUserService.delete(ids); + return new Result(); + } - @GetMapping("export") - public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { - List list = operUserService.list(params); - ExcelUtils.exportExcelToTarget(response, null, list, OperUserExcel.class); - } + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = operUserService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, OperUserExcel.class); + } /** * 获取运营人员信息 + * + * @param tokenDto token + * @return OperUserDTO + * @author zhaoqifeng + */ + @GetMapping("queryOperUserDto") + public Result queryOperUserDto(@LoginUser TokenDto tokenDto) { + OperUserDTO data = operUserService.getOperUserInfoById(tokenDto.getUserId()); + return new Result().ok(data); + } + + /** + * 获取运营人员信息 + * * @param operUserId oper_user表主键 * @return OperUserDTO * @author zhaoqifeng */ @GetMapping("queryOperUserDtoById/{operUserId}") - public Result queryOperUserDtoById(@PathVariable("operUserId") String operUserId){ - OperUserDTO data = operUserService.getOperUserInfoById(operUserId); - return new Result().ok(data); - } + public Result queryOperUserDtoById(@PathVariable("operUserId") String operUserId) { + OperUserDTO data = operUserService.getOperUserInfoById(operUserId); + return new Result().ok(data); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerUserEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerUserEntity.java index 11a6e86b09..9b93cd7ee3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerUserEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerUserEntity.java @@ -48,6 +48,11 @@ public class CustomerUserEntity extends BaseEpmetEntity { */ private String wxOpenId; + /** + * 微信unionId + */ + private String unionId; + /** * 手机号 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java index b6a4f1478d..e2ad212783 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java @@ -53,11 +53,13 @@ public class OperUserServiceImpl extends BaseServiceImpl page(Map params) { + IPage page = baseDao.selectPage( getPage(params, FieldConstant.CREATED_TIME, false), getWrapper(params) ); return getPageData(page, OperUserDTO.class); + } @Override @@ -69,10 +71,9 @@ public class OperUserServiceImpl extends BaseServiceImpl getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); - + String realName = (String)params.get("realName"); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id).like(StringUtils.isNotBlank(realName), "real_name", realName); return wrapper; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerUserDao.xml index 09dbe55a56..4841a86795 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerUserDao.xml @@ -3,26 +3,6 @@ - - - - - - - - - - - - - - - - - - - -