package com.matrix.system.app.action;
|
|
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.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.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.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.beans.factory.annotation.Value;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.UnsupportedEncodingException;
|
import java.security.NoSuchAlgorithmException;
|
import java.util.List;
|
|
/**
|
* @author wzy
|
* @date 2020-12-21
|
**/
|
@Api(value = "ApiUsersAction", tags = "用户中心接口类")
|
@RestController
|
@RequestMapping(value = "/api/user")
|
public class ApiUsersAction extends BaseController {
|
|
@Autowired
|
private AchieveNewService achieveNewService;
|
|
@Autowired
|
private SysWorktimeService sysWorkTimeService;
|
|
@Autowired
|
private SysUsersService sysUsersService;
|
|
@Autowired
|
private SysWorkBeatuistaffService sysWorkBeatuistaffService;
|
|
@Value("${login_private_key}")
|
private String privateKey;
|
|
@ApiOperation(value = "个人中心--获取用户业绩接口 type 1-今日 2-昨天 3-本月 4-上月")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "ok", response = UserAchieveVo.class)
|
})
|
@GetMapping(value = "/findUserAchieve/{type}")
|
public AjaxResult findUserAchieve(@PathVariable("type") Integer type) {
|
UserAchieveVo achieveVo = achieveNewService.findUserAchieveByTime(type);
|
AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
|
ajaxResult.putInMap("achieve", achieveVo);
|
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);
|
LocalCache.remove(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("修改失败");
|
}
|
|
}
|