zoujiajian 1 gadu atpakaļ
vecāks
revīzija
26b04f26e6

+ 1 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserTicketClearedRecord.java

@@ -58,6 +58,7 @@ public class UserTicketClearedRecord extends BaseEntity{
 		abnormal("异常订单"),
 		dp("优惠加购订单退款"),
 		manual("手动清除"),
+		refund("退款")
 		;
 		String desc;
 

+ 15 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserTicketView.java

@@ -49,4 +49,19 @@ public class UserTicketView {
 
 	@DbField("gr.cmt")
 	private Integer cmt;
+
+	@DbField("gdk.is_mirror")
+	private Boolean isMirror;
+
+	/**
+	 * gpt 镜像限制次数
+	 */
+	@DbField("sku.gpt_limit_num")
+	private Integer gptUserLimitNum;
+
+	/**
+	 * gpt 镜像限制时间
+	 */
+	@DbField("sku.gpt_limit_time")
+	private Long gptUserLimitTime;
 }

+ 1 - 1
netflix-dao/src/main/resources/mapper/GroupRelationMapper.xml

@@ -397,7 +397,7 @@
     </select>
 
     <select id="selectUserTickets" resultType="com.cyksj.model.views.UserTicketView">
-        select gr.id as relation_id,gr.user_id,g.id as goods_id,gt.sku_id,g.title,gdk.spec_val,gr.expiry_time,gdk.is_mirror from groups_relation gr left join groups_trips gt on gt.id = gr.groups_id
+        select gr.id as relation_id,gr.user_id,g.id as goods_id,gt.sku_id,g.title,gdk.spec_val,gr.expiry_time,gdk.is_mirror,gdk.gpt_limit_num as gptUserLimitNum,gdk.gpt_limit_time as gptUserLimitTime from groups_relation gr left join groups_trips gt on gt.id = gr.groups_id
         left join goods_don_sku gdk on gdk.id = gt.sku_id left join goods_don g on g.id = gdk.goods_id
         where gr.user_id in
         <foreach collection="userIds" item="item" open="(" separator="," close=")">

+ 9 - 14
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderCommonServiceImpl.java

@@ -10,6 +10,7 @@ import com.cyksj.mapper.*;
 import com.cyksj.model.entity.*;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.order.OrderCommonService;
+import com.cyksj.service.relation.GroupRelationClearService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -42,6 +43,8 @@ public class OrderCommonServiceImpl implements OrderCommonService {
 
 	private final RedisService redisService;
 
+	private final GroupRelationClearService clearService;
+
 	@Override
 	public void clearUnrealGoodsDetail(OrderDon orderDon, Integer goodsType, GoodsDonSku sku) {
 		if (goodsType == 1 && sku != null) {
@@ -117,19 +120,7 @@ public class OrderCommonServiceImpl implements OrderCommonService {
 					}
 				}
 				if (isFlag) {
-					relation.setUserId(0l);
-					if (relation.getStatus() != GroupsRelation.Status.outside) {
-						relation.setStatus(GroupsRelation.Status.none);
-					}
-					relation.setStartTime(null);
-					relation.setExpiryTime(null);
-					relation.setIsHandle(false);
-					relation.setRenewStatus(false);
-					relation.setAccount(null);
-					groupsRelationMapper.updateExpiryTime(relation, expiryTime);
-					if (relation.getStatus() != GroupsRelation.Status.outside) {
-						delRelation(relation);
-					}
+					clearService.clearTicket(relation, UserTicketClearedRecord.Source.refund);
 				} else {
 					if (expiryTime != null) {
 						if (sku.getDays() != null && sku.getDays() > 0) {
@@ -142,7 +133,11 @@ public class OrderCommonServiceImpl implements OrderCommonService {
 							}
 						}
 						relation.setExpiryTime(expiryTime);
-						groupsRelationMapper.updateById(relation);
+						if (expiryTime.compareTo(now) <= 0) {
+							clearService.clearTicket(relation, UserTicketClearedRecord.Source.refund);
+						} else {
+							groupsRelationMapper.updateById(relation);
+						}
 					}
 				}
 				orderDon.setIsKickOut(true);