Bladeren bron

新车票文案展示

zoujiajian 3 jaren geleden
bovenliggende
commit
4497523aa6

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

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.GroupsRelation;
 import com.cyksj.model.manage.views.GroupsRelationView;
+import com.cyksj.model.views.GroupsRelationUserView;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Update;
 
@@ -42,4 +43,6 @@ public interface GroupsRelationMapper extends BaseMapper<GroupsRelation> {
 	GroupsRelation selectOutsideRelationByGroupsId(@Param("groupsId") Long groupsId, @Param("relationNum") Integer relationNum);
 
 	List<GroupsRelation> selectExpiredChatGPTRelation(@Param("nextBeginDay") DateTime nextBeginDay, @Param("list") List<Long> gptSkuIds);
+
+	List<GroupsRelationUserView> getUserRelationUserViews(@Param("groupsId") Long groupsId, @Param("relationId") Long relationId, @Param("userId") Long userId, @Param("status") List<GroupsRelation.Status> status);
 }

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GroupsRelationUserView.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: netflix
+ *文件名: GroupsRelationUserView
+ *创建者: JavaZou
+ *创建时间:2023/7/11 16:28
+ */
+@Getter
+@Setter
+public class GroupsRelationUserView {
+	private Long relationId;
+
+	private Boolean isSelf;
+
+	private String nickname;
+
+	private String headimgurl;
+}

+ 7 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -9,6 +9,7 @@ import lombok.Setter;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author chan
@@ -103,4 +104,10 @@ public class RenewalView {
 
     @DbIgnore
     private GoodsDonViews goodsDonViews;
+
+    @DbIgnore
+    private String remainDays;
+
+    @DbIgnore
+    private List<GroupsRelationUserView> relationViews;
 }

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

@@ -132,4 +132,28 @@
         </foreach>
         and gr.expiry_time &lt;= #{nextBeginDay}
     </select>
+
+    <select id="getUserRelationUserViews" resultType="com.cyksj.model.views.GroupsRelationUserView">
+        select gr.*,
+        u.nickname,
+        u.headimgurl
+        from (select id as relation_id,
+                     true as isSelf
+        from groups_relation
+        where id = #{relationId}
+        and status in
+        <foreach collection="status" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        limit 1
+        union all
+        (select id as realtion_id,
+        if(user_id = #{userId},true,false) as isSelf from groups_relation where id != #{relationId}
+        and groups_id = #{groupsId}
+        and status in
+        <foreach collection="status" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        limit 4))gr inner join user u on u.id = gr.user_id
+    </select>
 </mapper>

+ 5 - 3
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -12,6 +12,7 @@ import com.cyksj.mapper.corp.CorpUserMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.views.CorpUserFollowView;
 import com.cyksj.model.views.GoodsDonViews;
+import com.cyksj.model.views.GroupsRelationUserView;
 import com.cyksj.model.views.RenewalView;
 import com.cyksj.service.mange.coupon.CouponCommonService;
 import com.cyksj.service.relation.GroupRelationFrontService;
@@ -82,11 +83,12 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				views.setSkuList(beanSearcher.searchAll(GoodsDonSku.class, MapUtils.builder().field(GoodsDonSku::getGoodsId, views.getId()).field(GoodsDonSku::getStatus, true).build()));
 				ticket.setGoodsDonViews(views);
 			}
-			if (ticket.getGoodsType() == 1 && ticket.getSecondType() == 2 && ticket.getMonths() < 300 && ticket.getExpiryTime() != null) {
+			if (ticket.getExpiryTime() != null && ticket.getGoodsType() == 1 && ticket.getSecondType() == 2 && ticket.getMonths() < 300) {
 				String remainDays = DateUtil.formatBetween(now, ticket.getExpiryTime());
-
-				ticket.setRemainDays();
+				ticket.setRemainDays(remainDays);
 			}
+			List<GroupsRelationUserView> relationUserViews = groupsRelationMapper.getUserRelationUserViews(ticket.getGroupId(), ticket.getRelationId(), ticket.getUserId(), List.of(GroupsRelation.Status.validity, GroupsRelation.Status.outside));
+			ticket.setRelationViews(relationUserViews);
 			return true;
 		}).collect(Collectors.toList());
 		return collect;