diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java index 2df7687..c8d0e0e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/controller/PlayOrderInfoController.java @@ -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查询订单 */ diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java index aa9860c..f0d56e4 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/entity/PlayOrderInfoEntity.java @@ -49,7 +49,6 @@ public class PlayOrderInfoEntity extends BaseEntity { * 2:已开始(服务中) * 3:已完成 * 4:已取消 - * 5:已退款 */ private String orderStatus; diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderContinueReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderContinueReturnVo.java index 007e5fb..496935f 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderContinueReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderContinueReturnVo.java @@ -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; /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderDetailsReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderDetailsReturnVo.java index a0831a8..6e68cb2 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderDetailsReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderDetailsReturnVo.java @@ -170,5 +170,10 @@ public class PlayOrderDetailsReturnVo { */ private String evaluate = "0"; + /** + * 是否投诉(1:已投诉;0:未投诉) + */ + private String complaint = "0"; + } \ No newline at end of file diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEditRandomSingleVo.java b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEditRandomSingleVo.java new file mode 100644 index 0000000..1beedf5 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/order/module/vo/PlayOrderEditRandomSingleVo.java @@ -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; + + +} \ No newline at end of file diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java index 9ad246b..3a46738 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/IPlayOrderComplaintInfoService.java @@ -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 selectByList(PlayOrderComplaintInfoEntity entity); + + /** * 分页查询订单投诉列表 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java index 76a0e28..e4ea0e5 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderComplaintInfoServiceImpl.java @@ -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 lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getCustomId, customId); + lambdaQueryWrapper.eq(PlayOrderComplaintInfoEntity::getOrderId, orderId); + return this.baseMapper.selectOne(lambdaQueryWrapper); + } + + @Override + public List selectByList(PlayOrderComplaintInfoEntity entity) { + LambdaQueryWrapper 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 selectByPage(PlayOrderComplaintQueryVo vo) { MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper(); diff --git a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java index 5ccbec6..0b7f8e7 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/order/service/impl/PlayOrderInfoServiceImpl.java @@ -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的结构 + PlayOrderComplaintInfoEntity orderComplaintInfoEntity = new PlayOrderComplaintInfoEntity(); + orderComplaintInfoEntity.setCustomId(vo.getPurchaserBy()); + Map 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; } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderDetailsReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderDetailsReturnVo.java index bd335c2..3591a8e 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderDetailsReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderDetailsReturnVo.java @@ -111,7 +111,12 @@ public class PlayCustomOrderDetailsReturnVo { /** * 是否评价(1:已评价;0:未评价) */ - private String evaluate; + private String evaluate = "0"; + + /** + * 是否投诉(1:已投诉;0:未投诉) + */ + private String complaint = "0"; /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderListReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderListReturnVo.java index 03e980c..58ebdd1 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderListReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/order/PlayCustomOrderListReturnVo.java @@ -63,7 +63,12 @@ public class PlayCustomOrderListReturnVo { /** * 是否评价(1:已评价;0:未评价) */ - private String evaluate; + private String evaluate = "0"; + + /** + * 是否投诉(1:已投诉;0:未投诉) + */ + private String complaint = "0"; /**