Przeglądaj źródła

原订单信息

zoujiajian 2 lat temu
rodzic
commit
dcc80ffd6e

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonSkuMapper.java

@@ -1,6 +1,7 @@
 package com.cyksj.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.dto.OriSkuDto;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.YhShopGoodsSku;
 import org.apache.ibatis.annotations.Param;
@@ -24,4 +25,6 @@ public interface GoodsDonSkuMapper  extends BaseMapper<GoodsDonSku> {
 	List<Long> selectSingleSkuIdsByGoodsId(Long goodsId);
 
 	GoodsDonSku checkAndReturnMinPriceUserOwnsSku(@Param("goodsId") Long goodsId, @Param("dsUserId") Long dsUserId);
+
+	OriSkuDto selectRenewOriSku(Long skuId);
 }

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/OriSkuDto.java

@@ -0,0 +1,18 @@
+package com.cyksj.model.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class OriSkuDto {
+	private Long id;
+
+	private String specVal;
+
+	private Integer months;
+
+	private Integer gptLimitNum;
+
+	private Long gptLimitTime;
+}

+ 21 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/RenewOriOrderSkuDto.java

@@ -0,0 +1,21 @@
+package com.cyksj.model.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: RenewOriOrderSkuDto
+ * 创建者: JavaZou
+ * 创建时间:2024/7/23 15:14
+ */
+@Getter
+@Setter
+public class RenewOriOrderSkuDto {
+	private OriSkuDto oriSku;
+
+	private Date lastExpiryTime;
+
+}

+ 9 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonBackView.java

@@ -284,4 +284,13 @@ public class OrderDonBackView {
 
 	@DbField("sku.mj_relax_num")
 	private Integer mjRelaxNum;
+
+	@DbIgnore
+	private Date oriPayTime;
+
+	@DbIgnore
+	private String oriSpecVal;
+
+	@DbIgnore
+	private String expiryTime;
 }

+ 7 - 0
netflix-dao/src/main/resources/mapper/GoodsDonSkuMapper.xml

@@ -48,4 +48,11 @@
             or JSON_CONTAINS(user_owns, '${dsUserId}')
         </if>) order by price limit 1
     </select>
+
+    <select id="selectRenewOriSku" resultType="com.cyksj.model.dto.OriSkuDto">
+        select *
+        from goods_don_sku
+        where id = #{skuId}
+        limit 1
+    </select>
 </mapper>

+ 31 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -2,6 +2,7 @@ package com.cyksj.web.controller.manage;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
@@ -28,6 +29,8 @@ import com.cyksj.mapper.manage.RealGoodsOrderHandleMapper;
 import com.cyksj.mapper.manage.cms.CmsUserMapper;
 import com.cyksj.mapper.manage.coupon.CouponMapper;
 import com.cyksj.mapper.shop.YhShopMapper;
+import com.cyksj.model.dto.OriSkuDto;
+import com.cyksj.model.dto.RenewOriOrderSkuDto;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.excel.*;
 import com.cyksj.model.manage.request.ReqSetLogisticsPost;
@@ -114,6 +117,8 @@ public class CmsOrderController {
 
 	private final UserBindRelationService userBindRelationService;
 
+	private final OrderDonRenewRecordMapper orderDonRenewRecordMapper;
+
 
 	@GetMapping("/get")
 	@SaCheckPermission("order:view")
@@ -1058,4 +1063,30 @@ public class CmsOrderController {
 				.build());
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
+
+	/**
+	 * 续费升级订单详情
+	 */
+	@GetMapping("/renew/orders/detail")
+	public Result<RenewOriOrderSkuDto> getRenewOrdersDetail(Long orderId) {
+		OrderDon orderDon = orderDonMapper.selectById(orderId);
+		if (!orderDon.getIsMirror() && orderDon.getOrderType() == 2) {
+			OrderDonRenewRecord orderDonRenewRecord = orderDonRenewRecordMapper.selectOne(Wrappers.lambdaQuery(OrderDonRenewRecord.class)
+					.eq(OrderDonRenewRecord::getOrderId, orderDon.getId())
+					.last("limit 1"));
+			if (orderDonRenewRecord != null) {
+				GroupsRelation relation = relationMapper.selectById(orderDon.getRelationId());
+				GoodsDonSku sku = skuMapper.selectById(orderDon.getSkuId());
+				Date expiryTime = relation.getExpiryTime();
+				DateTime lastExpiryTIme = DateUtil.offsetMonth(expiryTime, -sku.getMonths());
+
+				RenewOriOrderSkuDto renewOriOrderSkuDto = new RenewOriOrderSkuDto();
+				OriSkuDto oriSku = skuMapper.selectRenewOriSku(orderDonRenewRecord.getOriSkuId());
+				renewOriOrderSkuDto.setOriSku(oriSku);
+				renewOriOrderSkuDto.setLastExpiryTime(lastExpiryTIme);
+				return GatewayResponse.SUCCESS.newBuilder().toResult(renewOriOrderSkuDto);
+			}
+		}
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
 }