Просмотр исходного кода

add 新增账号直接发布车队;已过期车票列表

zoujiajian 3 лет назад
Родитель
Сommit
1f4dd25b45

+ 4 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/Account.java

@@ -1,5 +1,6 @@
 package com.cyksj.model.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -22,6 +23,9 @@ public class Account extends BaseEntity {
 
     private Long goodsId;
 
+    @TableField(exist = false)
+    private Long skuId;
+
     private Date startTime;
 
     private Date expiryTime;

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

@@ -16,6 +16,15 @@ import java.util.Date;
 public class UserTicketClearedRecord extends BaseEntity{
 	private Long userId;
 
+	private Long accountId;
+
+	/**
+	 * 主账号
+	 */
+	private String account;
+
+	private Source source;
+
 	private Long goodsId;
 
 	private Long skuId;
@@ -25,4 +34,18 @@ public class UserTicketClearedRecord extends BaseEntity{
 	private Date startTime;
 
 	private Date expiryTime;
+
+	@Getter
+	public enum Source{
+		self("自购"),
+		distribute("分销权益"),
+		pay_equipment("购买实物权益"),
+		specific("抽奖"),
+		;
+		String desc;
+
+		Source(String desc) {
+			this.desc = desc;
+		}
+	}
 }

+ 69 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserTicketClearedRecordView.java

@@ -0,0 +1,69 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.UserTicketClearedRecord;
+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.util.Date;
+
+/*
+ *项目名: netflix
+ *文件名: UserTicketClearedRecordView
+ *创建者: JavaZou
+ *创建时间:2023/3/7 17:09
+ */
+@Getter
+@Setter
+@SearchBean(tables = "user_ticket_cleared_record ur left join account a on a.id = ur.account_id" +
+		" left join goods_don g on g.id = ur.goods_id left join goods_don_sku gdk on gdk.id = ur.skuId" +
+		" left join user u on u.id = ur.user_id left join corp_user cu on cu.unionid = u.unionid")
+public class UserTicketClearedRecordView {
+	@DbField("ur.id")
+	private Long recordId;
+
+	@DbField("ur.user_id")
+	private Long userId;
+
+	@DbField("ur.goods_id")
+	private Long goodsId;
+
+	@DbField("ur.sku_id")
+	private Long skuId;
+
+	@DbField("ur.relation_id")
+	private Long relationId;
+
+	@DbField("ur.account_id")
+	private Long accountId;
+
+	@DbField("ur.account")
+	private String account;
+
+	@DbField("ur.source")
+	private UserTicketClearedRecord.Source source;
+
+	@DbField("ur.start_time")
+	private Date startTime;
+
+	@DbField("expiry.start_time")
+	private Date expiryTime;
+
+	@DbField("g.title")
+	private String goodsTitle;
+
+	@DbField("gdk.spec_val")
+	private String specVal;
+
+	@DbIgnore
+	private String nickname;
+
+	@DbIgnore
+	private String headImg;
+
+	@DbField("if(cu.id is null,false,true)")
+	private Boolean isCorpWx;
+}
+

+ 10 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java

@@ -22,6 +22,7 @@ import com.cyksj.model.excel.ExcelManageAccountData;
 import com.cyksj.model.manage.request.ReqAccountIncrExpiryTime;
 import com.cyksj.model.manage.views.AccountView;
 import com.cyksj.service.mange.CmsAccountService;
+import com.cyksj.service.mange.CmsGroupService;
 import com.cyksj.service.template.TemplateCommonService;
 import com.cyksj.web.util.EasyExcelUtils;
 import com.ejlchina.searcher.BeanSearcher;
@@ -33,6 +34,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -62,6 +64,8 @@ public class CmsAccountController {
 
 	private final TemplateCommonService templateCommonService;
 
+	private final CmsGroupService cmsGroupService;
+
     @GetMapping("/get")
     public Result<SearchResult<AccountView>> get(Long userId ,String nickName ,String submitAccount ,String expiryStartTime, String expiryEndTime) {
         MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
@@ -166,6 +170,7 @@ public class CmsAccountController {
 
     @PostMapping("/post")
     @NoSubmit
+    @Transactional(rollbackFor = Throwable.class)
     public Result<String> add(@RequestBody Account account){
 		account.setAccount(account.getAccount().trim());
 		account.setPassword(account.getPassword().trim());
@@ -179,6 +184,11 @@ public class CmsAccountController {
 		    }
 	    }
         accountService.save(account);
+	    //自动配置车队
+	    GroupsTrips groupsTrips = new GroupsTrips();
+	    groupsTrips.setSkuId(account.getSkuId());
+	    groupsTrips.setAccountId(account.getId());
+	    cmsGroupService.issuance(groupsTrips);
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }
 

+ 0 - 3
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupController.java

@@ -9,7 +9,6 @@ import com.cyksj.model.entity.Account;
 import com.cyksj.model.entity.GroupsTrips;
 import com.cyksj.model.views.GroupsTripsWaitingView;
 import com.cyksj.service.mange.CmsAccountService;
-import com.cyksj.service.mange.CmsGoodsDonSkuService;
 import com.cyksj.service.mange.CmsGroupService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
@@ -40,8 +39,6 @@ public class CmsGroupController {
 
     private final CmsGroupService groupService;
 
-    private final CmsGoodsDonSkuService skuService;
-
     private final CmsAccountService accountService;
 
     private final GroupsRelationMapper relationMapper;

+ 11 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/statistics/StatisticsDataController.java

@@ -79,6 +79,8 @@ public class StatisticsDataController {
 
 	private final CorpUserAuthMapper corpUserAuthMapper;
 
+	private final HttpServletRequest request;
+
 	/**
 	 * 查询统计数据
 	 */
@@ -95,6 +97,15 @@ public class StatisticsDataController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(statisticsDataService.getExpiredAccountView(isCorpWx, customerService, goodsId, account, renewStatus, handleStatus, cnAccount, usAccount, userId, startTime, endTime, start, limit));
 	}
 
+	/**
+	 * 已过期车票
+	 */
+	@GetMapping("/get/hadExpired/account")
+	public Result<SearchResult<UserTicketClearedRecordView>> getUserHadExpiredTicket() {
+		SearchResult<UserTicketClearedRecordView> search = beanSearcher.search(UserTicketClearedRecordView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
 	/**
 	 * 导出有效子账号数
 	 */