|
|
@@ -14,11 +14,13 @@ import com.cyksj.model.entity.OrderDonWaybill;
|
|
|
import com.cyksj.model.entity.RealGoodsInterestUser;
|
|
|
import com.cyksj.model.entity.RealGoodsOrderHandle;
|
|
|
import com.cyksj.model.excel.ExcelRealGoodsUserInterestData;
|
|
|
+import com.cyksj.model.excel.ExcelRealGoodsUserInterestHasPaymentData;
|
|
|
import com.cyksj.model.manage.request.ReqSetLogisticsPost;
|
|
|
import com.cyksj.model.manage.views.OrderDonView;
|
|
|
import com.cyksj.model.request.RealGoodsServiceReq;
|
|
|
import com.cyksj.model.request.UserRealGoodsInterestReq;
|
|
|
import com.cyksj.model.views.OrderDonTransportView;
|
|
|
+import com.cyksj.model.views.RealGoodsInterestUserHasPaymentView;
|
|
|
import com.cyksj.model.views.RealGoodsInterestUserView;
|
|
|
import com.cyksj.service.mange.CmsOrderDonService;
|
|
|
import com.cyksj.service.user.UserService;
|
|
|
@@ -36,6 +38,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
|
|
|
@@ -104,29 +107,36 @@ public class CmsOrderController {
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(orderDonWaybill);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 用户购买实物商品意愿列表
|
|
|
- */
|
|
|
- @GetMapping("/get/realGooods/interest/users")
|
|
|
- public Result<SearchResult<RealGoodsInterestUserView>> getInterestUserList(RealGoodsInterestUser.Status interestStatus,HttpServletRequest request) {
|
|
|
- MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
- if (interestStatus == null) {
|
|
|
- builder.field(RealGoodsInterestUserView::getInterestStatus, "hasPayment").op(Operator.NotEqual);
|
|
|
- }
|
|
|
- SearchResult<RealGoodsInterestUserView> search = beanSearcher.search(RealGoodsInterestUserView.class, builder.build());
|
|
|
- search.getDataList().forEach(data->{
|
|
|
- Long goodsId = data.getGoodsId();
|
|
|
- OrderDon order = cmsOrderDonService.getOne(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getUserId, data.getUserId()).eq(OrderDon::getGoodsId, goodsId).ne(OrderDon::getId, data.getId()).gt(OrderDon::getMoney, data.getMoney()).eq(OrderDon::getStatus, "close").last("limit 1"));
|
|
|
- if (order != null) {
|
|
|
- data.setOrderId(order.getId());
|
|
|
- data.setSkuId(order.getSkuId());
|
|
|
- data.setMoney(order.getMoney());
|
|
|
- data.setOrderCreatedTime(order.getCreatedTime());
|
|
|
- realGoodsInterestUserMapper.updateData(data.getId(), data.getSkuId(), data.getOrderCreatedTime(), data.getOrderId());
|
|
|
- }
|
|
|
- });
|
|
|
- return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 用户购买实物商品意愿列表
|
|
|
+ */
|
|
|
+ @GetMapping("/get/realGooods/interest/users")
|
|
|
+ public Result<SearchResult> getInterestUserList(RealGoodsInterestUser.Status interestStatus, HttpServletRequest request) {
|
|
|
+ MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
+ SearchResult<RealGoodsInterestUserView> search;
|
|
|
+ if (interestStatus == null) {
|
|
|
+ builder.field(RealGoodsInterestUserView::getInterestStatus, "hasPayment").op(Operator.NotEqual);
|
|
|
+ search = beanSearcher.search(RealGoodsInterestUserView.class, builder.build());
|
|
|
+ } else {
|
|
|
+ search = new SearchResult<>();
|
|
|
+ SearchResult<RealGoodsInterestUserHasPaymentView> search2 = beanSearcher.search(RealGoodsInterestUserHasPaymentView.class, builder.build());
|
|
|
+ search.setTotalCount(search2.getTotalCount());
|
|
|
+ List<RealGoodsInterestUserView> dataList = search.getDataList();
|
|
|
+ dataList.addAll(search2.getDataList());
|
|
|
+ }
|
|
|
+ search.getDataList().forEach(data -> {
|
|
|
+ Long goodsId = data.getGoodsId();
|
|
|
+ OrderDon order = cmsOrderDonService.getOne(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getUserId, data.getUserId()).eq(OrderDon::getGoodsId, goodsId).ne(OrderDon::getId, data.getId()).gt(OrderDon::getMoney, data.getMoney()).eq(OrderDon::getStatus, "close").last("limit 1"));
|
|
|
+ if (order != null) {
|
|
|
+ data.setOrderId(order.getId());
|
|
|
+ data.setSkuId(order.getSkuId());
|
|
|
+ data.setMoney(order.getMoney());
|
|
|
+ data.setOrderCreatedTime(order.getCreatedTime());
|
|
|
+ realGoodsInterestUserMapper.updateData(data.getId(), data.getSkuId(), data.getOrderCreatedTime(), data.getOrderId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 修改购买意愿记录
|
|
|
@@ -146,29 +156,33 @@ public class CmsOrderController {
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult("修改成功");
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 导出用户意愿列表
|
|
|
- */
|
|
|
- @GetMapping("/export/interest")
|
|
|
- public void exportInterest(RealGoodsInterestUser.Status interestStatus, HttpServletRequest request, HttpServletResponse response) {
|
|
|
- MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
- if (interestStatus == null) {
|
|
|
- builder.field(RealGoodsInterestUserView::getInterestStatus, "hasPayment").op(Operator.NotEqual);
|
|
|
- }
|
|
|
- List<ExcelRealGoodsUserInterestData> excelRealGoodsUserInterestData = beanSearcher.searchAll(ExcelRealGoodsUserInterestData.class, builder.build());
|
|
|
- excelRealGoodsUserInterestData.forEach(data -> {
|
|
|
- Long goodsId = data.getGoodsId();
|
|
|
- OrderDon order = cmsOrderDonService.getOne(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getUserId, data.getUserId()).eq(OrderDon::getGoodsId, goodsId).ne(OrderDon::getId, data.getId()).gt(OrderDon::getMoney, data.getMoney()).eq(OrderDon::getStatus, "close").last("limit 1"));
|
|
|
- if (order != null) {
|
|
|
- data.setOrderId(order.getId());
|
|
|
- data.setSkuId(order.getSkuId());
|
|
|
- data.setMoney(order.getMoney());
|
|
|
- data.setOrderCreatedTime(order.getCreatedTime());
|
|
|
- realGoodsInterestUserMapper.updateData(data.getId(), data.getSkuId(), data.getOrderCreatedTime(), data.getOrderId());
|
|
|
- }
|
|
|
- });
|
|
|
- EasyExcelUtils.createExcelStreamMutilByEasyExcel(response, ExcelRealGoodsUserInterestData.class, excelRealGoodsUserInterestData, "用户意愿列表", "用户意愿列表", ExcelTypeEnum.XLSX, null);
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 导出用户意愿列表
|
|
|
+ */
|
|
|
+ @GetMapping("/export/interest")
|
|
|
+ public void exportInterest(RealGoodsInterestUser.Status interestStatus, HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
+ List<ExcelRealGoodsUserInterestData> excelRealGoodsUserInterestData;
|
|
|
+ if (interestStatus == null) {
|
|
|
+ builder.field(RealGoodsInterestUserView::getInterestStatus, "hasPayment").op(Operator.NotEqual);
|
|
|
+ excelRealGoodsUserInterestData = beanSearcher.searchAll(ExcelRealGoodsUserInterestData.class, builder.build());
|
|
|
+ } else {
|
|
|
+ List<ExcelRealGoodsUserInterestHasPaymentData> excelRealGoodsUserInterestData2 = beanSearcher.searchAll(ExcelRealGoodsUserInterestHasPaymentData.class, builder.build());
|
|
|
+ excelRealGoodsUserInterestData = new ArrayList<>(excelRealGoodsUserInterestData2);
|
|
|
+ }
|
|
|
+ excelRealGoodsUserInterestData.forEach(data -> {
|
|
|
+ Long goodsId = data.getGoodsId();
|
|
|
+ OrderDon order = cmsOrderDonService.getOne(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getUserId, data.getUserId()).eq(OrderDon::getGoodsId, goodsId).ne(OrderDon::getId, data.getId()).gt(OrderDon::getMoney, data.getMoney()).eq(OrderDon::getStatus, "close").last("limit 1"));
|
|
|
+ if (order != null) {
|
|
|
+ data.setOrderId(order.getId());
|
|
|
+ data.setSkuId(order.getSkuId());
|
|
|
+ data.setMoney(order.getMoney());
|
|
|
+ data.setOrderCreatedTime(order.getCreatedTime());
|
|
|
+ realGoodsInterestUserMapper.updateData(data.getId(), data.getSkuId(), data.getOrderCreatedTime(), data.getOrderId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ EasyExcelUtils.createExcelStreamMutilByEasyExcel(response, ExcelRealGoodsUserInterestHasPaymentData.class, excelRealGoodsUserInterestData, "用户意愿列表", "用户意愿列表", ExcelTypeEnum.XLSX, null);
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 实物订单配置售前售后客户
|