Helius
2022-05-27 4351e71d782741143a98f86f6648acd16689165f
zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
@@ -1,13 +1,28 @@
package com.matrix.system.app.action;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.system.app.vo.RankingDto;
import com.matrix.core.tools.DateUtil;
import com.matrix.system.app.dto.RankingDto;
import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.AchieveNew;
import com.matrix.system.hive.bean.SysOrder;
import com.matrix.system.hive.dao.AchieveNewDao;
import com.matrix.system.hive.service.AchieveNewService;
import com.matrix.system.hive.service.SysOrderService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
/**
 * @author wzy
@@ -18,19 +33,70 @@
@RequestMapping(value ="/api/ranking")
public class ApiRankingAction {
    public AjaxResult findStaffAchieveRanking() {
        return null;
    @Autowired
    private SysOrderService sysOrderService;
    @Autowired
    private AchieveNewDao achieveNewDao;
    @ApiOperation(value = "顾问业绩排行榜", notes = "顾问业绩排行榜")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
    })
    @PostMapping(value = "/findStaffAchieveRanking")
    public AjaxResult findStaffAchieveRanking(@RequestBody RankingDto rankingDto) {
        AchieveNew achieveNew = new AchieveNew();
        QueryUtil.setQueryLimitCom(achieveNew);
        achieveNew.setType(rankingDto.getType());
        achieveNew.setDatatime(new Date());
        return AjaxResult.buildSuccessInstance(achieveNewDao.selectStaffSaleAchieveRanking(achieveNew));
    }
    @ApiOperation(value = "门店业绩排行榜", notes = "门店业绩排行榜")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = RankingDto.class)
            @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
    })
    public AjaxResult findShopAchieveRanking() {
        return null;
    @PostMapping(value = "/findShopAchieveRanking")
    public AjaxResult findShopAchieveRanking(@RequestBody RankingDto rankingDto) {
        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("");
        AchieveNew achieveNew = new AchieveNew();
        QueryUtil.setQueryLimitCom(achieveNew);
        achieveNew.setT1(rankingDto.getType());
        achieveNew.setDatatime(new Date());
        if (RankingDto.SALE.equals(rankingDto.getDataType())) {
            List<RankingVo> list = achieveNewDao.selectShopSaleAchieveRanking(achieveNew);
            ajaxResult.setRows(list);
        } else {
            List<RankingVo> rankingVos = achieveNewDao.selectShopConsumeAchieveRanking(achieveNew);
            ajaxResult.setRows(rankingVos);
        }
        return ajaxResult;
    }
    public AjaxResult findBeauticianAchieveRanking() {
        return null;
    @ApiOperation(value = "美疗师业绩排行榜", notes = "美疗师业绩排行榜")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
    })
    @PostMapping(value = "/findBeauticianAchieveRanking")
    public AjaxResult findBeauticianAchieveRanking(@RequestBody RankingDto rankingDto) {
        AchieveNew achieveNew = new AchieveNew();
        QueryUtil.setQueryLimitCom(achieveNew);
        achieveNew.setDatatime(new Date());
        achieveNew.setT1(rankingDto.getType());
        return AjaxResult.buildSuccessInstance(achieveNewDao.selectBeauticianConsumeAchieveRanking(achieveNew));
    }
    @ApiOperation(value = "人头数排名", notes = "人头数排名")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
    })
    @PostMapping(value = "/findNumOfPeopleRanking")
    public AjaxResult findNumOfPeopleRanking(@RequestBody RankingDto rankingDto) {
        AchieveNew achieveNew = new AchieveNew();
        QueryUtil.setQueryLimitCom(achieveNew);
        achieveNew.setDatatime(new Date());
        achieveNew.setT1(rankingDto.getType());
        return AjaxResult.buildSuccessInstance(achieveNewDao.selectNumOfPeopleAchieveRanking(achieveNew));
    }
}