Эх сурвалжийг харах

fix 微信注册方式数据统计

zoujiajian 3 жил өмнө
parent
commit
bda2671f04

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

@@ -61,6 +61,21 @@ public class UserView {
     @DbField("u.points")
     private BigDecimal points;
 
+    @DbField("case when u.login_phone != '' then 'phone' when u.email != '' then 'email' when u.open_id != '' then 'wechat' else 'wechat' end")
+    private String register;
+
+    /**
+     * 登录注册手机号
+     */
+    @DbField("u.login_phone")
+    private String loginPhone;
+
+    /**
+     * 登录注册邮箱
+     */
+    @DbField("u.email")
+    private String email;
+
     /**
      * 活跃抽奖积分
      */

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/views/ChannelPopularizeView.java

@@ -87,6 +87,12 @@ public class ChannelPopularizeView {
     @DbIgnore
     private Integer phoneCount;
 
+    /**
+     * 微信授权注册
+     */
+    @DbIgnore
+    private Integer wechatCount;
+
     /**
      * 网页端支付订单数
      */

+ 2 - 2
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpEventActionServiceImpl.java

@@ -348,12 +348,12 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 					text.put("content", corpNewUserWelcomeMsg.getText());
 					params.putOpt("welcome_code", welcomeCode);
 					params.putOpt("text", text);
-					if (corpNewUserWelcomeMsg.getIsLink()) {
+					Optional.ofNullable(corpNewUserWelcomeMsg.getIsLink()).ifPresent(linkUrl -> {
 						List<Attachments> attachments = new ArrayList<>();
 						Attachments link = new Attachments("link", new Attachments.Link(corpNewUserWelcomeMsg.getLinkTitle(), corpNewUserWelcomeMsg.getLinkPicUrl(), corpNewUserWelcomeMsg.getLinkDesc(), corpNewUserWelcomeMsg.getLinkUrl()));
 						attachments.add(link);
 						params.putOpt("attachments", attachments);
-					}
+					});
 					HttpResponse<byte[]> res = null;
 					try {
 						res = J11HttpC.custom()

+ 5 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/channel/CmsChannelPopularizeController.java

@@ -66,6 +66,11 @@ public class CmsChannelPopularizeController {
                     .ne(User::getLoginPhone, ""));
             data.setPhoneCount(phoneCount);
 
+            Integer wechatCount = userMapper.selectCount(Wrappers.lambdaQuery(User.class)
+                    .eq(User::getPopularizeId, data.getId())
+                    .ne(User::getOpenId, ""));
+            data.setWechatCount(wechatCount);
+
             Integer numOfOrderWebPay = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
                     .eq(OrderDon::getPopularizeId, data.getId())
                     .eq(OrderDon::getIsWebPay, true)