|  |  |  | 
|---|
|  |  |  | 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.*; | 
|---|
|  |  |  | 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 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 javax.servlet.http.HttpServletRequest; | 
|---|
|  |  |  | import java.io.UnsupportedEncodingException; | 
|---|
|  |  |  | import java.security.NoSuchAlgorithmException; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @Api(value = "ApiUsersAction", tags = "用户中心接口类") | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping(value = "/api/user") | 
|---|
|  |  |  | public class ApiUsersAction { | 
|---|
|  |  |  | public class ApiUsersAction extends BaseController { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private AchieveNewService achieveNewService; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private RedisClient redisClient; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${login_private_key}") | 
|---|
|  |  |  | private  String privateKey; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "个人中心--获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月") | 
|---|
|  |  |  | @ApiResponses({ | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @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); | 
|---|
|  |  |  | redisClient.removeObject(token); | 
|---|
|  |  |  | redisClient.removeObject(sysUsers.getSuId().toString()); | 
|---|
|  |  |  | return AjaxResult.buildSuccessInstance("退出成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @ApiResponses({ | 
|---|
|  |  |  | @ApiResponse(code = 200, message = "ok", response = BeauticianVo.class) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | @GetMapping(value = "/findAllUsers") | 
|---|
|  |  |  | public AjaxResult findAllUsers() { | 
|---|
|  |  |  | @PostMapping(value = "/findAllUsers") | 
|---|
|  |  |  | public AjaxResult findAllUsers(@RequestBody UsersQueryDto usersQueryDto) { | 
|---|
|  |  |  | SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SysUsers query = new SysUsers(); | 
|---|
|  |  |  | query.setCompanyId(sysUsers.getCompanyId()); | 
|---|
|  |  |  | 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("修改失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|