From 4351e71d782741143a98f86f6648acd16689165f Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 27 May 2022 19:48:02 +0800 Subject: [PATCH] Merge branch 'developer' into hive2.0 --- zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java | 99 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 85 insertions(+), 14 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java index 5858e80..f0dcbb0 100644 --- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java @@ -1,21 +1,28 @@ package com.matrix.system.app.action; -import com.matrix.component.redis.RedisClient; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.WebUtil; import com.matrix.system.app.dto.BeauticianDto; +import com.matrix.system.app.dto.ModifyUserDto; +import com.matrix.system.app.dto.PwdModifyDto; import com.matrix.system.app.dto.UsersQueryDto; -import com.matrix.system.app.mapper.SysBeauticianStateMapper; import com.matrix.system.app.mapper.SysUsersMapper; import com.matrix.system.app.mapper.SysWorkBeatuistaffMapper; import com.matrix.system.app.vo.BeauticianVo; import com.matrix.system.app.vo.UserAchieveVo; +import com.matrix.system.app.vo.UserInfoDetailVo; import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.common.init.LocalCache; +import com.matrix.system.common.interceptor.ApiUserLoginInterceptor; +import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.common.tools.DataAuthUtil; -import com.matrix.system.hive.bean.SysBeauticianState; +import com.matrix.system.common.tools.PasswordUtil; +import com.matrix.system.hive.action.BaseController; import com.matrix.system.hive.bean.SysWorkBeatuistaff; import com.matrix.system.hive.service.AchieveNewService; import com.matrix.system.hive.service.SysWorkBeatuistaffService; @@ -25,11 +32,13 @@ import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import java.util.ArrayList; +import javax.servlet.http.HttpServletRequest; +import java.io.UnsupportedEncodingException; +import java.security.NoSuchAlgorithmException; import java.util.List; /** @@ -39,7 +48,7 @@ @Api(value = "ApiUsersAction", tags = "用户中心接口类") @RestController @RequestMapping(value = "/api/user") -public class ApiUsersAction { +public class ApiUsersAction extends BaseController { @Autowired private AchieveNewService achieveNewService; @@ -53,9 +62,8 @@ @Autowired private SysWorkBeatuistaffService sysWorkBeatuistaffService; - @Autowired - private RedisClient redisClient; - + @Value("${login_private_key}") + private String privateKey; @ApiOperation(value = "个人中心--获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月") @ApiResponses({ @@ -97,12 +105,26 @@ @ApiOperation(value = "退出登陆", notes = "退出登陆") @GetMapping(value = "/loginOut") - public AjaxResult loginOut() { - SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); - String token = redisClient.getCachedValue(sysUsers.getSuId().toString()); + public AjaxResult loginOut(HttpServletRequest request) { + String token=ApiUserLoginInterceptor.resolveToken(request,privateKey); + LocalCache.remove(token); + return AjaxResult.buildSuccessInstance("退出成功"); + } - redisClient.removeObject(token); - redisClient.removeObject(sysUsers.getSuId().toString()); + @ApiOperation(value = "小程序退出登陆", notes = "小程序退出登陆") + @GetMapping(value = "/xcxloginOut/{code}") + public AjaxResult xcxloginOut(HttpServletRequest request, @PathVariable("code") String code) { + SysUsers hasBind = sysUsersService.findByOpenId(code, HostInterceptor.getCompanyId()); + if (hasBind != null) { + if(StrUtil.isNotBlank(hasBind.getOpenIds())) { + List<String> openIds = StrUtil.split(hasBind.getOpenIds(), ','); + openIds.remove(code); + + sysUsersService.modifyUserOpenId(CollUtil.join(openIds, ","), hasBind.getSuId()); + } + } + String token=ApiUserLoginInterceptor.resolveToken(request,privateKey); + LocalCache.remove(token); return AjaxResult.buildSuccessInstance("退出成功"); } @@ -121,10 +143,59 @@ query.setCompanyId(sysUsers.getCompanyId()); query.setShopId(sysUsers.getShopId()); } + query.setSuUserType("employee"); query.setSuName(usersQueryDto.getQueryKey()); List<SysUsers> list = sysUsersService.findByModel(query); List<BeauticianVo> dataList = SysUsersMapper.INSTANCE.usersListToBeautyList(list); return AjaxResult.buildSuccessInstance(dataList); } + @ApiOperation(value = "修改密码", notes = "修改密码") + @PostMapping(value = "/modifyPwd") + public AjaxResult modifyPwd(@RequestBody @Validated PwdModifyDto pwdModifyDto) throws UnsupportedEncodingException, NoSuchAlgorithmException { + SysUsers me = getMe(); + SysUsers user = sysUsersService.findById(me.getSuId()); + + SysUsers pwdUser = new SysUsers(); + pwdUser.setSuPassword(pwdModifyDto.getOldPwd()); + pwdUser.setSuRegisterTime(user.getSuRegisterTime()); + String pwd = PasswordUtil.getEncrypUserPwd(pwdUser); + if (!pwd.equals(user.getSuPassword())) { + return AjaxResult.buildFailInstance("老密码错误"); + } + + int i = sysUsersService.updateUserPassword(user.getSuId(), pwd); + if (i > 0) { + return AjaxResult.buildSuccessInstance("修改成功"); + } + return AjaxResult.buildFailInstance("修改失败"); + + } + + @ApiOperation(value = "获取当前登陆用户信息", notes = "获取当前登陆用户信息") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = UserInfoDetailVo.class) + }) + @GetMapping(value = "/findUserInfo") + public AjaxResult findUserInfo() { + SysUsers user = sysUsersService.findById(getMe().getSuId()); + + UserInfoDetailVo userInfoDetailVo = SysUsersMapper.INSTANCE.usersToDetailInfoVo(user); + AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功"); + ajaxResult.putInMap("detail", userInfoDetailVo); + return ajaxResult; + } + + @ApiOperation(value = "编辑当前用户信息", notes = "编辑当前用户信息") + @PostMapping(value = "/modifyUserInfo") + public AjaxResult modifyUserInfo(@RequestBody @Validated ModifyUserDto modifyUserDto) { + SysUsers user = SysUsersMapper.INSTANCE.modifyUserDtoToUsers(modifyUserDto); + user.setSuId(getMe().getSuId()); + int i = sysUsersService.modifyByModel(user); + if (i > 0) { + return AjaxResult.buildSuccessInstance("修改成功"); + } + return AjaxResult.buildFailInstance("修改失败"); + } + } -- Gitblit v1.9.1