Przeglądaj źródła

每个月买网飞超过2个的列表

zoujiajian 2 lat temu
rodzic
commit
a14763d428

+ 102 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserNfView.java

@@ -0,0 +1,102 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: UserNfView
+ * 创建者: JavaZou
+ * 创建时间:2024/8/20 10:24
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select distinct user_id from order_don where goods_id = 1 and status not in ('close','noPayment','refund') group by user_id,date_format(created_time,'%Y-%m') having count(*) > 2) o inner join user u on u.id = o.user_id")
+public class UserNfView {
+	/**
+	 * id
+	 */
+	@DbField("u.id")
+	private Long id;
+
+	/**
+	 * 名称
+	 */
+	@DbField("u.nickname")
+	private String nickname;
+
+	/**
+	 * 绑定手机号
+	 */
+	@DbIgnore
+	private String bindPhone;
+
+	/**
+	 * 绑定邮箱
+	 */
+	@DbIgnore
+	private String bindEmail;
+
+	/**
+	 * 头像
+	 */
+	@DbField("u.headimgurl")
+	private String headimgurl;
+
+	/**
+	 * 积分
+	 */
+	@DbField("u.points")
+	private BigDecimal points;
+
+	@DbField("u.balance")
+	private BigDecimal balance;
+
+	@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.show_id")
+	private String showId;
+
+	/**
+	 * 登录注册手机号
+	 */
+	@DbField("u.login_phone")
+	private String loginPhone;
+
+	/**
+	 * 登录注册邮箱
+	 */
+	@DbField("u.email")
+	private String email;
+
+	@DbField("u.register_env")
+	private String registerEnv;
+
+	@DbField("u.last_time")
+	private Date lastTime;
+
+	@DbField("u.is_black")
+	private Boolean isBlack;
+
+	@DbField("u.unionid")
+	private String unionid;
+
+	/**
+	 * 创建时间
+	 */
+	@DbField("u.created_time")
+	private Date createdTime;
+
+	/**
+	 * 最后更新时间
+	 */
+	@DbField("u.update_time")
+	private Date updateTime;
+}

+ 17 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserController.java

@@ -501,4 +501,21 @@ public class CmsUserController{
         List<OrderDonBuyerView> orderDonBuyerViews = beanSearcher.searchAll(OrderDonBuyerView.class, MapUtils.flatBuilder(request.getParameterMap()).field(OrderDonBuyerView::getUserId, userIdList).op(Operator.InList).build());
         return GatewayResponse.SUCCESS.newBuilder().toResult(orderDonBuyerViews);
     }
+
+    /**
+     * 每月买过两单奈飞账号用户列表
+     */
+    @GetMapping("/get/more/netflix/user")
+    public Result<SearchResult<UserNfView>> getMoreNetflixUser() {
+        SearchResult<UserNfView> search = beanSearcher.search(UserNfView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+        search.getDataList().forEach(data -> {
+            Long userId = data.getId();
+            UserBindDetail userBindDetail = beanSearcher.searchFirst(UserBindDetail.class, MapUtils.builder().field(UserBindDetail::getUserId, userId).onlySelect(UserBindDetail::getPhone, UserBindDetail::getEmail).build());
+            Optional.ofNullable(userBindDetail).ifPresent(bind -> {
+                data.setBindEmail(bind.getEmail());
+                data.setBindPhone(bind.getPhone());
+            });
+        });
+        return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+    }
 }