订单排行
This commit is contained in:
@@ -1,10 +1,7 @@
|
||||
package com.starry.admin.modules.clerk.module.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.starry.common.domain.BasePageEntity;
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -15,7 +12,7 @@ import java.time.LocalDate;
|
||||
* @since 2024/6/7 上午9:49
|
||||
**/
|
||||
@Data
|
||||
public class IPlayClerkRankingInfoReturnVo {
|
||||
public class IPlayClerkRankingInfoReturnVo {
|
||||
|
||||
/**
|
||||
* UUID
|
||||
@@ -99,9 +96,8 @@ public class IPlayClerkRankingInfoReturnVo {
|
||||
*/
|
||||
private Integer customNumber;
|
||||
|
||||
|
||||
/**
|
||||
* 评价单价
|
||||
* 订单平均价格
|
||||
*/
|
||||
private BigDecimal averageUnitPrice = BigDecimal.ZERO;
|
||||
/**
|
||||
|
||||
@@ -97,7 +97,20 @@ public class PlayClerkRankingInfoEntity extends BaseEntity<PlayClerkRankingInfoE
|
||||
*/
|
||||
private Integer ordersExpiredNumber = 0;
|
||||
|
||||
/**
|
||||
* 续单比例
|
||||
*/
|
||||
private BigDecimal orderContinueProportion = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 客户数
|
||||
*/
|
||||
private Integer customNumber;
|
||||
|
||||
/**
|
||||
* 订单平均价格
|
||||
*/
|
||||
private BigDecimal averageUnitPrice = BigDecimal.ZERO;
|
||||
/**
|
||||
* 距离前一名相差金额
|
||||
*/
|
||||
|
||||
@@ -22,6 +22,7 @@ public interface IPlayClerkRankingInfoService extends IService<PlayClerkRankingI
|
||||
|
||||
/**
|
||||
* 分页查询店员排行
|
||||
*
|
||||
* @param vo 店员排行查询对象
|
||||
* @return 店员排查询对象
|
||||
*/
|
||||
@@ -48,20 +49,31 @@ public interface IPlayClerkRankingInfoService extends IService<PlayClerkRankingI
|
||||
*
|
||||
* @return PlayClerkRankingInfoEntity
|
||||
*/
|
||||
Integer selectSerialNumber();
|
||||
/**
|
||||
* 查询当前排行榜最后一个批次值
|
||||
*
|
||||
* @param weeklyRanking 日排名还是周排名(0:每日排名;1:每周排名)
|
||||
* @return Integer 当前排行榜最后一个批次值
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @since 2024/6/7 11:53
|
||||
**/
|
||||
Integer selectSerialNumber(String weeklyRanking);
|
||||
|
||||
|
||||
/**
|
||||
* 查询最后一次排行统计列表
|
||||
* 查询当前排行榜最大批次
|
||||
*
|
||||
* @return 排行信息列表
|
||||
*/
|
||||
List<PlayClerkRankingInfoEntity> selectMaxSerialNumber();
|
||||
* @param weeklyRanking 日排名还是周排名(0:每日排名;1:每周排名)
|
||||
* @return List<com.starry.admin.modules.clerk.module.entity.PlayClerkRankingInfoEntity>
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @since 2024/6/7 11:55
|
||||
**/
|
||||
List<PlayClerkRankingInfoEntity> selectMaxSerialNumber(String weeklyRanking);
|
||||
|
||||
/**
|
||||
* 根据时间查询店员排行
|
||||
*
|
||||
* @param clerkId 店员ID
|
||||
* @param clerkId 店员ID
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @return 店员排行集合
|
||||
|
||||
@@ -36,7 +36,7 @@ public class PlayClerkRankingInfoServiceImpl extends ServiceImpl<PlayClerkRankin
|
||||
public IPage<IPlayClerkRankingInfoReturnVo> selectByPage(IPlayClerkRankingInfoQueryVo vo) {
|
||||
MPJLambdaWrapper<PlayClerkRankingInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>();
|
||||
lambdaQueryWrapper.selectAll(PlayClerkRankingInfoEntity.class);
|
||||
//拼接店员表
|
||||
// 拼接店员表
|
||||
lambdaQueryWrapper.selectAs(PlayClerkUserInfoEntity::getNickname, "clerkNickName");
|
||||
lambdaQueryWrapper.leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayClerkRankingInfoEntity::getClerkId);
|
||||
if (StrUtil.isNotBlank(vo.getClerkId())) {
|
||||
@@ -65,7 +65,7 @@ public class PlayClerkRankingInfoServiceImpl extends ServiceImpl<PlayClerkRankin
|
||||
|
||||
@Override
|
||||
public List<PlayOrderHistoryRankingReturnVo> selectHistoryRanking(String clerkId) {
|
||||
long serialNumber = selectSerialNumber();
|
||||
long serialNumber = selectSerialNumber("1");
|
||||
MPJLambdaWrapper<PlayClerkRankingInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>();
|
||||
// 根据排行序号和用户ID查询
|
||||
lambdaQueryWrapper.ne(PlayClerkRankingInfoEntity::getSerialNumber, serialNumber);
|
||||
@@ -75,13 +75,13 @@ public class PlayClerkRankingInfoServiceImpl extends ServiceImpl<PlayClerkRankin
|
||||
|
||||
@Override
|
||||
public PlayOrderRankingReturnVo selectCurrentRanking(String clerkId) {
|
||||
long serialNumber = selectSerialNumber();
|
||||
long serialNumber = selectSerialNumber("1");
|
||||
MPJLambdaWrapper<PlayClerkRankingInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>();
|
||||
lambdaQueryWrapper.selectAll(PlayClerkRankingInfoEntity.class);
|
||||
//店员信息
|
||||
// 店员信息
|
||||
lambdaQueryWrapper.selectAs(PlayClerkUserInfoEntity::getId, "clerkId").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkNickname").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkAvatar").selectAs(PlayClerkUserInfoEntity::getSex, "clerkSex");
|
||||
lambdaQueryWrapper.leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayClerkRankingInfoEntity::getClerkId);
|
||||
//店员等级
|
||||
// 店员等级
|
||||
lambdaQueryWrapper.selectAs(PlayClerkLevelInfoEntity::getId, "levelId").selectAs(PlayClerkLevelInfoEntity::getName, "levelName");
|
||||
lambdaQueryWrapper.leftJoin(PlayClerkLevelInfoEntity.class, PlayClerkLevelInfoEntity::getId, PlayClerkUserInfoEntity::getLevelId);
|
||||
// 根据排行序号和用户ID查询
|
||||
@@ -97,9 +97,9 @@ public class PlayClerkRankingInfoServiceImpl extends ServiceImpl<PlayClerkRankin
|
||||
|
||||
|
||||
@Override
|
||||
public List<PlayClerkRankingInfoEntity> selectMaxSerialNumber() {
|
||||
public List<PlayClerkRankingInfoEntity> selectMaxSerialNumber(String weeklyRanking) {
|
||||
MPJLambdaWrapper<PlayClerkRankingInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>();
|
||||
lambdaQueryWrapper.eq(PlayClerkRankingInfoEntity::getSerialNumber, this.selectSerialNumber());
|
||||
lambdaQueryWrapper.eq(PlayClerkRankingInfoEntity::getSerialNumber, this.selectSerialNumber(weeklyRanking));
|
||||
return this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
@@ -109,8 +109,9 @@ public class PlayClerkRankingInfoServiceImpl extends ServiceImpl<PlayClerkRankin
|
||||
* @return PlayClerkRankingInfoEntity
|
||||
*/
|
||||
@Override
|
||||
public Integer selectSerialNumber() {
|
||||
public Integer selectSerialNumber(String weeklyRanking) {
|
||||
LambdaQueryWrapper<PlayClerkRankingInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(PlayClerkRankingInfoEntity::getWeeklyRanking, weeklyRanking);
|
||||
lambdaQueryWrapper.orderByDesc(PlayClerkRankingInfoEntity::getSerialNumber).last("limit 1");
|
||||
PlayClerkRankingInfoEntity entity = this.baseMapper.selectOne(lambdaQueryWrapper);
|
||||
if (entity == null || entity.getSerialNumber() == null) {
|
||||
@@ -125,10 +126,10 @@ public class PlayClerkRankingInfoServiceImpl extends ServiceImpl<PlayClerkRankin
|
||||
lambdaQueryWrapper.eq(PlayClerkRankingInfoEntity::getSerialNumber, serialNumber);
|
||||
lambdaQueryWrapper.orderByDesc(PlayClerkRankingInfoEntity::getRankingIndex);
|
||||
lambdaQueryWrapper.selectAll(PlayClerkRankingInfoEntity.class);
|
||||
//店员信息
|
||||
// 店员信息
|
||||
lambdaQueryWrapper.selectAs(PlayClerkUserInfoEntity::getId, "clerkId").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkNickname").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkAvatar").selectAs(PlayClerkUserInfoEntity::getSex, "clerkSex");
|
||||
lambdaQueryWrapper.leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayClerkRankingInfoEntity::getClerkId);
|
||||
//店员等级
|
||||
// 店员等级
|
||||
lambdaQueryWrapper.selectAs(PlayClerkLevelInfoEntity::getId, "levelId").selectAs(PlayClerkLevelInfoEntity::getName, "levelName");
|
||||
lambdaQueryWrapper.leftJoin(PlayClerkLevelInfoEntity.class, PlayClerkLevelInfoEntity::getId, PlayClerkUserInfoEntity::getLevelId);
|
||||
return this.baseMapper.selectJoinList(PlayOrderRankingListVo.class, lambdaQueryWrapper);
|
||||
|
||||
Reference in New Issue
Block a user