fix
This commit is contained in:
@@ -97,7 +97,7 @@ public class IPlayClerkRankingInfoReturnVo {
|
||||
|
||||
|
||||
/**
|
||||
* 客户数
|
||||
* 用户数
|
||||
*/
|
||||
private Integer customNumber;
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ public class PlayClerkRankingInfoEntity extends BaseEntity<PlayClerkRankingInfoE
|
||||
private BigDecimal orderContinueProportion = BigDecimal.ZERO;
|
||||
|
||||
/**
|
||||
* 客户数
|
||||
* 用户数
|
||||
*/
|
||||
private Integer customNumber;
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.starry.admin.modules.order.service.IPlayOrderInfoService;
|
||||
import com.starry.common.annotation.Log;
|
||||
import com.starry.common.enums.BusinessType;
|
||||
import com.starry.common.result.R;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -33,7 +34,7 @@ public class PlayOrderRewardInfoController {
|
||||
|
||||
@Log(title = "查询打赏订单", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/listByPage")
|
||||
public R queryRewardOrder(@RequestBody PlayOrderRewardQueryVo vo) {
|
||||
public R queryRewardOrder(@Validated @RequestBody PlayOrderRewardQueryVo vo) {
|
||||
IPage<PlayOrderRewardReturnVo> page = orderInfoService.selectRewardOrderInfoByPage(vo);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.starry.admin.modules.order.module.vo;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 打赏订单查询返回信息
|
||||
@@ -67,6 +70,33 @@ public class PlayOrderRewardReturnVo {
|
||||
*/
|
||||
private String finalAmount;
|
||||
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private String commodityId;
|
||||
|
||||
/**
|
||||
* 商品类型[0:礼物,1:服务]
|
||||
*/
|
||||
private String commodityType;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String commodityName;
|
||||
/**
|
||||
* 商品单价
|
||||
*/
|
||||
private BigDecimal commodityPrice;
|
||||
|
||||
/**
|
||||
* 服务时长
|
||||
*
|
||||
* @since 2024/5/8 16:44
|
||||
**/
|
||||
private String serviceDuration;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 打赏留言
|
||||
@@ -76,6 +106,8 @@ public class PlayOrderRewardReturnVo {
|
||||
/**
|
||||
* 打赏时间
|
||||
*/
|
||||
private Date purchaserTime;
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private LocalDateTime purchaserTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -384,11 +384,23 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
lambdaQueryWrapper.selectAll(PlayOrderInfoEntity.class);
|
||||
// 查询顾客表
|
||||
lambdaQueryWrapper.selectAs(PlayCustomUserInfoEntity::getId, "customId").selectAs(PlayCustomUserInfoEntity::getAvatar, "customAvatar").selectAs(PlayCustomUserInfoEntity::getNickname, "customNickname");
|
||||
lambdaQueryWrapper.leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderInfoEntity::getPurchaserBy).leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderInfoEntity::getAcceptBy);
|
||||
// 查询陪聊表
|
||||
lambdaQueryWrapper.selectAs(PlayClerkUserInfoEntity::getId, "clerkId").selectAs(PlayClerkUserInfoEntity::getAvatar, "clerkAvatar").selectAs(PlayClerkUserInfoEntity::getNickname, "clerkNickname");
|
||||
// 子表
|
||||
lambdaQueryWrapper.leftJoin(PlayCustomUserInfoEntity.class, PlayCustomUserInfoEntity::getId, PlayOrderInfoEntity::getPurchaserBy).leftJoin(PlayClerkUserInfoEntity.class, PlayClerkUserInfoEntity::getId, PlayOrderInfoEntity::getAcceptBy);
|
||||
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPlaceType, "2");
|
||||
if (StrUtil.isNotBlank(vo.getRewardType())) {
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getRewardType, vo.getRewardType());
|
||||
}
|
||||
if (StrUtil.isNotBlank(vo.getAcceptBy())) {
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getAcceptBy, vo.getAcceptBy());
|
||||
}
|
||||
if (StrUtil.isNotBlank(vo.getPurchaserBy())) {
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPurchaserBy, vo.getPurchaserBy());
|
||||
}
|
||||
if (vo.getPurchaserTime() != null && vo.getPurchaserTime().size() == 2) {
|
||||
lambdaQueryWrapper.between(PlayOrderInfoEntity::getPurchaserTime, vo.getPurchaserTime().get(0), vo.getPurchaserTime().get(1));
|
||||
}
|
||||
lambdaQueryWrapper.orderByDesc(PlayOrderInfoEntity::getPurchaserTime);
|
||||
return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayOrderRewardReturnVo.class, lambdaQueryWrapper);
|
||||
|
||||
@@ -460,8 +472,6 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
||||
@Override
|
||||
public IPage<PlayOrderInfoReturnVo> selectOrderInfoPage(PlayOrderInfoQueryVo vo) {
|
||||
MPJLambdaWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = getCommonOrderQueryVo(ConvertUtil.entityToVo(vo, PlayOrderInfoEntity.class));
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(vo.getPurchaserBy())) {
|
||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPurchaserBy, vo.getPurchaserBy());
|
||||
}
|
||||
|
||||
@@ -22,8 +22,7 @@ import com.starry.admin.modules.order.module.vo.PlayOrderStateEditVo;
|
||||
import com.starry.admin.modules.order.service.IPlayOrderEvaluateInfoService;
|
||||
import com.starry.admin.modules.order.service.IPlayOrderInfoService;
|
||||
import com.starry.admin.modules.weichat.entity.*;
|
||||
import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoQueryVo;
|
||||
import com.starry.admin.modules.weichat.entity.clerk.PlayClerkUserInfoResultVo;
|
||||
import com.starry.admin.modules.weichat.entity.clerk.*;
|
||||
import com.starry.admin.modules.weichat.entity.gift.PlayClerkGiftReturnVo;
|
||||
import com.starry.admin.modules.weichat.entity.order.PlayClerkOrderDetailsReturnVo;
|
||||
import com.starry.admin.modules.weichat.entity.order.PlayClerkOrderInfoQueryVo;
|
||||
@@ -33,6 +32,7 @@ import com.starry.admin.utils.SecurityUtils;
|
||||
import com.starry.common.redis.RedisCache;
|
||||
import com.starry.common.result.R;
|
||||
import com.starry.common.utils.ConvertUtil;
|
||||
import com.starry.common.utils.IdUtils;
|
||||
import com.starry.common.utils.VerificationCodeUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -94,6 +94,39 @@ public class WxClerkController {
|
||||
private IPlayGiftInfoService giftInfoService;
|
||||
|
||||
|
||||
/**
|
||||
* 店员获取个人业绩信息
|
||||
*/
|
||||
@ClerkUserLogin
|
||||
@PostMapping("/user/queryPerformanceInfo")
|
||||
public R queryPerformanceInfo(@Validated @RequestBody PlayClerkPerformanceInfoQueryVo vo) {
|
||||
PlayClerkPerformanceInfoReturnVo returnVo = new PlayClerkPerformanceInfoReturnVo();
|
||||
returnVo.setClerkId(ThreadLocalRequestDetail.getClerkUserInfo().getId());
|
||||
return R.ok(returnVo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 店员获取个人等级信息
|
||||
*/
|
||||
@ClerkUserLogin
|
||||
@GetMapping("/user/queryLevelInfo")
|
||||
public R queryLevelInfo() {
|
||||
PlayClerkLevelInfoReturnVo returnVo = new PlayClerkLevelInfoReturnVo();
|
||||
returnVo.setLevelName("金牌");
|
||||
returnVo.setLevelId(IdUtils.getUuid());
|
||||
List<PlayClerkLevelAndRankingVo> levelAndRanking = new ArrayList<>();
|
||||
levelAndRanking.add(new PlayClerkLevelAndRankingVo("普通", 19, 150, 5));
|
||||
levelAndRanking.add(new PlayClerkLevelAndRankingVo("金牌", 9, 18, 4));
|
||||
levelAndRanking.add(new PlayClerkLevelAndRankingVo("镇店", 3, 8, 3));
|
||||
levelAndRanking.add(new PlayClerkLevelAndRankingVo("首席", 1, 2, 2));
|
||||
levelAndRanking.add(new PlayClerkLevelAndRankingVo("男神", 0, 0, 1));
|
||||
levelAndRanking.add(new PlayClerkLevelAndRankingVo("女神", 0, 0, 0));
|
||||
returnVo.setLevelAndRanking(levelAndRanking);
|
||||
return R.ok(returnVo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 店员获取个人信息
|
||||
*/
|
||||
|
||||
@@ -194,7 +194,7 @@ public class WxCustomController {
|
||||
}
|
||||
String orderId = IdUtils.getUuid();
|
||||
// 记录订单信息
|
||||
playOrderInfoService.createOrderInfo(orderId, playOrderInfoService.getOrderNo(), "3", "2", "2", "0", "1", "", "0", BigDecimal.ZERO, "", "", "", new BigDecimal(vo.getMoney()), new BigDecimal(vo.getMoney()), BigDecimal.ZERO, userId, vo.getClerkId(), vo.getWeiChatCode(), vo.getRemark());
|
||||
playOrderInfoService.createOrderInfo(orderId, playOrderInfoService.getOrderNo(), "3", "2", "2", "0", "1", "", "0", BigDecimal.ZERO, "", "", "0", new BigDecimal(vo.getMoney()), new BigDecimal(vo.getMoney()), BigDecimal.ZERO, userId, vo.getClerkId(), vo.getWeiChatCode(), vo.getRemark());
|
||||
//
|
||||
// playOrderInfoService.createRewardOrder(orderId, new BigDecimal(vo.getMoney()), new BigDecimal(vo.getMoney()), userId, clerkUserInfo.getId(), vo.getRemark(), vo.getWeiChatCode());
|
||||
// 顾客减少余额
|
||||
|
||||
@@ -189,7 +189,7 @@ public class WxOauthController {
|
||||
// 缓存租户信息
|
||||
String redisKey = "TENANT_INFO:" + entity.getId();
|
||||
redisCache.setCacheObject(redisKey, entity.getTenantId());
|
||||
JSONObject jsonObject = JSONObject.from(clerkUserInfoService.getVo(new PlayClerkUserInfoEntity()));
|
||||
JSONObject jsonObject = JSONObject.from(entity);
|
||||
String tokenValue = tokenService.createWxUserToken(entity.getId());
|
||||
jsonObject.put("tokenValue", TOKEN_PREFIX + tokenValue);
|
||||
jsonObject.put("tokenName", CLERK_USER_LOGIN_TOKEN);
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.starry.admin.modules.weichat.entity.clerk;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author admin
|
||||
* @since 2024/6/10 下午8:58
|
||||
**/
|
||||
@Data
|
||||
public class PlayClerkLevelAndRankingVo {
|
||||
|
||||
/**
|
||||
* 等级ID
|
||||
*/
|
||||
private String levelName;
|
||||
|
||||
|
||||
/**
|
||||
* 开始名次
|
||||
*/
|
||||
private Integer startRanking;
|
||||
|
||||
/**
|
||||
* 开始名次
|
||||
*/
|
||||
private Integer endRanking;
|
||||
|
||||
|
||||
private Integer sort;
|
||||
|
||||
|
||||
public PlayClerkLevelAndRankingVo(String levelName, Integer startRanking, Integer endRanking,Integer sort) {
|
||||
this.levelName = levelName;
|
||||
this.startRanking = startRanking;
|
||||
this.endRanking = endRanking;
|
||||
this.sort = sort;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.starry.admin.modules.weichat.entity.clerk;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author admin
|
||||
* @since 2024/6/10 下午8:58
|
||||
**/
|
||||
@Data
|
||||
public class PlayClerkLevelInfoReturnVo {
|
||||
|
||||
/**
|
||||
* 等级ID
|
||||
*/
|
||||
private String levelId;
|
||||
|
||||
|
||||
/**
|
||||
* 等级名称
|
||||
*/
|
||||
private String levelName;
|
||||
|
||||
|
||||
private List<PlayClerkLevelAndRankingVo> levelAndRanking;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.starry.admin.modules.weichat.entity.clerk;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author admin
|
||||
* @since 2024/6/10 下午8:58
|
||||
**/
|
||||
@Data
|
||||
public class PlayClerkPerformanceInfoQueryVo {
|
||||
|
||||
private String clerkId;
|
||||
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private LocalDateTime endTime;
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package com.starry.admin.modules.weichat.entity.clerk;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author admin
|
||||
* @since 2024/6/10 下午8:58
|
||||
**/
|
||||
@Data
|
||||
public class PlayClerkPerformanceInfoReturnVo {
|
||||
|
||||
/**
|
||||
* 连续用户数
|
||||
*/
|
||||
private final Integer continuousCustomNumber = 0;
|
||||
/**
|
||||
* 续单比例
|
||||
*/
|
||||
private final BigDecimal orderContinueProportion = BigDecimal.ZERO;
|
||||
/**
|
||||
* 订单平均价格
|
||||
*/
|
||||
private final BigDecimal averageUnitPrice = BigDecimal.ZERO;
|
||||
/**
|
||||
* 店员ID
|
||||
*/
|
||||
private String clerkId;
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
private String groupName = "分组1";
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
private String levelName = "金牌";
|
||||
/**
|
||||
* 在线时长
|
||||
*/
|
||||
private Integer onlineDuration = 0;
|
||||
/**
|
||||
* 订单总数
|
||||
*/
|
||||
private Integer orderNumber = 0;
|
||||
/**
|
||||
* 首单数
|
||||
*/
|
||||
private Integer orderFirstNumber = 0;
|
||||
/**
|
||||
* 续单数
|
||||
*/
|
||||
private Integer orderContinueNumber = 0;
|
||||
/**
|
||||
* 退款单数
|
||||
*/
|
||||
private Integer orderRefundNumber = 0;
|
||||
/**
|
||||
* 超时未接单数
|
||||
*/
|
||||
private Integer ordersExpiredNumber = 0;
|
||||
/**
|
||||
* 订单金额
|
||||
*/
|
||||
private BigDecimal finalAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 首单金额
|
||||
*/
|
||||
private BigDecimal orderFirstAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 续单金额
|
||||
*/
|
||||
private BigDecimal orderTotalAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 打赏金额
|
||||
*/
|
||||
private BigDecimal orderRewardAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 退款金额
|
||||
*/
|
||||
private BigDecimal orderRefundAmount = BigDecimal.ZERO;
|
||||
/**
|
||||
* 用户数
|
||||
*/
|
||||
private Integer customNumber = 0;
|
||||
/**
|
||||
* 续费率
|
||||
*/
|
||||
private BigDecimal orderContinueRechargeProportion = BigDecimal.ZERO;
|
||||
/**
|
||||
* 退单率
|
||||
*/
|
||||
private BigDecimal orderChargebackProportion = BigDecimal.ZERO;
|
||||
/**
|
||||
* 续客率
|
||||
*/
|
||||
private BigDecimal continuousCustomProportion = BigDecimal.ZERO;
|
||||
/**
|
||||
* 店员预计收入
|
||||
*/
|
||||
private BigDecimal estimatedRevenue = BigDecimal.ZERO;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user