Bladeren bron

fix 添加后台分销接口

zoujiajian 3 jaren geleden
bovenliggende
commit
e66e3b8609

+ 51 - 0
netflix-dao/src/main/java/com/cyksj/model/views/EquipmentBenefitsView.java

@@ -0,0 +1,51 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: netflix
+ *文件名: EquipmentBenefitsView
+ *创建者: JavaZou
+ *创建时间:2023/2/24 10:46
+ */
+@Getter
+@Setter
+@SearchBean(tables = "equipment_user_receive_benefits_record er left join goods_don_sku sku on sku.id = er.sku_id" +
+		" left join goods_don g on g.id = sku.goods_id")
+public class EquipmentBenefitsView {
+	@DbField("gd.id")
+	private Long goodsId;
+
+	@DbField("sku.id")
+	private Long skuId;
+
+	@DbField("gd.title")
+	private String goodsTitle;
+
+	@DbField("gd.type")
+	private Integer type;
+
+	@DbField("gdk.spec_val")
+	private String specVal;
+
+	@DbField("gdk.price")
+	private BigDecimal money;
+
+	@DbField("er.user_id")
+	private Long sharId;
+
+	@DbField("er.status_code")
+	private Integer statusCode;
+
+	@DbField("er.created_time")
+	private Date createdTime;
+
+	@DbField("er.update_time")
+	private Date updateTime;
+}

+ 67 - 0
netflix-dao/src/main/java/com/cyksj/model/views/EquipmentUserDistributeDetailView.java

@@ -0,0 +1,67 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.EquipmentUserChanceRecord;
+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;
+
+/*
+ *项目名: netflix
+ *文件名: EquipmentUserDistributeDetailView
+ *创建者: JavaZou
+ *创建时间:2023/2/24 10:56
+ */
+@Getter
+@Setter
+@SearchBean(tables = "equipment_user_chance_record ecr left join order_don od on od.id = ecr.order_id")
+public class EquipmentUserDistributeDetailView {
+	@DbField("ecr.id")
+	private Long recordId;
+
+	@DbField("ecr.share_id")
+	private Long shareId;
+
+	/**
+	 * 被分销人id
+	 */
+	@DbField("ecr.user_id")
+	private Long userId;
+
+	/**
+	 * 被分销人昵称
+	 */
+	@DbIgnore
+	private String nickname;
+
+	@DbField("od.id")
+	private Long orderId;
+
+	@DbField("od.coupon_user_id")
+	private Long couponUserId;
+
+	/**
+	 * 优惠券名称
+	 */
+	@DbIgnore
+	private String couponName;
+
+	@DbField("ecr.status")
+	private EquipmentUserChanceRecord.Status status;
+
+	@DbIgnore
+	private String specVal;
+
+	@DbField("od.sku_id")
+	private Long skuId;
+
+	@DbField("od.money")
+	private BigDecimal money;
+
+	@DbField("od.pay_time")
+	private Date payTime;
+}

+ 39 - 0
netflix-dao/src/main/java/com/cyksj/model/views/EquipmentUserDistributeViews.java

@@ -0,0 +1,39 @@
+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.util.Date;
+import java.util.List;
+
+/*
+ *项目名: netflix
+ *文件名: EquipmentUserDistributeViews
+ *创建者: JavaZou
+ *创建时间:2023/2/24 9:44
+ */
+@Getter
+@Setter
+@SearchBean(tables = "equipment_user_chance ec")
+public class EquipmentUserDistributeViews {
+	@DbField("ec.user_id")
+	private Long shareId;
+
+	@DbIgnore
+	private String nickname;
+
+	/**
+	 * 分销记录数
+	 */
+	@DbIgnore
+	private Integer recordNum;
+
+	@DbIgnore
+	private List<EquipmentBenefitsView> benefitsViews;
+
+	@DbField("ec.created_time")
+	private Date createdTime;
+}

+ 85 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/EquipmentController.java

@@ -0,0 +1,85 @@
+package com.cyksj.web.controller.manage.distribute;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.GoodsDonSkuMapper;
+import com.cyksj.mapper.UserMapper;
+import com.cyksj.mapper.manage.coupon.CouponMapper;
+import com.cyksj.mapper.manage.distribute.equipment.EquipmentUserChanceRecordMapper;
+import com.cyksj.model.entity.EquipmentUserChanceRecord;
+import com.cyksj.model.entity.GoodsDonSku;
+import com.cyksj.model.entity.User;
+import com.cyksj.model.views.EquipmentBenefitsView;
+import com.cyksj.model.views.EquipmentUserDistributeDetailView;
+import com.cyksj.model.views.EquipmentUserDistributeViews;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Optional;
+
+/*
+ *项目名: netflix
+ *文件名: EquipmentController
+ *创建者: JavaZou
+ *创建时间:2023/2/24 9:39
+ */
+@RestController
+@RequestMapping("/manage/equipment/distribute")
+@RequiredArgsConstructor
+public class EquipmentController {
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	private final UserMapper userMapper;
+
+	private final CouponMapper couponMapper;
+
+	private final EquipmentUserChanceRecordMapper equipmentUserChanceRecordMapper;
+
+	private final GoodsDonSkuMapper goodsDonSkuMapper;
+
+	/**
+	 * 实物分销列表
+	 */
+	@GetMapping("/get")
+	public Result<SearchResult<EquipmentUserDistributeViews>> getEquipmentDistribute() {
+		SearchResult<EquipmentUserDistributeViews> search = beanSearcher.search(EquipmentUserDistributeViews.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+		search.getDataList().forEach(data->{
+			User user = userMapper.selectById(data.getShareId());
+			Optional.ofNullable(user).ifPresent(u -> data.setNickname(u.getNickname()));
+			data.setRecordNum(equipmentUserChanceRecordMapper.selectCount(Wrappers.lambdaQuery(EquipmentUserChanceRecord.class)
+					.eq(EquipmentUserChanceRecord::getShareId, data.getShareId())));
+			data.setBenefitsViews(beanSearcher.searchAll(EquipmentBenefitsView.class, MapUtils.builder().field(EquipmentBenefitsView::getSharId, data.getShareId()).build()));
+		});
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+	/**
+	 * 分销明细
+	 */
+	@GetMapping("/get/detail/{shareId}")
+	public Result<SearchResult<EquipmentUserDistributeDetailView>> getDistributeDetail(@PathVariable Long shareId) {
+		SearchResult<EquipmentUserDistributeDetailView> search = beanSearcher.search(EquipmentUserDistributeDetailView.class,
+				MapUtils.flatBuilder(request.getParameterMap())
+						.field(EquipmentUserDistributeDetailView::getShareId, shareId)
+						.build());
+		search.getDataList().forEach(data -> {
+			User user = userMapper.selectById(data.getShareId());
+			Optional.ofNullable(user).ifPresent(u -> data.setNickname(u.getNickname()));
+			String couponName = couponMapper.getCouponNameByCouponUserId(data.getCouponUserId());
+			data.setCouponName(couponName);
+			GoodsDonSku goodsDonSku = goodsDonSkuMapper.selectById(data.getSkuId());
+			Optional.ofNullable(goodsDonSku).ifPresent(sku -> data.setSpecVal(sku.getSpecVal()));
+		});
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+}