|
@@ -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);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|