|
@@ -38,6 +38,7 @@ import com.cyksj.model.request.*;
|
|
|
import com.cyksj.model.views.*;
|
|
import com.cyksj.model.views.*;
|
|
|
import com.cyksj.service.mange.CmsOrderDonService;
|
|
import com.cyksj.service.mange.CmsOrderDonService;
|
|
|
import com.cyksj.service.order.OrderDonCommentService;
|
|
import com.cyksj.service.order.OrderDonCommentService;
|
|
|
|
|
+import com.cyksj.service.user.UserBindRelationService;
|
|
|
import com.cyksj.service.user.UserService;
|
|
import com.cyksj.service.user.UserService;
|
|
|
import com.cyksj.web.util.EasyExcelUtils;
|
|
import com.cyksj.web.util.EasyExcelUtils;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
@@ -111,6 +112,8 @@ public class CmsOrderController {
|
|
|
|
|
|
|
|
private final MidjourneyUserMapper midjourneyUserMapper;
|
|
private final MidjourneyUserMapper midjourneyUserMapper;
|
|
|
|
|
|
|
|
|
|
+ private final UserBindRelationService userBindRelationService;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
@GetMapping("/get")
|
|
@GetMapping("/get")
|
|
|
@SaCheckPermission("order:view")
|
|
@SaCheckPermission("order:view")
|
|
@@ -987,16 +990,60 @@ public class CmsOrderController {
|
|
|
startTime = DateUtil.offsetMonth(startTime, sku.getMonths());
|
|
startTime = DateUtil.offsetMonth(startTime, sku.getMonths());
|
|
|
expiryTime = relation.getExpiryTime();
|
|
expiryTime = relation.getExpiryTime();
|
|
|
}
|
|
}
|
|
|
- MidjourneyUserDetailView midjourneyUserDetailView = midjourneyUserConversationMapper.getMjMirrorOrderDetail(orderDon.getRelationId(), startTime, expiryTime);
|
|
|
|
|
-
|
|
|
|
|
- GoodsDonSku sku = skuMapper.selectById(orderDon.getSkuId());
|
|
|
|
|
MidjourneyUser midjourneyUser = midjourneyUserMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUser.class)
|
|
MidjourneyUser midjourneyUser = midjourneyUserMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUser.class)
|
|
|
.eq(MidjourneyUser::getRelationId, orderDon.getRelationId())
|
|
.eq(MidjourneyUser::getRelationId, orderDon.getRelationId())
|
|
|
.last("limit 1"));
|
|
.last("limit 1"));
|
|
|
|
|
+ if (midjourneyUser == null) {
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
|
|
+ }
|
|
|
|
|
+ MidjourneyUserDetailView midjourneyUserDetailView = midjourneyUserConversationMapper.getMjMirrorOrderDetail(orderDon.getRelationId(), startTime, expiryTime);
|
|
|
|
|
+ GoodsDonSku sku = skuMapper.selectById(orderDon.getSkuId());
|
|
|
midjourneyUserDetailView.setUserId(orderDon.getUserId());
|
|
midjourneyUserDetailView.setUserId(orderDon.getUserId());
|
|
|
midjourneyUserDetailView.setExpiryTime(midjourneyUser.getExpireTime());
|
|
midjourneyUserDetailView.setExpiryTime(midjourneyUser.getExpireTime());
|
|
|
midjourneyUserDetailView.setMjFastNum(sku.getMjFastNum() - midjourneyUserDetailView.getUseFastNum());
|
|
midjourneyUserDetailView.setMjFastNum(sku.getMjFastNum() - midjourneyUserDetailView.getUseFastNum());
|
|
|
- midjourneyUserDetailView.setMjRelaxNum(sku.getMjRelaxNum() - midjourneyUserDetailView.getUseRelaxNum());
|
|
|
|
|
|
|
+ if (sku.getMjRelaxNum() == null) {
|
|
|
|
|
+ midjourneyUserDetailView.setMjRelaxNum(null);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ midjourneyUserDetailView.setMjRelaxNum(sku.getMjRelaxNum() - midjourneyUserDetailView.getUseRelaxNum());
|
|
|
|
|
+ }
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(midjourneyUserDetailView);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(midjourneyUserDetailView);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 用户退款详情
|
|
|
|
|
+ */
|
|
|
|
|
+ @GetMapping("/get/user/refund/detail")
|
|
|
|
|
+ public Result<OrderDonUserRefundDetailView> getUserRefundDetail(Long userId) {
|
|
|
|
|
+ if (userId == null || userId == 0) {
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
|
|
+ }
|
|
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
|
|
+ String userIds = null;
|
|
|
|
|
+ if (CollUtil.isNotEmpty(userIdList)) {
|
|
|
|
|
+ userIds = userIdList.toString().replaceAll("\\[", "").replaceAll("]", "");
|
|
|
|
|
+ }
|
|
|
|
|
+ MapBuilder builder = MapUtils.builder();
|
|
|
|
|
+ if (StrUtil.isNotBlank(userIds)) {
|
|
|
|
|
+ builder.put("uid", String.format(" and user_id in (%s)", userIds));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ builder.put("uid", String.format(" and user_id = %s", userId));
|
|
|
|
|
+ }
|
|
|
|
|
+ OrderDonUserRefundDetailView orderDonUserRefundDetailView = beanSearcher.searchFirst(OrderDonUserRefundDetailView.class, builder.build());
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(orderDonUserRefundDetailView);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 用户订单列表
|
|
|
|
|
+ */
|
|
|
|
|
+ @GetMapping("/get/user/orders")
|
|
|
|
|
+ public Result<SearchResult<OrderDonUserRefundDetailView.OrderDonDetailView>> getUserOrdersDetail(Long userId) {
|
|
|
|
|
+ if (userId == null || userId == 0) {
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
|
|
+ }
|
|
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
|
|
+ SearchResult<OrderDonUserRefundDetailView.OrderDonDetailView> search = beanSearcher.search(OrderDonUserRefundDetailView.OrderDonDetailView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
|
|
+ .field(OrderDonUserRefundDetailView.OrderDonDetailView::getUserId, userIdList).op(Operator.InList)
|
|
|
|
|
+ .build());
|
|
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|