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.mapper.SysUsersMapper; import com.matrix.system.app.vo.BeauticianVo; import com.matrix.system.app.vo.UserAchieveVo; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.hive.bean.SysBeauticianState; 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.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * @author wzy * @date 2020-12-21 **/ @Api(value = "ApiUsersAction", tags = "用户中心接口类") @RestController @RequestMapping(value = "/api/user") public class ApiUsersAction { @Autowired private AchieveNewService achieveNewService; @Resource private SysWorktimeService sysWorkTimeService; @Resource private SysUsersService sysUsersService; @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 staffs=new ArrayList<>(); if(sysWorkTimeService.isInWorkTime(user.getShopId(),sysBeauticianState.getBeginTime(),sysBeauticianState.getEndTime())){ staffs= sysUsersService.findByCodeBeaStateShop(user.getShopId(), sysBeauticianState, panBanCodes); } return new AjaxResult(AjaxResult.STATUS_SUCCESS, SysUsersMapper.INSTANCE.usersListToBeautyList(staffs), 0); } }