zoujiajian 2 년 전
부모
커밋
a3a1fc1868

+ 4 - 4
netflix-dao/src/main/java/com/cyksj/mapper/MidjourneyUserConversationMapper.java

@@ -3,7 +3,9 @@ package com.cyksj.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.MidjourneyUserConversation;
 import com.cyksj.model.views.MidjourneyUserDetailView;
-import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 
 /**
  * @author zwhui
@@ -11,7 +13,5 @@ import org.apache.ibatis.annotations.Select;
  */
 public interface MidjourneyUserConversationMapper extends BaseMapper<MidjourneyUserConversation> {
 
-
-	@Select("select count(IF(muc.mode = 1,1,NULL)) as useFastNum, count(if(muc.mode = 2,1,NULL)) as useRelaxNum from (select id from midjourney_user where relation_id = #{relationId} limit 1) mu inner join midjourney_user_conversation muc on muc.user_id = mu.id where muc.status in ('SUCCESS','IN_PROGRESS')")
-	MidjourneyUserDetailView getMjMirrorOrderDetail(Long relationId);
+	MidjourneyUserDetailView getMjMirrorOrderDetail(@Param("relationId") Long relationId, @Param("startTime") Date startTime, @Param("expiryTime") Date expiryTime);
 }

+ 19 - 0
netflix-dao/src/main/resources/mapper/MidjourneyUserConversationMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.cyksj.mapper.MidjourneyUserConversationMapper">
+
+
+    <select id="getMjMirrorOrderDetail" resultType="com.cyksj.model.views.MidjourneyUserDetailView">
+        select count(IF(muc.mode = 1, 1, NULL)) as useFastNum, count(if(muc.mode = 2, 1, NULL)) as useRelaxNum
+        from (select id from midjourney_user where relation_id = #{relationId} limit 1) mu
+        inner join midjourney_user_conversation muc on muc.user_id = mu.id
+        where muc.status in ('SUCCESS', 'IN_PROGRESS')
+        <if test="startTime != null">
+            and created_time > #{startTime}
+        </if>
+        <if test="expiryTime != null">
+            and created_time &lt; #{expiryTime}
+        </if>
+    </select>
+</mapper>

+ 20 - 3
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
@@ -247,9 +248,25 @@ public class CmsOrderController {
 	/**
 	 * 镜像规格使用详情
 	 */
-	@GetMapping("/get/order/mj/mirror/detail/{relationId}")
-	public Result<MidjourneyUserDetailView> getMjMirrorOrderDetail(@PathVariable Long relationId) {
-		MidjourneyUserDetailView midjourneyUserDetailView = midjourneyUserConversationMapper.getMjMirrorOrderDetail(relationId);
+	@GetMapping("/get/order/mj/mirror/detail/{orderId}")
+	public Result<MidjourneyUserDetailView> getMjMirrorOrderDetail(@PathVariable Long orderId) {
+		OrderDon orderDon = orderDonMapper.selectById(orderId);
+		//续费订单
+		Date startTime = null;
+		Date expiryTime = null;
+		if (orderDon.getOrderType() == 2) {
+			GoodsDonSku sku = skuMapper.selectById(orderDon.getSkuId());
+			GroupsRelation relation = relationMapper.selectOne(Wrappers.lambdaQuery(GroupsRelation.class)
+					.eq(GroupsRelation::getId, orderDon.getRelationId())
+					.eq(GroupsRelation::getUserId, orderDon.getUserId()).last("limit 1"));
+			if (relation == null) {
+				return GatewayResponse.SUCCESS.newBuilder().toResult();
+			}
+			startTime = relation.getStartTime();
+			startTime = DateUtil.offsetMonth(startTime, sku.getMonths());
+			expiryTime = relation.getExpiryTime();
+		}
+		MidjourneyUserDetailView midjourneyUserDetailView = midjourneyUserConversationMapper.getMjMirrorOrderDetail(orderDon.getRelationId(), startTime, expiryTime);
 		return GatewayResponse.SUCCESS.newBuilder().toResult(midjourneyUserDetailView);
 	}