This commit is contained in:
admin
2024-06-10 11:31:16 +08:00
parent 75fb44343b
commit 0e2b7ef42b
10 changed files with 174 additions and 15 deletions

View File

@@ -2,18 +2,19 @@ package com.starry.admin.modules.order.controller;
import com.starry.admin.common.exception.CustomException;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import com.starry.admin.modules.order.module.vo.PlayOrderEditAcceptByVo;
import com.starry.admin.modules.order.module.vo.PlayOrderEditBackendRemarkByVo;
import com.starry.admin.modules.order.module.vo.PlayOrderInfoQueryVo;
import com.starry.admin.modules.order.module.vo.PlayOrderRefundAddVo;
import com.starry.admin.modules.order.module.entity.PlayOrderRandomInfoEntity;
import com.starry.admin.modules.order.module.vo.*;
import com.starry.admin.modules.order.service.IPlayOrderInfoService;
import com.starry.admin.modules.order.service.IPlayOrderRandomInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.context.CustomSecurityContextHolder;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
@@ -28,6 +29,9 @@ public class PlayOrderInfoController {
@Resource
private IPlayOrderInfoService orderInfoService;
@Resource
private IPlayOrderRandomInfoService playOrderRandomInfoService;
/**
* 分页查询订单列表
@@ -50,9 +54,10 @@ public class PlayOrderInfoController {
PlayOrderInfoEntity updateOrderInfo = new PlayOrderInfoEntity();
updateOrderInfo.setId(orderInfo.getId());
updateOrderInfo.setRefundType("1");
// 订单退款,订单状态变为已取消
updateOrderInfo.setOrderStatus("4");
updateOrderInfo.setRefundAmount(vo.getRefundAmount());
updateOrderInfo.setRefundReason(vo.getRefundReason());
updateOrderInfo.setOrderStatus("5");
return R.ok(orderInfoService.update(updateOrderInfo));
}
@@ -62,16 +67,13 @@ public class PlayOrderInfoController {
*/
@PostMapping("/orderEditAcceptBy")
public R orderEditAcceptBy(@Validated @RequestBody PlayOrderEditAcceptByVo vo) {
PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(vo.getOrderId());
PlayOrderInfoEntity updateOrderInfo = new PlayOrderInfoEntity();
updateOrderInfo.setId(orderInfo.getId());
updateOrderInfo.setAcceptBy(vo.getAcceptBy());
return R.ok(orderInfoService.update(updateOrderInfo));
orderInfoService.updateStateTo1("2", CustomSecurityContextHolder.getUserId(), vo.getAcceptBy(), vo.getOrderId());
return R.ok("操作成功");
}
/**
* 跟换店员
* 后台备注
*/
@PostMapping("/orderEditBackendRemark")
public R orderEditBackendRemark(@Validated @RequestBody PlayOrderEditBackendRemarkByVo vo) {
@@ -83,6 +85,33 @@ public class PlayOrderInfoController {
}
/**
* 重新抢单
*/
@PostMapping("/orderEditRandomSingle")
public R orderEditRandomSingle(@Validated @RequestBody PlayOrderEditRandomSingleVo vo) {
PlayOrderInfoEntity orderInfo = orderInfoService.selectOrderInfoById(vo.getOrderId());
if (!"1".equals(orderInfo.getPlaceType())) {
throw new CustomException("订单类型错误,无法重新抢单");
}
PlayOrderRandomInfoEntity randomInfoEntity = new PlayOrderRandomInfoEntity();
randomInfoEntity.setId(vo.getOrderId());
randomInfoEntity.setSex(vo.getSex());
randomInfoEntity.setLevelId(vo.getLevelId());
randomInfoEntity.setExcludeHistory(vo.getExcludeHistory());
randomInfoEntity.setRemark(vo.getRemark());
playOrderRandomInfoService.update(randomInfoEntity);
PlayOrderInfoEntity updateOrderInfo = new PlayOrderInfoEntity();
updateOrderInfo.setId(orderInfo.getId());
updateOrderInfo.setOrderStatus("0");
updateOrderInfo.setAcceptBy("");
updateOrderInfo.setEstimatedRevenueRatio(0);
updateOrderInfo.setEstimatedRevenue(BigDecimal.ZERO);
randomInfoEntity.setRemark(vo.getRemark());
return R.ok(orderInfoService.update(updateOrderInfo));
}
/**
* 根据ID查询订单
*/

View File

@@ -49,7 +49,6 @@ public class PlayOrderInfoEntity extends BaseEntity<PlayOrderInfoEntity> {
* 2已开始服务中
* 3已完成
* 4已取消
* 5已退款
*/
private String orderStatus;

View File

@@ -6,7 +6,6 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**

View File

@@ -170,5 +170,10 @@ public class PlayOrderDetailsReturnVo {
*/
private String evaluate = "0";
/**
* 是否投诉1已投诉;0:未投诉)
*/
private String complaint = "0";
}

View File

@@ -0,0 +1,54 @@
package com.starry.admin.modules.order.module.vo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 重新抢单对象
*
* @author admin
* @since 2024-03-20
*/
@Data
public class PlayOrderEditRandomSingleVo {
/**
* uuid
*/
@NotNull(message = "orderId不能为空")
private String orderId;
/**
* 陪聊性别0:未知;1:男;2:女)
*
* @since 2024/5/8 15:31
**/
@NotNull(message = "陪聊性别不能为空")
private String sex;
/**
* 陪聊等级
**/
@NotNull(message = "陪聊等级不能为空")
private String levelId;
/**
* 是否排除下单过的成员0:不排除;1:排除)
*
* @since 2024/5/8 15:28
**/
@NotNull(message = "是否排除下单过的成员不能为空")
private String excludeHistory;
/**
* 订单备注
*
* @since 2024/5/8 15:28
**/
private String remark;
}

View File

@@ -6,6 +6,8 @@ import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity
import com.starry.admin.modules.order.module.vo.PlayOrderComplaintQueryVo;
import com.starry.admin.modules.order.module.vo.PlayOrderComplaintReturnVo;
import java.util.List;
/**
* 订单投诉信息Service接口
*
@@ -22,6 +24,27 @@ public interface IPlayOrderComplaintInfoService extends IService<PlayOrderCompla
PlayOrderComplaintInfoEntity selectPlayOrderComplaintInfoById(String id);
/**
* 查询顾客对订单的评价内容
*
* @param customId 顾客ID
* @param orderId 订单ID
* @return boolean true:已评价false:未评价
**/
PlayOrderComplaintInfoEntity queryCustomToOrderOrderComplaintInfo(String customId, String orderId);
/**
* 查询订单评价列表
*
* @param entity 订单评价对象
* @return 订单评价列表
*/
List<PlayOrderComplaintInfoEntity> selectByList(PlayOrderComplaintInfoEntity entity);
/**
* 分页查询订单投诉列表
*

View File

@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* 订单投诉信息Service业务层处理
@@ -50,6 +51,29 @@ public class PlayOrderComplaintInfoServiceImpl extends ServiceImpl<PlayOrderComp
}
@Override
public PlayOrderComplaintInfoEntity queryCustomToOrderOrderComplaintInfo(String customId, String orderId) {
LambdaQueryWrapper<PlayOrderComplaintInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getCustomId, customId);
lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getOrderId, orderId);
return this.baseMapper.selectOne(lambdaQueryWrapper);
}
@Override
public List<PlayOrderComplaintInfoEntity> selectByList(PlayOrderComplaintInfoEntity entity) {
LambdaQueryWrapper<PlayOrderComplaintInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if (StrUtil.isNotBlank(entity.getClerkId())) {
lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getClerkId, entity.getClerkId());
}
if (StrUtil.isNotBlank(entity.getCustomId())) {
lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getCustomId, entity.getCustomId());
}
if (StrUtil.isNotBlank(entity.getOrderId())) {
lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getOrderId, entity.getOrderId());
}
return this.baseMapper.selectList(lambdaQueryWrapper);
}
@Override
public IPage<PlayOrderComplaintReturnVo> selectByPage(PlayOrderComplaintQueryVo vo) {
MPJLambdaWrapper<PlayOrderComplaintInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<PlayOrderComplaintInfoEntity>();

View File

@@ -15,10 +15,12 @@ import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity;
import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService;
import com.starry.admin.modules.order.mapper.PlayOrderInfoMapper;
import com.starry.admin.modules.order.module.constant.OrderConstant;
import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity;
import com.starry.admin.modules.order.module.entity.PlayOrderEvaluateInfoEntity;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import com.starry.admin.modules.order.module.entity.PlayOrderRefundInfoEntity;
import com.starry.admin.modules.order.module.vo.*;
import com.starry.admin.modules.order.service.IPlayOrderComplaintInfoService;
import com.starry.admin.modules.order.service.IPlayOrderEvaluateInfoService;
import com.starry.admin.modules.order.service.IPlayOrderInfoService;
import com.starry.admin.modules.order.service.IPlayOrderRefundInfoService;
@@ -69,6 +71,9 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
@Resource
private IPlayOrderEvaluateInfoService playOrderEvaluateInfoService;
@Resource
private IPlayOrderComplaintInfoService playOrderComplaintInfoService;
@Override
public void createOrderInfo(String orderId, String orderNo, String orderState, String orderType, String placeType, String rewardType, String firstOrder, String commodityId, String commodityType, BigDecimal commodityPrice, String serviceDuration, String commodityName, String commodityNumber, BigDecimal orderMoney, BigDecimal finalAmount, BigDecimal discountAmount, String purchaserBy, String acceptBy, String weiChatCode, String remark) {
@@ -524,6 +529,10 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
// 查询订单是否评价
PlayOrderEvaluateInfoEntity orderEvaluateInfoEntity = playOrderEvaluateInfoService.queryCustomToOrderEvaluateInfo(customId, orderId);
returnVo.setEvaluate(orderEvaluateInfoEntity != null ? "1" : "0");
PlayOrderComplaintInfoEntity orderComplaintInfoEntity = playOrderComplaintInfoService.queryCustomToOrderOrderComplaintInfo(customId, orderId);
// 查询订单是否投诉
returnVo.setComplaint(orderComplaintInfoEntity != null ? "1" : "0");
return returnVo;
}
@@ -538,6 +547,13 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
for (PlayCustomOrderListReturnVo record : page.getRecords()) {
record.setEvaluate(evaluateInfos.containsKey(record.getId()) ? "1" : "0");
}
// 获取当前顾客所有订单投诉信息,将订单评价信息转化为 map<订单ID订单ID>的结构
PlayOrderComplaintInfoEntity orderComplaintInfoEntity = new PlayOrderComplaintInfoEntity();
orderComplaintInfoEntity.setCustomId(vo.getPurchaserBy());
Map<String, String> complaintInfos = playOrderComplaintInfoService.selectByList(orderComplaintInfoEntity).stream().collect(Collectors.toMap(PlayOrderComplaintInfoEntity::getOrderId, PlayOrderComplaintInfoEntity::getOrderId));
for (PlayCustomOrderListReturnVo record : page.getRecords()) {
record.setComplaint(complaintInfos.containsKey(record.getId()) ? "1" : "0");
}
return page;
}

View File

@@ -111,7 +111,12 @@ public class PlayCustomOrderDetailsReturnVo {
/**
* 是否评价1已评价;0:未评价)
*/
private String evaluate;
private String evaluate = "0";
/**
* 是否投诉1已投诉;0:未投诉)
*/
private String complaint = "0";
/**

View File

@@ -63,7 +63,12 @@ public class PlayCustomOrderListReturnVo {
/**
* 是否评价1已评价;0:未评价)
*/
private String evaluate;
private String evaluate = "0";
/**
* 是否投诉1已投诉;0:未投诉)
*/
private String complaint = "0";
/**