From 4536a68f86f50e09032066e00e9e3cacf366cbd4 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 23 Jun 2021 11:02:33 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/action/ApiUsersAction.java | 154 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 148 insertions(+), 6 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 36a6899..c3cc658 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,17 +1,43 @@ package com.matrix.system.app.action; +import com.matrix.component.redis.RedisClient; +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.*; +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.interceptor.ApiUserLoginInterceptor; +import com.matrix.system.common.service.SysUsersService; +import com.matrix.system.common.tools.DataAuthUtil; +import com.matrix.system.common.tools.PasswordUtil; +import com.matrix.system.hive.action.BaseController; +import com.matrix.system.hive.bean.SysBeauticianState; +import com.matrix.system.hive.bean.SysWorkBeatuistaff; import com.matrix.system.hive.service.AchieveNewService; +import com.matrix.system.hive.service.SysWorkBeatuistaffService; +import com.matrix.system.hive.service.SysWorktimeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.io.UnsupportedEncodingException; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; /** * @author wzy @@ -20,13 +46,26 @@ @Api(value = "ApiUsersAction", tags = "用户中心接口类") @RestController @RequestMapping(value = "/api/user") -public class ApiUsersAction { +public class ApiUsersAction extends BaseController { @Autowired private AchieveNewService achieveNewService; + @Autowired + private SysWorktimeService sysWorkTimeService; - @ApiOperation(value = "获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月") + @Autowired + private SysUsersService sysUsersService; + + @Autowired + private SysWorkBeatuistaffService sysWorkBeatuistaffService; + + @Autowired + private RedisClient redisClient; + @Value("${login_private_key}") + private String privateKey; + + @ApiOperation(value = "个人中心--获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月") @ApiResponses({ @ApiResponse(code = 200, message = "ok", response = UserAchieveVo.class) }) @@ -38,5 +77,108 @@ return ajaxResult; } + @ApiOperation(value = "获取美疗师列表 - 开始时间结束时间") + @ApiResponses( + @ApiResponse(code = 200, message = "Ok", response = BeauticianVo.class) + ) + @PostMapping(value = "/findBeauticianList") + public AjaxResult findBeauticianList(@RequestBody @Validated BeauticianDto beauticianDto) { +// SysBeauticianState sysBeauticianState = new SysBeauticianState(); +// sysBeauticianState.setBeginTime(beauticianDto.getStartTime()); +// sysBeauticianState.setEndTime(beauticianDto.getEndTime()); +// +// // 根据时间获取一段排班码 +// String panBanCodes = DateUtil.dateToString(sysBeauticianState.getBeginTime(),DateUtil.DATE_FORMAT_NO_SPLITE_DD); +// // 获取登陆的用户 +// SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); +// List<SysUsers> staffs=new ArrayList<>(); +// if(sysWorkTimeService.isInWorkTime(user.getShopId(),sysBeauticianState.getBeginTime(),sysBeauticianState.getEndTime())){ +// staffs= sysUsersService.findByCodeBeaStateShop(user.getShopId(), +// sysBeauticianState, panBanCodes); +// } + + SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY); + String panBanCodes = DateUtil.dateToString(beauticianDto.getStartTime(),DateUtil.DATE_FORMAT_NO_SPLITE_DD); + List<SysWorkBeatuistaff> workBeauty = sysWorkBeatuistaffService.findByDateStr(panBanCodes, user.getShopId()); + return new AjaxResult(AjaxResult.STATUS_SUCCESS, SysWorkBeatuistaffMapper.INSTANCE.workBeautysToBeautyVos(workBeauty), 0); + } + + @ApiOperation(value = "退出登陆", notes = "退出登陆") + @GetMapping(value = "/loginOut") + public AjaxResult loginOut(HttpServletRequest request) { + String token=ApiUserLoginInterceptor.resolveToken(request,privateKey); + redisClient.removeObject(token); + return AjaxResult.buildSuccessInstance("退出成功"); + } + + @ApiOperation(value = "员工列表", notes = "员工列表") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = BeauticianVo.class) + }) + @PostMapping(value = "/findAllUsers") + public AjaxResult findAllUsers(@RequestBody UsersQueryDto usersQueryDto) { + SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + + SysUsers query = new SysUsers(); + if (DataAuthUtil.hasAllShopAuth()) { + query.setCompanyId(sysUsers.getCompanyId()); + } else { + 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