| @@ -153,6 +153,13 @@ public class WxCouponOrderController extends BaseController { | |||||
| return wxCouponOrderService.listOnDateAsPageV2(getLoginBUser().getId(), startDate, endDate, pageNum, pageSize, true); | return wxCouponOrderService.listOnDateAsPageV2(getLoginBUser().getId(), startDate, endDate, pageNum, pageSize, true); | ||||
| } | } | ||||
| @ApiOperation("核销流水统计接口") | |||||
| @GetMapping("sumVerified") | |||||
| public ResultData sumVerified(@RequestParam("startDate") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date startDate, | |||||
| @RequestParam("endDate") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date endDate) { | |||||
| return wxCouponOrderService.sumVerified(getLoginBUser(), startDate, endDate); | |||||
| } | |||||
| @ApiOperation("某日期交易总流水") | @ApiOperation("某日期交易总流水") | ||||
| @GetMapping("getUnverifiedAmountOnDate") | @GetMapping("getUnverifiedAmountOnDate") | ||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| @@ -276,6 +276,14 @@ public class WxMicroPayController extends BaseController { | |||||
| return wxOrderService.microPayListOnDateAsPageV2(getLoginBUser().getId(), EnumOrderType.MICROPAY.getCode(), startDate, endDate, pageNum, pageSize); | return wxOrderService.microPayListOnDateAsPageV2(getLoginBUser().getId(), EnumOrderType.MICROPAY.getCode(), startDate, endDate, pageNum, pageSize); | ||||
| } | } | ||||
| @RedisCache | |||||
| @ApiOperation("付款码支付交易流水分页列表接口") | |||||
| @GetMapping("sumMicroPay") | |||||
| public ResultData sumMicroPay(@RequestParam("startDate") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date startDate, | |||||
| @RequestParam("endDate") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date endDate) { | |||||
| return wxOrderService.sumMicroPay(getLoginBUser(), EnumOrderType.MICROPAY.getCode(), startDate, endDate); | |||||
| } | |||||
| @RedisCache | @RedisCache | ||||
| @ApiOperation("付款码支付某日期交易总流水") | @ApiOperation("付款码支付某日期交易总流水") | ||||
| @GetMapping("getMicroPayAmountOnDate") | @GetMapping("getMicroPayAmountOnDate") | ||||
| @@ -0,0 +1,11 @@ | |||||
| package com.iformall.domain.vo; | |||||
| import lombok.Data; | |||||
| import java.math.BigDecimal; | |||||
| @Data | |||||
| public class SumMicroPayVO { | |||||
| private BigDecimal amount; | |||||
| private Integer total; | |||||
| } | |||||
| @@ -0,0 +1,11 @@ | |||||
| package com.iformall.domain.vo; | |||||
| import lombok.Data; | |||||
| import java.math.BigDecimal; | |||||
| @Data | |||||
| public class SumVerifiedVO { | |||||
| private BigDecimal amount; | |||||
| private Integer total; | |||||
| } | |||||
| @@ -112,4 +112,14 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> { | |||||
| * @return | * @return | ||||
| */ | */ | ||||
| List<Long> findVerifiedUserIds(@Param("tenantId")String tenantId, @Param("verifiedStartTime")Date verifiedStartTime, @Param("verifiedEndTime")Date verifiedEndTime); | List<Long> findVerifiedUserIds(@Param("tenantId")String tenantId, @Param("verifiedStartTime")Date verifiedStartTime, @Param("verifiedEndTime")Date verifiedEndTime); | ||||
| /** | |||||
| * 统计核销记录总金额 | |||||
| * @param tenantId | |||||
| * @param merchantId | |||||
| * @param startDate | |||||
| * @param endDate | |||||
| * @return {@link Integer} | |||||
| */ | |||||
| SumVerifiedVO sumVerified(@Param("tenantId") String tenantId, @Param("bMerchantId") Long merchantId, @Param("startDate") Date startDate, @Param("endDate") Date endDate); | |||||
| } | } | ||||
| @@ -69,4 +69,6 @@ public interface WxOrderMapper extends CommonMapper<WxOrder, Long> { | |||||
| void updateCUserId(WxOrder updateOrder); | void updateCUserId(WxOrder updateOrder); | ||||
| List<Long> getComposeOrderIds(WxOrder wxOrder); | List<Long> getComposeOrderIds(WxOrder wxOrder); | ||||
| SumMicroPayVO sumMicroPay(Map dateMap); | |||||
| } | } | ||||
| @@ -240,6 +240,7 @@ public interface WxCouponOrderService { | |||||
| List<WxCouponOrderCVo> findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId); | List<WxCouponOrderCVo> findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId); | ||||
| PageInfo<WxMerchantTradeDetailVo> userTradeDetailList(WxMerchant wxMerchant,Date startTime,Date endTime,Integer pageIndex,Integer pageSize); | PageInfo<WxMerchantTradeDetailVo> userTradeDetailList(WxMerchant wxMerchant,Date startTime,Date endTime,Integer pageIndex,Integer pageSize); | ||||
| ResultData sumVerified(WxMerchantBUser bUser, Date startDate, Date endDate); | |||||
| } | } | ||||
| @@ -286,4 +286,5 @@ public interface WxOrderService { | |||||
| ResultData handlerPushOrder(TenantEntity tenantEntity, Long composeOrderId, String batchExtParam, | ResultData handlerPushOrder(TenantEntity tenantEntity, Long composeOrderId, String batchExtParam, | ||||
| List<CreateOrderCallback.Good> goods); | List<CreateOrderCallback.Good> goods); | ||||
| ResultData sumMicroPay(WxMerchantBUser bUser, Integer type, Date startDate, Date endDate); | |||||
| } | } | ||||
| @@ -326,8 +326,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| if (isVerified) { | if (isVerified) { | ||||
| PageInfo<WxCouponOrderBVo> pageResult = findListOfVerifiedByDateForBUser(wxMerchant, wxMerchant.getId(), startDate, endDate, pageIndex, pageSize); | PageInfo<WxCouponOrderBVo> pageResult = findListOfVerifiedByDateForBUser(wxMerchant, wxMerchant.getId(), startDate, endDate, pageIndex, pageSize); | ||||
| resultMap.put("list", pageResult); | resultMap.put("list", pageResult); | ||||
| int amount = pageResult.getList() != null ? pageResult.getList().stream().mapToInt(WxCouponOrderBVo::getCouponPrice).sum() : 0; | |||||
| resultMap.put("amount", amount); | |||||
| }else { | }else { | ||||
| resultMap.put("list", findListOfOrderedByDateForBUser(wxMerchant,wxMerchant.getId(),startDate,endDate,pageIndex,pageSize)); | resultMap.put("list", findListOfOrderedByDateForBUser(wxMerchant,wxMerchant.getId(),startDate,endDate,pageIndex,pageSize)); | ||||
| } | } | ||||
| @@ -3261,8 +3259,14 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| retPageInfo.setList(couponOrderListToTradeDetailVoList(wxMerchant,pageInfo.getList())); | retPageInfo.setList(couponOrderListToTradeDetailVoList(wxMerchant,pageInfo.getList())); | ||||
| return retPageInfo; | return retPageInfo; | ||||
| } | } | ||||
| private List<WxMerchantTradeDetailVo> couponOrderListToTradeDetailVoList(TenantEntity tenantEntity,List<WxCouponOrder> couponOrderList) { | |||||
| @Override | |||||
| public ResultData sumVerified(WxMerchantBUser bUser, Date startDate, Date endDate) { | |||||
| SumVerifiedVO vo = wxCouponOrderMapper.sumVerified(bUser.getTenantId(), bUser.getMerchantId(), startDate, endDate); | |||||
| return new ResultData(vo); | |||||
| } | |||||
| private List<WxMerchantTradeDetailVo> couponOrderListToTradeDetailVoList(TenantEntity tenantEntity,List<WxCouponOrder> couponOrderList) { | |||||
| if (null == couponOrderList || couponOrderList.size() <=0 ) { | if (null == couponOrderList || couponOrderList.size() <=0 ) { | ||||
| return null; | return null; | ||||
| } | } | ||||
| @@ -333,8 +333,6 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| } else { | } else { | ||||
| PageInfo<WxOrderPayVo> pageResult = orderPayVoPageInfo(wxMerchantBUser, pageIndex, pageSize, dateMap); | PageInfo<WxOrderPayVo> pageResult = orderPayVoPageInfo(wxMerchantBUser, pageIndex, pageSize, dateMap); | ||||
| resultMap.put("list", pageResult); | resultMap.put("list", pageResult); | ||||
| int amount = pageResult.getList() != null ? pageResult.getList().stream().mapToInt(WxOrderPayVo::getPayment).sum() : 0; | |||||
| resultMap.put("amount", amount); | |||||
| } | } | ||||
| return resultMap; | return resultMap; | ||||
| } | } | ||||
| @@ -3922,6 +3920,27 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| // } | // } | ||||
| } | } | ||||
| @Override | |||||
| public ResultData sumMicroPay(WxMerchantBUser bUser, Integer type, Date startDate, Date endDate) { | |||||
| Map dataMap = new HashMap(); | |||||
| dataMap.put("startDate", startDate); | |||||
| dataMap.put("endDate", endDate); | |||||
| dataMap.put("merchantId", bUser.getMerchantId()); | |||||
| dataMap.put("type", type); | |||||
| dataMap.put("tenantId", bUser.getTenantId()); | |||||
| dataMap.put("finalTenantId", bUser.getFinalTenantId()); | |||||
| WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); | |||||
| merchantBUserQ.updateTenantInfo(bUser); | |||||
| merchantBUserQ.setMerchantId(bUser.getMerchantId()); | |||||
| List<Long> bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); | |||||
| if (null == bUserIds || bUserIds.size() <= 0 ) { | |||||
| throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||||
| } | |||||
| dataMap.put("bUserIds", bUserIds); | |||||
| SumMicroPayVO vo = wxOrderMapper.sumMicroPay(dataMap); | |||||
| return new ResultData(vo); | |||||
| } | |||||
| private Map<Long,List<WxOrderCouponVo>> getBatchOrderMap(TenantEntity tenantEntity,List<Long> batchOrderIds){ | private Map<Long,List<WxOrderCouponVo>> getBatchOrderMap(TenantEntity tenantEntity,List<Long> batchOrderIds){ | ||||
| WxOrder recordQ = new WxOrder(); | WxOrder recordQ = new WxOrder(); | ||||
| recordQ.updateTenantInfo(tenantEntity); | recordQ.updateTenantInfo(tenantEntity); | ||||
| @@ -1181,5 +1181,20 @@ | |||||
| and update_date >= #{verifiedStartTime} | and update_date >= #{verifiedStartTime} | ||||
| and update_date <= #{verifiedEndTime} | and update_date <= #{verifiedEndTime} | ||||
| </select> | </select> | ||||
| <select id="sumVerified" resultType="com.iformall.domain.vo.SumVerifiedVO"> | |||||
| select IFNULL(SUM(co.coupon_price), 0) AS amount, COUNT(1) AS total | |||||
| from wx_coupon_order co | |||||
| where co.tenant_id = #{tenantId} | |||||
| AND co.coupon_order_status = '1' | |||||
| <if test=" null != bMerchantId "> | |||||
| and co.b_merchant_id = #{bMerchantId} | |||||
| </if> | |||||
| <if test="startDate != null"> | |||||
| AND co.update_date >= #{startDate,jdbcType=TIMESTAMP} | |||||
| </if> | |||||
| <if test="endDate != null"> | |||||
| AND co.update_date <= #{endDate,jdbcType=TIMESTAMP} | |||||
| </if> | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||
| @@ -1168,5 +1168,34 @@ | |||||
| </if> | </if> | ||||
| </select> | </select> | ||||
| <select id="sumMicroPay" resultType="com.iformall.domain.vo.SumMicroPayVO"> | |||||
| select IFNULL(SUM(o.payment), 0) AS amount, COUNT(1) AS total | |||||
| from wx_order o | |||||
| where o.order_status = '1' and o.`type` = 1 | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and o.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and o.`parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != payVendor "> | |||||
| and o.pay_vendor = #{payVendor} | |||||
| </if> | |||||
| <if test=" null != payVersion "> | |||||
| and o.pay_version = #{payVersion} | |||||
| </if> | |||||
| <if test=" null != bUserIds "> | |||||
| and o.product_id in | |||||
| <foreach collection="bUserIds" index="index" item="bUserIdItem" open="(" separator="," close=")"> | |||||
| #{bUserIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test="startDate != null"> | |||||
| AND o.create_date >= #{startDate,jdbcType=TIMESTAMP} | |||||
| </if> | |||||
| <if test="endDate != null"> | |||||
| AND o.create_date <= #{endDate,jdbcType=TIMESTAMP} | |||||
| </if> | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||