From 23290082d00bc7987bcaed100eec523d42c848e9 Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Mon, 4 Sep 2023 18:43:36 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=81=9C?= =?UTF-8?q?=E8=BD=A6=E5=85=A5=E5=9C=BA=E5=9B=9E=E8=B0=83=E5=B9=82=E7=AD=89?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../car/WxParkCallBackBaseController.java | 17 +++++++---------- .../com/iformall/utils/RedisCacheUtils.java | 4 ++++ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java index 3747d80ea..790b6b45e 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java @@ -16,9 +16,6 @@ import com.iformall.exception.MallinkException; import com.iformall.service.*; import com.iformall.service.park.ParkFactory; import com.iformall.service.park.entity.ParkNotifyParam; -import com.iformall.service.park.impl.cyf.CYFUtil; -import com.iformall.service.park.impl.etcp.ETCPUtil; -import com.iformall.service.park.impl.tjd.TJDUtil; import com.iformall.service.park.utils.ParkCacheUtils; import com.iformall.utils.DateUtils; import com.iformall.utils.RedisCacheUtils; @@ -30,17 +27,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; @RestController public class WxParkCallBackBaseController extends BaseController { @@ -184,9 +175,15 @@ public class WxParkCallBackBaseController extends BaseController { if (null == param) { return new Result(); } + // 回调去重 + String key = "callback:" + param.getCarNumber(); + if (RedisCacheUtils.hasKey(redisTemplate, key)) { + logger.info("回调数据重复=========>{}", JSON.toJSONString(sourceParam)); + return new Result(); + } + RedisCacheUtils.cache(redisTemplate, key, "", 60 * 2); String carNumber = param.getCarNumber(); - ParkCacheUtils.removeCache(redisTemplate, vendor.getMessage(), carNumber); ParkCacheUtils.setCarCouponUnUseCacheLock(redisTemplate, vendor.getMessage(), carNumber); diff --git a/mallinkService/src/main/java/com/iformall/utils/RedisCacheUtils.java b/mallinkService/src/main/java/com/iformall/utils/RedisCacheUtils.java index d4a3f31e7..351c502fa 100644 --- a/mallinkService/src/main/java/com/iformall/utils/RedisCacheUtils.java +++ b/mallinkService/src/main/java/com/iformall/utils/RedisCacheUtils.java @@ -169,4 +169,8 @@ public class RedisCacheUtils { Set keys = template.keys(prefix+"*"); template.delete(keys); } + + public static Boolean hasKey(RedisTemplate template,String key) { + return template.hasKey(key); + } } From 8a77a4e6ad888960baaed2a6ed57290d25f3f409 Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Mon, 4 Sep 2023 19:42:56 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat=EF=BC=9A=E4=BF=AE=E6=94=B9=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/callback/car/WxParkCallBackBaseController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java index 790b6b45e..cab2cf9b8 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java @@ -178,7 +178,7 @@ public class WxParkCallBackBaseController extends BaseController { // 回调去重 String key = "callback:" + param.getCarNumber(); if (RedisCacheUtils.hasKey(redisTemplate, key)) { - logger.info("回调数据重复=========>{}", JSON.toJSONString(sourceParam)); + logger.info("回调数据重复=========>{}", JSON.toJSONString(param)); return new Result(); } RedisCacheUtils.cache(redisTemplate, key, "", 60 * 2); From 4a31aea401e20164c4a3387905556a6252e1aab8 Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Tue, 5 Sep 2023 14:28:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat(B)=EF=BC=9A=E6=96=B0=E5=A2=9E=E6=A0=B8?= =?UTF-8?q?=E9=94=80=EF=BC=8C=E6=94=B6=E9=93=B6=E7=BB=9F=E8=AE=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponOrderController.java | 7 +++++ .../controller/WxMicroPayController.java | 8 +++++ .../com/iformall/domain/vo/SumMicroPayVO.java | 11 +++++++ .../com/iformall/domain/vo/SumVerifiedVO.java | 11 +++++++ .../iformall/mapper/WxCouponOrderMapper.java | 10 ++++++ .../com/iformall/mapper/WxOrderMapper.java | 2 ++ .../service/WxCouponOrderService.java | 5 +-- .../com/iformall/service/WxOrderService.java | 1 + .../impl/WxCouponOrderServiceImpl.java | 12 ++++--- .../service/impl/WxOrderServiceImpl.java | 23 ++++++++++++-- .../resources/mapper/WxCouponOrderMapper.xml | 15 +++++++++ .../main/resources/mapper/WxOrderMapper.xml | 31 ++++++++++++++++++- 12 files changed, 127 insertions(+), 9 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/SumMicroPayVO.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/SumVerifiedVO.java diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index a3ca88f73..fc479a6a6 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -153,6 +153,13 @@ public class WxCouponOrderController extends BaseController { 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("某日期交易总流水") @GetMapping("getUnverifiedAmountOnDate") @ApiImplicitParams({ diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java index 9439d1864..6ae807016 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java @@ -276,6 +276,14 @@ public class WxMicroPayController extends BaseController { 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 @ApiOperation("付款码支付某日期交易总流水") @GetMapping("getMicroPayAmountOnDate") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/SumMicroPayVO.java b/mallinkService/src/main/java/com/iformall/domain/vo/SumMicroPayVO.java new file mode 100644 index 000000000..810b8532e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/SumMicroPayVO.java @@ -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; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/SumVerifiedVO.java b/mallinkService/src/main/java/com/iformall/domain/vo/SumVerifiedVO.java new file mode 100644 index 000000000..e2a774c0f --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/SumVerifiedVO.java @@ -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; +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 35a51fff3..7b7fc5f98 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -112,4 +112,14 @@ public interface WxCouponOrderMapper extends CommonMapper { * @return */ List 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); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java index 81a4796fc..75c521e40 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java @@ -69,4 +69,6 @@ public interface WxOrderMapper extends CommonMapper { void updateCUserId(WxOrder updateOrder); List getComposeOrderIds(WxOrder wxOrder); + + SumMicroPayVO sumMicroPay(Map dateMap); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index 1ae3add87..1fc33d994 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -240,6 +240,7 @@ public interface WxCouponOrderService { List findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId); PageInfo userTradeDetailList(WxMerchant wxMerchant,Date startTime,Date endTime,Integer pageIndex,Integer pageSize); - - + + + ResultData sumVerified(WxMerchantBUser bUser, Date startDate, Date endDate); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index 48216c1c7..c6962df95 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -286,4 +286,5 @@ public interface WxOrderService { ResultData handlerPushOrder(TenantEntity tenantEntity, Long composeOrderId, String batchExtParam, List goods); + ResultData sumMicroPay(WxMerchantBUser bUser, Integer type, Date startDate, Date endDate); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index afca5e74a..c3b99da39 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -326,8 +326,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if (isVerified) { PageInfo pageResult = findListOfVerifiedByDateForBUser(wxMerchant, wxMerchant.getId(), startDate, endDate, pageIndex, pageSize); resultMap.put("list", pageResult); - int amount = pageResult.getList() != null ? pageResult.getList().stream().mapToInt(WxCouponOrderBVo::getCouponPrice).sum() : 0; - resultMap.put("amount", amount); }else { 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())); return retPageInfo; } - - private List couponOrderListToTradeDetailVoList(TenantEntity tenantEntity,List 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 couponOrderListToTradeDetailVoList(TenantEntity tenantEntity,List couponOrderList) { if (null == couponOrderList || couponOrderList.size() <=0 ) { return null; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 9dd34a6db..2fb6034c7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -333,8 +333,6 @@ public class WxOrderServiceImpl implements WxOrderService { } else { PageInfo pageResult = orderPayVoPageInfo(wxMerchantBUser, pageIndex, pageSize, dateMap); resultMap.put("list", pageResult); - int amount = pageResult.getList() != null ? pageResult.getList().stream().mapToInt(WxOrderPayVo::getPayment).sum() : 0; - resultMap.put("amount", amount); } 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 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> getBatchOrderMap(TenantEntity tenantEntity,List batchOrderIds){ WxOrder recordQ = new WxOrder(); recordQ.updateTenantInfo(tenantEntity); diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 0fb95b902..c17d1b450 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -1181,5 +1181,20 @@ and update_date >= #{verifiedStartTime} and update_date <= #{verifiedEndTime} + \ No newline at end of file diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index d9e081624..32518fdb0 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -1168,5 +1168,34 @@ - + +