diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java index 5adb0d460..ffec4e8f3 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java @@ -3,6 +3,7 @@ package com.iformall.controller; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.dto.WxOrderReportDto; +import com.iformall.domain.vo.WxMerchantMicroPayVo; import com.iformall.domain.vo.WxMerchantTradeDailyVo; import com.iformall.enums.EnumOrderType; import com.iformall.service.MarkingDataReportService; @@ -14,10 +15,7 @@ import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -31,18 +29,35 @@ public class WxMerchantMicroPayController extends BaseController { @Autowired private MarkingDataReportService markingDataReportService; - @ApiOperation("查询触达用户数数据列表") - @GetMapping("/listOrderMicroPayReportByDate") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData listOrderMicroPayReportByDate(@ModelAttribute WxOrderReportDto wxOrderReportDto, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxMerchantMicroPayController::listOrderMicroPayReportByDate"); - if (wxOrderReportDto == null){ - wxOrderReportDto = new WxOrderReportDto(); - } + @ApiOperation("获得商场近30日刷卡") + @GetMapping("/listMonth") + public ResultData listMonth() { + logger.debug("[" + getIpAddr() + "] WxMerchantMicroPayController::listMonth"); + WxOrderReportDto wxOrderReportDto = new WxOrderReportDto(); + wxOrderReportDto.setTenantId(getTenantId()); wxOrderReportDto.setType(EnumOrderType.MICROPAY.getCode()); - return new ResultData(markingDataReportService.listOrderReportByDate(getTenantId(), wxOrderReportDto, pageNum, pageSize)); + return new ResultData(markingDataReportService.listOrderReportByDate(wxOrderReportDto)); + } + + + @ApiOperation("获商户得近30日刷卡") + @GetMapping("/detail") + public ResultData detail(@RequestParam Long merchantId) { + logger.debug("[" + getIpAddr() + "] WxMerchantMicroPayController::detail"); + WxOrderReportDto wxOrderReportDto = new WxOrderReportDto(); + wxOrderReportDto.setTenantId(getTenantId()); + wxOrderReportDto.setMerchantId(merchantId); + return new ResultData(markingDataReportService.listMicroPayOrderReportByDateAndMerchant(wxOrderReportDto)); + } + + @ApiOperation("获得昨日刷卡列表") + @GetMapping("/listYesterday") + public ResultData listYesterday(Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::listYesterday"); + WxOrderReportDto wxOrderReportDto = new WxOrderReportDto(); + wxOrderReportDto.setTenantId(getTenantId()); + final PageInfo page = markingDataReportService.listMerchantMicroPayOrderReportByDate(wxOrderReportDto, pageNum, pageSize); + return new ResultData(page); } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java index 76dfa7be9..29aefedb0 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java @@ -46,14 +46,14 @@ public class WxMerchantTradeDailyController extends BaseController { return new ResultData(page); } - @ApiOperation("获得近30日解单") + @ApiOperation("获商户得近30日解单") @GetMapping("/detail") public ResultData detail(Long merchantId) { logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::detail"); return wxMerchantTradeDailyService.getVolumeOfMonth(merchantId); } - @ApiOperation("获得昨日解单列表") + @ApiOperation("获得商场近30日解单") @GetMapping("/listMonth") public ResultData listMonth() { logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::listMonth"); 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 2013e514e..99c89f6e0 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java @@ -6,10 +6,28 @@ import java.util.Date; * Created by syf on 2018/8/30. */ public class WxOrderReportDto { + private String tenantId; + private Long merchantId; private Date startTime; private Date endTime; private Integer type; + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } + + public Long getMerchantId() { + return merchantId; + } + + public void setMerchantId(Long merchantId) { + this.merchantId = merchantId; + } + public Integer getType() { return type; } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantMicroPayVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantMicroPayVo.java new file mode 100644 index 000000000..c7d5b6d5b --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantMicroPayVo.java @@ -0,0 +1,72 @@ +package com.iformall.domain.vo; + +import javax.persistence.Id; +import java.io.Serializable; + + +public class WxMerchantMicroPayVo implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + protected Long id; + + /*租户ID**/ + @io.swagger.annotations.ApiModelProperty(value = "租户ID", name = "tenantId") + private String tenantId; + /*商户id**/ + @io.swagger.annotations.ApiModelProperty(value = "商户id", name = "merchantId") + private Long merchantId; + /*交易额**/ + @io.swagger.annotations.ApiModelProperty(value = "交易额", name = "tradeAmt") + private Integer tradeAmt; + /*日期**/ + @io.swagger.annotations.ApiModelProperty(value = "解单日期", name = "reportDate") + private String reportDate; + + + /*商户名**/ + @io.swagger.annotations.ApiModelProperty(value="商户名",name="merchantName") + private String merchantName; + + + public String getMerchantName() { + return merchantName; + } + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String _tenantId) { + tenantId = _tenantId; + } + + public Long getMerchantId() { + return merchantId; + } + + public void setMerchantId(Long _merchantId) { + merchantId = _merchantId; + } + + public Integer getTradeAmt() { + return tradeAmt; + } + + public void setTradeAmt(Integer _tradeAmt) { + tradeAmt = _tradeAmt; + } + + public String getReportDate() { + return reportDate; + } + + public void setReportDate(String _reportDate) { + reportDate = _reportDate; + } + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java index 6322c282c..7a5dca95c 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java @@ -28,6 +28,10 @@ public interface WxOrderMapper extends CommonMapper { List listOrderReportByDate(HashMap params); + List listMicroPayOrderReportByDateAndMerchant(HashMap params); + + List findListOfMerchantMicroPayOrderByDate(HashMap params); + List findListOrder(WxOrderQueryVo record); Long queryOrderForMerchantCount(Map params); diff --git a/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java b/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java index 14f61aca8..01e6d7e44 100644 --- a/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java +++ b/mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java @@ -3,9 +3,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.domain.dto.MarkingCouponDataReportDto; import com.iformall.domain.dto.WxOrderReportDto; -import com.iformall.domain.vo.MarkingCouponDataReportVo; -import com.iformall.domain.vo.MarkingSceneDataVo; -import com.iformall.domain.vo.TouchUsersReportVo; +import com.iformall.domain.vo.*; import java.util.List; import java.util.Map; @@ -26,5 +24,11 @@ public interface MarkingDataReportService { List getTouchUsersReportData(String tenantId); - Map listOrderReportByDate(String tenantId, WxOrderReportDto wxOrderReportDto, Integer pageIndex, Integer pageSize); + + + Map listOrderReportByDate(WxOrderReportDto wxOrderReportDto); + + List listMicroPayOrderReportByDateAndMerchant(WxOrderReportDto wxOrderReportDto); + + PageInfo listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageNum, Integer pageSize); } 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 2b3b71ab2..5222734b2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -377,9 +377,9 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { @Override - public Map listOrderReportByDate(String tenantId, WxOrderReportDto wxOrderReportDto, Integer pageIndex, Integer pageSize) { + public Map listOrderReportByDate(WxOrderReportDto wxOrderReportDto) { HashMap params = new HashMap<>(); - params.put("tenantId", tenantId); + params.put("tenantId", wxOrderReportDto.getTenantId()); if (wxOrderReportDto.getStartTime() != null) { params.put("startTime", convertDateAndAdd(wxOrderReportDto.getStartTime(), 0)); } else { @@ -463,6 +463,62 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { return returnMap; } + @Override + public List listMicroPayOrderReportByDateAndMerchant(WxOrderReportDto wxOrderReportDto) { + HashMap params = new HashMap<>(); + params.put("merchantId", wxOrderReportDto.getMerchantId()); + if (wxOrderReportDto.getStartTime() != null) { + params.put("startTime", convertDateAndAdd(wxOrderReportDto.getStartTime(), 0)); + } else { + params.put("startTime", addDay(-30)); + } + if (wxOrderReportDto.getEndTime() != null) { + params.put("endTime", convertDateAndAdd(wxOrderReportDto.getStartTime(), 0)); + } else { + params.put("endTime", addDay(1)); + } + List list = wxOrderMapper.listMicroPayOrderReportByDateAndMerchant(params); + + String startdate = DateUtils.getTimeBefore(30, new Date()); + String enddate = DateUtils.getTimeBefore(0,new Date()); + List tjTimeList = DateUtils.getTjTimeList(startdate, enddate, "0"); + List wxOrderReportVoList = new ArrayList(); + + for(String tj:tjTimeList){ + Optional first = list.stream().filter(c -> c.getxTime().equals(tj)).findFirst(); + if(!first.isPresent()){ + WxOrderReportVo orderReportVo = new WxOrderReportVo(); + orderReportVo.setAmount(0); + orderReportVo.setCount(0); + first = Optional.of(orderReportVo); + } + first.get().setxTime(tj.substring(5).replace("-", "/")); + wxOrderReportVoList.add(first.get()); + } + return wxOrderReportVoList; + } + + @Override + public PageInfo listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageIndex, Integer pageSize) { + HashMap params = new HashMap<>(); + + if (wxOrderReportDto.getStartTime() != null) { + params.put("startTime", convertDateAndAdd(wxOrderReportDto.getStartTime(), 0)); + } else { + params.put("startTime", addDay(-1)); + } + if (wxOrderReportDto.getEndTime() != null) { + params.put("endTime", convertDateAndAdd(wxOrderReportDto.getStartTime(), 0)); + } else { + params.put("endTime", addDay(0)); + } + PageHelper.startPage(pageIndex, pageSize); + List list = wxOrderMapper.findListOfMerchantMicroPayOrderByDate(params); + + return new PageInfo<>(list); + } + + @Override public PageInfo getTouchUsersReportList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize) { diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index ec5d0af0c..dfb3716e2 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -276,7 +276,7 @@ o.`id`,o.`order_number`,o.`tenant_id`,o.`c_user_id`,o.`product_id`,o.`type`, o.`payment_type`,o.`payment`,o.`payment_time`,o.`order_status`,o.`create_date`,o.`update_date`,o.`detail`, - m.name as merchant_name, bu.name, bu.phone as bphone, cu.phone,cu.`name` c_user_name + m.name as merchant_name, bu.name, bu.phone as bphone, cu.phone,cu.`nick_name` c_user_name + + + + + + + + + + + + + + m.id as id, + m.tenant_id as tenant_id, + m.name as merchant_name, + (case when mo.amount > 0 then mo.amount else 0 end) trade_amt + + +