From 403422edfb959e98e404487c936e2e56aaf2d893 Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 16 Feb 2022 16:26:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?/=E3=80=82=20order?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/WxMerchantMicroPayController.java | 22 +++--- .../iformall/domain/dto/WxOrderReportDto.java | 3 + .../com/iformall/mapper/WxOrderMapper.java | 2 +- .../service/MarkingDataReportService.java | 2 +- .../impl/MarkingDataReportServiceImpl.java | 78 ++++++++++++++----- .../main/resources/mapper/WxOrderMapper.xml | 58 ++++++-------- 6 files changed, 96 insertions(+), 69 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantMicroPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantMicroPayController.java index d29f3f20f..858f572bd 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantMicroPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantMicroPayController.java @@ -50,16 +50,16 @@ public class WxMerchantMicroPayController extends BaseController { return new ResultData(markingDataReportService.listMicroPayOrderReportByDateAndMerchant(wxOrderReportDto)); } -// @ApiOperation("获得昨日刷卡列表") -// @GetMapping("/listYesterday") -// @SystemControllerLog(description = "收银台-获得昨日刷卡列表") -// public ResultData listYesterday(@ModelAttribute WxOrderReportDto wxOrderReportDto, Integer pageNum, Integer pageSize) { -// logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::listYesterday"); -// if (wxOrderReportDto == null) -// wxOrderReportDto = new WxOrderReportDto(); -// wxOrderReportDto.updateTenantInfo(getTenantInfo()); -// final PageInfo page = markingDataReportService.listMerchantMicroPayOrderReportByDate(wxOrderReportDto, pageNum, pageSize); -// return new ResultData(page); -// } + @ApiOperation("获得昨日刷卡列表") + @GetMapping("/listYesterday") + @SystemControllerLog(description = "收银台-获得昨日刷卡列表") + public ResultData listYesterday(@ModelAttribute WxOrderReportDto wxOrderReportDto, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::listYesterday"); + if (wxOrderReportDto == null) + wxOrderReportDto = new WxOrderReportDto(); + wxOrderReportDto.updateTenantInfo(getTenantInfo()); + final PageInfo page = markingDataReportService.listMerchantMicroPayOrderReportByDate(wxOrderReportDto, pageNum, pageSize); + return new ResultData(page); + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java index 8593e8671..2d4a07e60 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.Date; +import java.util.List; /** * Created by syf on 2018/8/30. @@ -21,4 +22,6 @@ public class WxOrderReportDto extends TenantEntity { private Integer type; private Integer orderStatus; + private List merchantIds; + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java index 9b1195d96..81a4796fc 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java @@ -43,7 +43,7 @@ public interface WxOrderMapper extends CommonMapper { List listMicroPayOrderReportByDateAndMerchant(HashMap params); - //List findListOfMerchantMicroPayOrderByDate(@Param("wxOrderReportDto") WxOrderReportDto wxOrderReportDto, @Param("tenantEntitys")List tenantEntitys); + List findListOfMerchantMicroPayOrderByDate(WxOrderReportDto wxOrderReportDto); List findListOrder(WxOrderQueryVo record); diff --git a/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java b/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java index 51eedd0f0..32408cab0 100644 --- a/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java +++ b/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java @@ -35,7 +35,7 @@ public interface MarkingDataReportService { List listMicroPayOrderReportByDateAndMerchant(WxOrderReportDto wxOrderReportDto); - //PageInfo listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageNum, Integer pageSize); + PageInfo listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageNum, Integer pageSize); void exportTouchUsersData(HttpServletRequest request, HttpServletResponse response, MarkingCouponDataReportDto markingCouponDataReportDto); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java index 6cd03e9a9..9b45ff6a6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -7,13 +7,11 @@ import com.iformall.domain.dto.MarkingCouponDataReportDto; import com.iformall.domain.dto.WxOrderReportDto; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCouponOrder; +import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.*; -import com.iformall.enums.EnumCarCmd; -import com.iformall.enums.EnumCouponSendSendType; -import com.iformall.enums.EnumCouponType; -import com.iformall.enums.EnumOrderType; +import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.ExcelService; @@ -31,6 +29,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.text.NumberFormat; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -62,6 +61,8 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { @Autowired WxMerchantBUserMapper wxMerchantBUserMapper; + @Autowired + WxMerchantMapper wxMerchantMapper; @Lazy @Autowired @@ -744,24 +745,59 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { return wxOrderReportVoList; } -// @Override -// public PageInfo listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageIndex, Integer pageSize) { + /** + * 查前一天收银记录(门店) + * @param wxOrderReportDto + * @param pageIndex + * @param pageSize + * @return + */ + @Override + public PageInfo listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageIndex, Integer pageSize) { // List tenantEntitys = wxMallMapper.getTenantEntitys(wxOrderReportDto); -// if (wxOrderReportDto.getStartTime() != null) { -// wxOrderReportDto.setStartTime(convertDateAndAdd(wxOrderReportDto.getStartTime(), 0)); -// } else { -// wxOrderReportDto.setStartTime(addDay(-1)); -// } -// if (wxOrderReportDto.getEndTime() != null) { -// wxOrderReportDto.setEndTime(convertDateAndAdd(wxOrderReportDto.getStartTime(), 0)); -// } else { -// wxOrderReportDto.setEndTime(addDay(0)); -// } -// PageHelper.startPage(pageIndex, pageSize); -// List list = wxOrderMapper.findListOfMerchantMicroPayOrderByDate(wxOrderReportDto,tenantEntitys); -// -// return new PageInfo<>(list); -// } + + WxMerchant merchantQ1 = new WxMerchant(); + merchantQ1.updateTenantInfo(wxOrderReportDto); + merchantQ1.setName(wxOrderReportDto.getMerchantName()); + merchantQ1.setStatus(EnumMerchantStatus.VALID.getCode()); + List merchantIdList = wxMerchantMapper.findIdList(merchantQ1); + if (null == merchantIdList || merchantIdList.size() <= 0) { + PageHelper.startPage(pageIndex, pageSize); + return new PageInfo<>(new ArrayList()); + } + wxOrderReportDto.setMerchantIds(merchantIdList); + wxOrderReportDto.setStartTime(addDay(-1)); + wxOrderReportDto.setEndTime(addDay(0)); + PageHelper.startPage(pageIndex, pageSize); + List list = wxOrderMapper.findListOfMerchantMicroPayOrderByDate(wxOrderReportDto); + + if(list != null && list.size() > 0){ + List merchantIds = list.stream().map(WxMerchantMicroPayVo::getId).collect(Collectors.toList()); + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(wxOrderReportDto); + merchantQ.setIds(merchantIds); + List merchantList = wxMerchantMapper.findList(merchantQ); + Map merchantMap = new HashMap(); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ; i++) { + WxMerchant m = merchantList.get(i); + if (null != m) { + merchantMap.put(m.getId(), m); + } + } + } + String reportDate = new SimpleDateFormat("yyyy-MM-dd").format(wxOrderReportDto.getStartTime()); + for (WxMerchantMicroPayVo vo:list) { + WxMerchant merchant = merchantMap.get(vo.getId()); + vo.setTenantId(merchant.getTenantId()); + vo.setParentTenantId(merchant.getParentTenantId()); + vo.setMerchantName(merchant.getName()); + vo.setMerchantPhone(merchant.getLinkPhone()); + vo.setReportDate(reportDate); + } + } + return new PageInfo<>(list); + } @Override public void exportTouchUsersData(HttpServletRequest request, HttpServletResponse response, MarkingCouponDataReportDto markingCouponDataReportDto) { diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index a44c3b8b4..756384ab4 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -711,40 +711,26 @@ wm.link_phone as merchant_phone, mo.xTime as report_date, (case when mo.amount > 0 then mo.amount else 0 end) trade_amt - + --> + + - select - - from wx_merchant wm - left join - (select m.id as mid, IFNULL(sum(o.payment),0) amount,DATE_FORMAT(o.create_date,'%Y-%m-%d') xTime - from wx_merchant m, - ( - SELECT * from wx_order${tenantEntity.shardTableSuffix} - ) o, wx_merchant_b_user bu - where bu.id = o.product_id - and m.status = 1 - and m.id = bu.merchant_id - and o.order_status = '1' - and o.type = 1 - - AND o.create_date > #{wxOrderReportDto.startTime} - - - AND o.create_date < #{wxOrderReportDto.endTime} - - group by m.id,xTime) mo on mo.mid = wm.id - where wm.status = 1 - - - and wm.name like concat('%', #{wxOrderReportDto.merchantName},'%') - - - order by ${wxOrderReportDto.sortColumns} - order by wm.create_date desc - - --> + @@ -1129,13 +1115,15 @@