Преглед изворни кода

邀请制代充账号绑定

zoujiajian пре 1 година
родитељ
комит
bbc1d9b70b

+ 6 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -501,4 +501,10 @@ public interface Constant {
 	 * 善愿支付宝id
 	 */
 	String SY_SHOP_ID = "2021004146676727";
+
+	/**
+	 * 代充邀请制平台
+	 * 声破天 油管
+	 */
+	List<Long> RECHARGE_INVITE_GOODS_IDS = List.of(4l, 5l);
 }

+ 10 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GroupsRelation.java

@@ -52,6 +52,16 @@ public class GroupsRelation extends BaseEntity {
 
     private RechargeStatus rechargeStatus;
 
+    /**
+     * 邀请制家庭组链接
+     */
+    private String inviteLink;
+
+    /**
+     * 联系方式
+     */
+    private String contact;
+
     /**
      * 续费意愿处理状态
      */

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonQaFrontView.java

@@ -15,7 +15,7 @@ import lombok.Setter;
 @Setter
 @SearchBean(tables = "goods_don_qa_relate gr inner join goods_don_qa ga on ga.id = gr.question_id" +
 		" inner join goods_don g on g.id = gr.goods_id",
-		where = "ga.status is true and ga.deleted is true and g.status is true",
+		where = "ga.status is true and ga.deleted is true and g.status is true :p:",
 		orderBy = "ga.sorted asc,ga.update_time desc")
 public class GoodsDonQaFrontView {
 	@DbField("ga.id")

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GroupsRelationRechargeView.java

@@ -57,6 +57,18 @@ public class GroupsRelationRechargeView {
 	@DbField("gr.recharge_status")
 	private GroupsRelation.RechargeStatus rechargeStatus;
 
+	/**
+	 * 家庭组邀请链接
+	 */
+	@DbField("gr.invite_link")
+	private String inviteLink;
+
+	/**
+	 * 联系方式
+	 */
+	@DbField("gr.contact")
+	private String contact;
+
 	@DbField("g.id")
 	private Long goodsId;
 
@@ -69,6 +81,12 @@ public class GroupsRelationRechargeView {
 	@DbField("gdk.spec_val")
 	private String specVal;
 
+	/**
+	 * 座位数
+	 */
+	@DbField("gdk.num")
+	private Integer skuNUm;
+
 	@DbField("g.special_type")
 	private GoodsDon.SpecialType specialType;
 }

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

@@ -165,6 +165,18 @@ public class RenewalView {
     @DbField("gr.recharge_status")
     private GroupsRelation.RechargeStatus rechargeStatus;
 
+    /**
+     * 家庭组邀请链接
+     */
+    @DbField("gr.invite_link")
+    private String inviteLink;
+
+    /**
+     * 联系方式
+     */
+    @DbField("gr.contact")
+    private String contact;
+
     @DbIgnore
     private String orderNo;
     @DbIgnore

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

@@ -19,7 +19,9 @@
         operator = null,
         yhs_id = 0,
         cmt = 0,
-        aq_type = 1
+        aq_type = 1,
+        invite_link = null,
+        contact = null
         where id = #{entity.id}
         <if test="expireTime != null">
             and expiry_time = #{expireTime}

+ 6 - 0
netflix-service/src/main/java/com/cyksj/service/exchange/impl/ExchangeCodeServiceImpl.java

@@ -384,6 +384,12 @@ public class ExchangeCodeServiceImpl extends ServiceImpl<ExchangeCodeMapper, Exc
 			});
 		}
 		relation.setOrderId(orderDon.getId());
+		//邀请制代充平台
+		if ((goodsDon.getSpecialType() != null && goodsDon.getSpecialType() == GoodsDon.SpecialType.recharge) || Constant.RECHARGE_INVITE_GOODS_IDS.contains(goodsDon.getId())) {
+			relation.setRechargeStatus(GroupsRelation.RechargeStatus.waiting);
+			relation.setSubmitTime(DateTime.now());
+			groupsRelationMapper.updateById(relation);
+		}
 		return relation;
 	}
 

+ 3 - 1
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -1641,7 +1641,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				if (relation.getCmt() == 2 && relation.getYhsId() == 0) {
 					relation.setCmt(0);
 				}
-				if (goodsDon.getSpecialType() != null && goodsDon.getSpecialType() == GoodsDon.SpecialType.recharge) {
+				//代充平台以及部分邀请制平台
+				//需填写账号
+				if ((goodsDon.getSpecialType() != null && goodsDon.getSpecialType() == GoodsDon.SpecialType.recharge) || Constant.RECHARGE_INVITE_GOODS_IDS.contains(order.getGoodsId())) {
 					relation.setRechargeStatus(GroupsRelation.RechargeStatus.waiting);
 					relation.setSubmitTime(DateTime.now());
 				}

+ 18 - 2
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -181,6 +181,7 @@ public class GroupRelationController {
         LambdaUpdateWrapper<GroupsRelation> updateWrapper = Wrappers.lambdaUpdate(GroupsRelation.class)
                 .set(GroupsRelation::getAccount, relation.getAccount())
                 .set(GroupsRelation::getPassword, relation.getPassword())
+                .set(GroupsRelation::getContact, relation.getContact())
                 .eq(GroupsRelation::getId, relation.getId());
         if (re.getRechargeStatus() != null) {
             if (re.getRechargeStatus() == GroupsRelation.RechargeStatus.complete) {
@@ -874,8 +875,23 @@ public class GroupRelationController {
      * 车票所有常见问题
      */
     @GetMapping("/get/questions")
-    public Result<List<GoodsDonQaFrontView>> getAllTicketQuestions() {
-        List<GoodsDonQaFrontView> donQaFrontViews = beanSearcher.searchAll(GoodsDonQaFrontView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+    public Result<List<GoodsDonQaFrontView>> getAllTicketQuestions(String participle) {
+        MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
+        if (StrUtil.isNotBlank(participle)) {
+            char[] charArray = participle.toCharArray();
+            StringBuilder p = new StringBuilder();
+            p.append("and (");
+            for (int i = 0; i < charArray.length; i++) {
+                char c = charArray[i];
+                p.append(String.format(" ga.problem like '%%%s%%'", c));
+                if (i != charArray.length - 1) {
+                    p.append(" or ");
+                }
+            }
+            p.append(")");
+            builder.put("p", p);
+        }
+        List<GoodsDonQaFrontView> donQaFrontViews = beanSearcher.searchAll(GoodsDonQaFrontView.class, builder.build());
         return GatewayResponse.SUCCESS.newBuilder().toResult(donQaFrontViews);
     }
 

+ 9 - 3
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupRelationController.java

@@ -29,6 +29,7 @@ import com.cyksj.service.scheduler.SchedulerService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
 import com.ejlchina.searcher.param.Operator;
+import com.ejlchina.searcher.util.MapBuilder;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -90,10 +91,13 @@ public class CmsGroupRelationController {
      * 代充平台 用户账号车票列表
      */
     @GetMapping("/get/recharge")
-    public Result<SearchResult<GroupsRelationRechargeView>> getRechargeList() {
-        SearchResult<GroupsRelationRechargeView> search = beanSearcher.search(GroupsRelationRechargeView.class, MapUtils.flatBuilder(request.getParameterMap())
+    public Result<SearchResult<GroupsRelationRechargeView>> getRechargeList(String rechargeStatus) {
+        MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
+        if (StrUtil.isEmpty(rechargeStatus)) {
+            builder.field(GroupsRelationRechargeView::getRechargeStatus).op(Operator.NotNull);
+        }
+        SearchResult<GroupsRelationRechargeView> search = beanSearcher.search(GroupsRelationRechargeView.class,builder
                 .field(GroupsRelationRechargeView::getStatus, List.of(GroupsRelation.Status.validity.name(), GroupsRelation.Status.outside.name())).op(Operator.InList)
-                .field(GroupsRelationRechargeView::getSpecialType, GoodsDon.SpecialType.recharge.name())
                 .build());
         return GatewayResponse.SUCCESS.newBuilder().toResult(search);
     }
@@ -119,6 +123,8 @@ public class CmsGroupRelationController {
         }
         relation.setRechargeStatus(rechargeStatus);
         relation.setOperator(cmsUser.getNickname());
+        //邀请制家庭组链接
+        relation.setInviteLink(rechargeView.getInviteLink());
         if (rechargeStatus == GroupsRelation.RechargeStatus.complete) {
             relation.setSendTime(DateTime.now());
             OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)