From 760c53ec31321ba4f028de6dda008d72e12e6c6a Mon Sep 17 00:00:00 2001 From: gongbiao Date: Wed, 2 Jan 2019 16:16:14 +0800 Subject: [PATCH 01/13] =?UTF-8?q?[=E4=BC=9A=E5=91=98=E5=88=97=E8=A1=A8][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E6=88=90=E9=95=BF=E5=80=BC=E5=85=91?= =?UTF-8?q?=E6=8D=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/controller/WxUserStructureController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java index 0d1e3771c..f1da51168 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java @@ -590,6 +590,7 @@ public class WxUserStructureController extends BaseController { logger.error(ErrorCode.USER_IS_EMPTY.getMessage()); return new ResultData(ErrorCode.USER_IS_EMPTY); } + info.setPoins(info.getPoins() == null ? 0 : info.getPoins()); if(info.getPoins() < score) { logger.error(ErrorCode.MEM_SCORE_NOT_ENOUGH.getMessage()); return new ResultData(ErrorCode.MEM_SCORE_NOT_ENOUGH); From 7f81159d3fb50648a054c341c8ac8afaddbcc1a7 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Wed, 2 Jan 2019 16:25:19 +0800 Subject: [PATCH 02/13] =?UTF-8?q?[=E5=93=81=E7=89=8C][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E5=88=9B=E5=A7=8B=E6=97=B6=E9=97=B4=E5=9B=9E=E6=98=BE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mallinkService/src/main/resources/mapper/WxBrandMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/resources/mapper/WxBrandMapper.xml b/mallinkService/src/main/resources/mapper/WxBrandMapper.xml index 10ba41804..82a6971d9 100644 --- a/mallinkService/src/main/resources/mapper/WxBrandMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBrandMapper.xml @@ -9,7 +9,7 @@ - + From dcead688e7aa35b7699c02a073ef2c11afd657ef Mon Sep 17 00:00:00 2001 From: gongbiao Date: Wed, 2 Jan 2019 19:44:28 +0800 Subject: [PATCH 03/13] =?UTF-8?q?[=E4=BA=A4=E6=98=93=E5=AF=B9=E8=B4=A6?= =?UTF-8?q?=E5=8D=95][=E4=BF=AE=E6=94=B9][=E6=9F=A5=E8=AF=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mallinkService/src/main/resources/mapper/WxOrderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 2da3e4adb..4d7990737 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -441,7 +441,7 @@ and o.tenant_id =#{tenantId} - + and o.`merchant_name` like concat('%',#{merchantName},'%') From 59d9eb65761e84a3e575588ea20825c44a7e2e65 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 2 Jan 2019 22:39:43 +0800 Subject: [PATCH 04/13] =?UTF-8?q?[=E5=82=A8=E5=80=BC=E5=8D=A1=E9=80=80?= =?UTF-8?q?=E5=8D=A1][=E6=96=B0=E5=A2=9E]:=E5=82=A8=E5=80=BC=E5=8D=A1?= =?UTF-8?q?=E9=80=80=E5=8D=A1=E9=80=80=E6=AC=BE=E9=80=BB=E8=BE=91=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCardPayController.java | 24 +++++----- .../java/com/iformall/common/ErrorCode.java | 6 +++ .../iformall/service/WxCardSpendService.java | 4 +- .../service/impl/WxCardSpendServiceImpl.java | 44 ++++++++++++++++++- .../resources/mapper/WxCardSpendMapper.xml | 2 +- 5 files changed, 62 insertions(+), 18 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java index 582e236ce..40cc4b850 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java @@ -58,7 +58,7 @@ public class WxCardPayController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData cardOrderList(@ModelAttribute WxCardVo wxCardVo, Integer pageNum, Integer pageSize) { String ipStr = getIpAddr(); - logger.info("cardOrderList: " + ipStr); + logger.info("cardPay/cardOrderList: " + ipStr); if (wxCardVo == null) wxCardVo = new WxCardVo(); MallUserInfo user = getUser(); wxCardVo.setTenantId(user.getTenantId()); @@ -83,7 +83,7 @@ public class WxCardPayController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData cardSpendlist(@ModelAttribute WxCardSpendVo wxCardSpendVo, Integer pageNum, Integer pageSize) { String ipStr = getIpAddr(); - logger.info("cardSpendlist: " + ipStr); + logger.info("cardPay/cardSpendlist: " + ipStr); if (wxCardSpendVo == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } @@ -107,7 +107,7 @@ public class WxCardPayController extends BaseController { @GetMapping("sum") public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { String ipStr = getIpAddr(); - logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); + logger.info("cardPay/sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); if (wxCardSpend == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } @@ -120,7 +120,7 @@ public class WxCardPayController extends BaseController { @ApiOperation("交易流水导出") @GetMapping("/exportData") public void exportData(@ModelAttribute WxCardSpendVo wxCardSpendVo, HttpServletRequest request, HttpServletResponse response) { - logger.info("[" + getIpAddr() + "] WxCardPayController::exportData"); + logger.info("[" + getIpAddr() + "] cardPay/exportData"); if (wxCardSpendVo == null) { throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } @@ -138,19 +138,17 @@ public class WxCardPayController extends BaseController { wxCardSpendService.exportData(wxCardSpendVo, request, response); } - @ApiOperation("更新补贴记录") - @PostMapping("update") - public ResultData update(@RequestBody WxCardSpendVo wxCardSpendVo) { + @ApiOperation("更新卡消费支付状态") + @PostMapping("/updatePayStatus") + public ResultData update(@RequestBody WxCardSpend wxCardSpend) { String ipStr = getIpAddr(); - logger.info("subsidy/update: " + ipStr + " :" + wxCardSpendVo.toString()); - if (wxCardSpendVo == null) { + logger.info("cardPay/updatePayStatus: " + ipStr + " :" + wxCardSpend.toString()); + if (wxCardSpend == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } MallUserInfo user = getUser(); - wxCardSpendVo.setTenantId(user.getTenantId()); - wxCardSpendVo.setStatus(EnumCardSpendStatus.MANUAL_PAY.getCode()); - wxCardSpendVo.setUpdateDate(new Date()); - int num = wxCardSpendService.update(wxCardSpendVo); + wxCardSpend.setTenantId(user.getTenantId()); + int num = wxCardSpendService.update(wxCardSpend); return new ResultData(num); } } diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 648d274de..aeca60fa5 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -150,6 +150,12 @@ public enum ErrorCode{ */ CARD_IS_NOT_FOUND(9001, "优惠卡不存在"), CARD_REMAIN_AMOUNT_IS_NOT_ENOUGH(9002, "优惠卡余额不足"), + CARD_IS_NOT_COST(9003, "优惠卡未消费,退款请用卡券退款,钱直接退回购买人手里"), + + /** + * 卡消费 + */ + CARD_SPEND_IS_PAID(9050, "卡消费已支付"), diff --git a/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java b/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java index 4d259b410..12002c281 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java @@ -73,7 +73,7 @@ public interface WxCardSpendService { * * @param record */ - int update(WxCardSpendVo record); + int update(WxCardSpend record); /** * 根据Id删除实体 @@ -84,7 +84,7 @@ public interface WxCardSpendService { /** * cardPay分账 - * + * @param tenantId * @param orderId * @param cardSpendId */ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 167edc19a..b9fec4200 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -275,8 +275,19 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { } @Override - public int update(WxCardSpendVo record) { - return wxCardSpendMapper.updateByCond(record); + public int update(WxCardSpend record) { + // 1. 检查符合条件的卡消费记录是否已支付 + List cardSpends = wxCardSpendMapper.findList(record); + if (cardSpends.stream().anyMatch((cs->(!cs.getPayStatus().equals(EnumCardSpendStatus.NOT_PAY.getCode()))))){ + throw new MallinkException(ErrorCode.CARD_SPEND_IS_PAID); + } + // 2. 更新支付状态 + record.setPayStatus(EnumCardSpendStatus.MANUAL_PAY.getCode()); + record.setUpdateDate(new Date()); + int num = wxCardSpendMapper.updateByCond(record); + // 3. 分账完结 + shareFinishForCardPay(record.getTenantId(), record.getCardId()); + return num; } @Override @@ -364,6 +375,35 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { } } + private void shareFinishForCardPay(String tenantId, Long cardId) { + // admin用户手动帮已用卡消费用户退卡, 此卡需要分账完结, 买卡的钱进商场账户 + WxCardInfo cardInfo = null; + try { + cardInfo = wxCardInfoMapper.selectByPrimaryKey(cardId); + } catch (Exception e) { + logger.error("微信分账: " + e.getMessage()); + throw new MallinkException(ErrorCode.DB_FAIL.getCode(), e.getMessage()); + } + if(cardInfo != null) { + if (cardInfo.getRemainingAmount().equals(cardInfo.getAmount())){ + logger.error("请用订单退款接口: "); + throw new MallinkException(ErrorCode.CARD_IS_NOT_COST); + } else { + try { + WxCouponOrder couponOrder = wxCouponOrderMapper.selectByPrimaryKey(cardInfo.getId()); + WxSharingOrderDto shareOrder = new WxSharingOrderDto(); + shareOrder.setcUserId(couponOrder.getOwnerId()); + shareOrder.setTenantId(tenantId); + shareOrder.setTransactionId(cardInfo.getTransactionId()); + cardShareFinished(cardInfo, shareOrder); + } catch (MallinkException e) { + logger.error("微信分账: " + e.getMessage()); + throw new MallinkException(e.getErrorCode(), e.getMessage()); + } + } + } + } + /** * 卡分账完结 * @param cardInfo diff --git a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml index 5dfc7007f..2719d95db 100644 --- a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml @@ -73,7 +73,7 @@ and `update_date` = #{updateDate} - + and `pay_status` = #{payStatus} From c45299c1fadf9d61901d9eb4b59a1714023ea780 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 2 Jan 2019 22:40:16 +0800 Subject: [PATCH 05/13] =?UTF-8?q?[=E5=8D=87=E7=BA=A7druid][=E5=8D=87?= =?UTF-8?q?=E7=BA=A7]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mybatis-multi-tenancy/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mybatis-multi-tenancy/pom.xml b/mybatis-multi-tenancy/pom.xml index 19c112f64..469fa2ee9 100644 --- a/mybatis-multi-tenancy/pom.xml +++ b/mybatis-multi-tenancy/pom.xml @@ -36,7 +36,7 @@ test com.alibaba druid - 1.1.11 + 1.1.12 From fad7b3e40b825687c2c15aec4c6becf65070197e Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 3 Jan 2019 08:44:14 +0800 Subject: [PATCH 06/13] =?UTF-8?q?[=E6=97=A0=E6=B6=88=E8=B4=B9=E5=82=A8?= =?UTF-8?q?=E5=80=BC=E5=8D=A1=E9=80=80=E6=AC=BE][=E6=96=B0=E5=A2=9E]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/service/impl/WxRefundOrderServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java index 471f45251..f7f205af2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java @@ -341,7 +341,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { } // 更改 couponOrder 状态 - wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_INVALID.getCode()); //3退款,券作废 + if(wxCouponOrder.getCouponType().equals(EnumCouponType.CARD_MULTIMCH.getCode())) { + wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_RETURNED.getCode()); // 卡线下退款 + } else { + wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_INVALID.getCode()); //3退款,券作废 + } if (payType == EnumPayType.PAY_B_REFUND) { wxCouponOrder.setBUserId(bUserId); } else{ From a9b0b4a9e867fd3d7006a70a3b874b576e05d612 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 3 Jan 2019 08:44:36 +0800 Subject: [PATCH 07/13] =?UTF-8?q?[=E5=82=A8=E5=80=BC=E5=8D=A1=E5=AE=8C?= =?UTF-8?q?=E7=BB=93=E6=8E=A5=E5=8F=A3][=E6=96=B0=E5=A2=9E]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCardPayController.java | 14 ++++ .../iformall/service/WxCardSpendService.java | 8 ++ .../service/impl/WxCardSpendServiceImpl.java | 79 +++++++++++-------- 3 files changed, 70 insertions(+), 31 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java index 40cc4b850..d204ec946 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java @@ -151,4 +151,18 @@ public class WxCardPayController extends BaseController { int num = wxCardSpendService.update(wxCardSpend); return new ResultData(num); } + + @ApiOperation("卡完结") + @PostMapping("/finishCard") + public ResultData finishCard(@RequestBody WxCardInfo wxCardInfo) { + String ipStr = getIpAddr(); + logger.info("cardPay/finishCard: " + ipStr + " :" + wxCardInfo.toString()); + if (wxCardInfo == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); + } + MallUserInfo user = getUser(); + wxCardInfo.setTenantId(user.getTenantId()); + int remainShareAmount = wxCardSpendService.finishCard(user.getTenantId(), wxCardInfo.getId()); + return new ResultData(remainShareAmount); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java b/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java index 12002c281..a03e72f35 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java @@ -75,6 +75,14 @@ public interface WxCardSpendService { */ int update(WxCardSpend record); + /** + * 卡完结 + * + * @param tenantId + * @param cardId + */ + int finishCard(String tenantId, Long cardId); + /** * 根据Id删除实体 * diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index b9fec4200..fd5e8a3d8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -285,11 +285,55 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { record.setPayStatus(EnumCardSpendStatus.MANUAL_PAY.getCode()); record.setUpdateDate(new Date()); int num = wxCardSpendMapper.updateByCond(record); - // 3. 分账完结 - shareFinishForCardPay(record.getTenantId(), record.getCardId()); return num; } + @Override + public int finishCard(String tenantId, Long cardId) { + // admin用户手动帮已用卡消费用户退卡, 此卡需要分账完结, 买卡的钱进商场账户 + WxCardInfo cardInfo = null; + try { + cardInfo = wxCardInfoMapper.selectByPrimaryKey(cardId); + } catch (Exception e) { + logger.error("微信分账: " + e.getMessage()); + throw new MallinkException(ErrorCode.DB_FAIL.getCode(), e.getMessage()); + } + if(cardInfo != null) { + if (cardInfo.getRemainingAmount().equals(cardInfo.getAmount())){ + logger.error("请用订单退款接口: "); + throw new MallinkException(ErrorCode.CARD_IS_NOT_COST); + } else if(cardInfo.getRemainingAmount() > 0){ + // 卡已消费, 余额不为0 + int remainShareFeeAmount = cardInfo.getRemainingShareFeeAmount(); + try { + WxCouponOrder couponOrder = wxCouponOrderMapper.selectByPrimaryKey(cardInfo.getId()); + // 更新 coupon order状态 + couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_RETURNED.getCode()); + couponOrder.setUpdateDate(new Date()); + wxCouponOrderMapper.updateByPrimaryKeySelective(couponOrder); + // 卡余额 + WxCardInfo cardInfo1 = new WxCardInfo(); + cardInfo1.setId(cardInfo.getId()); + cardInfo1.setRemainingAmount(0); + cardInfo1.setUpdateDate(new Date()); + wxCardInfoMapper.updateByPrimaryKeySelective(cardInfo1); + + // 分账完结 + WxSharingOrderDto shareOrder = new WxSharingOrderDto(); + shareOrder.setcUserId(couponOrder.getOwnerId()); + shareOrder.setTenantId(tenantId); + shareOrder.setTransactionId(cardInfo.getTransactionId()); + cardShareFinished(cardInfo, shareOrder); + } catch (MallinkException e) { + logger.error("微信分账: " + e.getMessage()); + throw new MallinkException(e.getErrorCode(), e.getMessage()); + } + return remainShareFeeAmount; + } + } + return 0; + } + @Override public void deleteById(Long id) { wxCardSpendMapper.deleteByPrimaryKey(id); @@ -375,34 +419,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { } } - private void shareFinishForCardPay(String tenantId, Long cardId) { - // admin用户手动帮已用卡消费用户退卡, 此卡需要分账完结, 买卡的钱进商场账户 - WxCardInfo cardInfo = null; - try { - cardInfo = wxCardInfoMapper.selectByPrimaryKey(cardId); - } catch (Exception e) { - logger.error("微信分账: " + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), e.getMessage()); - } - if(cardInfo != null) { - if (cardInfo.getRemainingAmount().equals(cardInfo.getAmount())){ - logger.error("请用订单退款接口: "); - throw new MallinkException(ErrorCode.CARD_IS_NOT_COST); - } else { - try { - WxCouponOrder couponOrder = wxCouponOrderMapper.selectByPrimaryKey(cardInfo.getId()); - WxSharingOrderDto shareOrder = new WxSharingOrderDto(); - shareOrder.setcUserId(couponOrder.getOwnerId()); - shareOrder.setTenantId(tenantId); - shareOrder.setTransactionId(cardInfo.getTransactionId()); - cardShareFinished(cardInfo, shareOrder); - } catch (MallinkException e) { - logger.error("微信分账: " + e.getMessage()); - throw new MallinkException(e.getErrorCode(), e.getMessage()); - } - } - } - } + /** * 卡分账完结 @@ -433,7 +450,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { logger.error("card spend insert error"); return; } - // card info 更新 余额 + // card info 更新 分账 余额 WxCardInfo cardInfo1 = new WxCardInfo(); cardInfo1.setId(cardInfo.getId()); cardInfo1.setRemainingShareFeeAmount(0); From 3928baf745047292e7ee8fa7ac7c849ffc8c5269 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Thu, 3 Jan 2019 10:56:03 +0800 Subject: [PATCH 08/13] =?UTF-8?q?[=E4=BC=9A=E5=91=98=E5=88=97=E8=A1=A8][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WxCUserBasicInfoController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java index 3a655f131..661487e78 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java @@ -1,6 +1,7 @@ package com.iformall.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; @@ -263,6 +264,7 @@ public class WxCUserBasicInfoController extends BaseController { public ResultData queryTemplateCount() { String userId = getUser().getId().toString(); Map entries = stringRedisTemplate.opsForHash().entries(userId); + logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>1"); if (entries.size() < 4) { entries.clear(); return new ResultData(Result.SUCCESS, "ok", entries); @@ -273,6 +275,7 @@ public class WxCUserBasicInfoController extends BaseController { String failCount = entries.get("failCount").toString(); if (allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS); + logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>2"); //完全失败 stringRedisTemplate.opsForHash().delete(userId, "allCount"); stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount"); From 52e0b8aa7584a9e7e9c4c8a3904857a38aa5ad44 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 3 Jan 2019 11:36:09 +0800 Subject: [PATCH 09/13] =?UTF-8?q?[=E6=94=B6=E6=AC=BE=E7=A0=81=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E9=97=AE=E9=A2=98][=E4=BF=AE=E6=94=B9]:=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WxMerchantMicroPayController.java | 10 +--- .../iformall/domain/dto/WxOrderReportDto.java | 52 ++----------------- .../impl/MarkingDataReportServiceImpl.java | 6 +-- .../main/resources/mapper/WxOrderMapper.xml | 15 +++++- 4 files changed, 21 insertions(+), 62 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java index 5bd35d38e..6558df02b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java @@ -4,22 +4,15 @@ 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.EnumOrderStatus; import com.iformall.enums.EnumOrderType; import com.iformall.service.MarkingDataReportService; -import com.iformall.service.WxMerchantTradeDailyService; -import com.iformall.service.WxOrderService; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; 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.*; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; @RestController @RequestMapping("wxMerchantMicroPay") @@ -36,6 +29,7 @@ public class WxMerchantMicroPayController extends BaseController { WxOrderReportDto wxOrderReportDto = new WxOrderReportDto(); wxOrderReportDto.setTenantId(getTenantId()); wxOrderReportDto.setType(EnumOrderType.MICROPAY.getCode()); + wxOrderReportDto.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); return new ResultData(markingDataReportService.listOrderReportByDate(wxOrderReportDto)); } 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 72384278f..8b98d5f15 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java @@ -1,10 +1,13 @@ package com.iformall.domain.dto; +import lombok.Data; + import java.util.Date; /** * Created by syf on 2018/8/30. */ +@Data public class WxOrderReportDto { private String tenantId; private Long merchantId; @@ -12,52 +15,5 @@ public class WxOrderReportDto { 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 String getMerchantName() { - return merchantName; - } - - public void setMerchantName(String merchantName) { - this.merchantName = merchantName; - } - - public Integer getType() { - return type; - } - - public void setType(Integer type) { - this.type = type; - } - - public Date getStartTime() { - return startTime; - } - - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - public Date getEndTime() { - return endTime; - } - - public void setEndTime(Date endTime) { - this.endTime = endTime; - } + private Integer orderStatus; } 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 0bcd95184..56070df79 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -6,10 +6,7 @@ import com.iformall.domain.dto.MarkingCouponDataReportDto; import com.iformall.domain.dto.WxOrderReportDto; import com.iformall.domain.po.WxCoupon; 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.mapper.*; import com.iformall.service.MarkingDataReportService; import com.iformall.utils.DateUtils; @@ -428,6 +425,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { params.put("endTime", addDay(1)); } params.put("type", wxOrderReportDto.getType()); + params.put("orderStatus", wxOrderReportDto.getOrderStatus()); List list = wxOrderMapper.listOrderReportByDate(params); String startdate = DateUtils.getTimeBefore(30, new Date()); diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 4d7990737..41ca18f0e 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -323,9 +323,20 @@ - select from wx_card_spend - - + + and `create_date` = #{createDate} + + + and `update_date` = #{updateDate} + + + and `pay_status` = #{payStatus} + + + and `create_date` between #{startdate} and #{enddate} + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - + + + - - - + + + - + cs.`id`,cs.`tenant_id`,cs.`card_id`,cs.`owner_id`,cs.`merchant_id`,cs.`order_id`,cs.`deduction_amount`,cs.`payment`,cs.`real_payment`, cs.`card_remain_amount`,cs.`card_before_amount`,cs.`card_remain_real_amount`,cs.`card_before_real_amount`, cs.`create_date`,cs.`update_date`, cs.`pay_status`, @@ -139,125 +154,125 @@ ou.`nick_name` as onick_name, ou.`phone` as ou_phone - - where 1 = 1 - - and cs.`id` = #{id} - - - and cs.`tenant_id` = #{tenantId} - - - and cs.`card_id` = #{cardId} - - - and cs.`owner_id` = #{ownerId} - - - and cs.`merchant_id` = #{merchantId} - - - and cs.`order_id` = #{orderId} - - - and cs.`deduction_amount` = #{deductionAmount} - - - and cs.`payment` = #{payment} - - - and cs.`real_payment` = #{realPayment} - - - and cs.`card_remain_amount` = #{cardRemainAmount} - - - and cs.`card_before_amount` = #{cardBeforeAmount} - - - and cs.`card_remain_real_amount` = #{cardRemainRealAmount} - - - and cs.`card_before_real_amount` = #{cardBeforeRealAmount} - - - and cs.`create_date` = #{createDate} - - - and cs.`update_date` = #{updateDate} - - - and cs.`pay_status` = #{payStatus} - - - and ms.`status` = #{status} - - - and ou.`phone` = #{ouPhone} - - - and cs.`create_date` between #{startdate} and #{enddate} - - - and cs.`pay_status` in - - #{sItem} - - - - and cs.id in - - #{idItem} - - - + + where 1 = 1 + + and cs.`id` = #{id} + + + and cs.`tenant_id` = #{tenantId} + + + and cs.`card_id` = #{cardId} + + + and cs.`owner_id` = #{ownerId} + + + and cs.`merchant_id` = #{merchantId} + + + and cs.`order_id` = #{orderId} + + + and cs.`deduction_amount` = #{deductionAmount} + + + and cs.`payment` = #{payment} + + + and cs.`real_payment` = #{realPayment} + + + and cs.`card_remain_amount` = #{cardRemainAmount} + + + and cs.`card_before_amount` = #{cardBeforeAmount} + + + and cs.`card_remain_real_amount` = #{cardRemainRealAmount} + + + and cs.`card_before_real_amount` = #{cardBeforeRealAmount} + + + and cs.`create_date` = #{createDate} + + + and cs.`update_date` = #{updateDate} + + + and cs.`pay_status` = #{payStatus} + + + and ms.`status` = #{status} + + + and ou.`phone` = #{ouPhone} + + + and cs.`create_date` between #{startdate} and #{enddate} + + + and cs.`pay_status` in + + #{sItem} + + + + and cs.id in + + #{idItem} + + + - + select + + from wx_card_spend cs left join wx_coupon_order co on co.id = cs.card_id left join wx_coupon c on c.id = co.coupon_id - left join wx_merchant m on m.id = cs.merchant_id + left join wx_merchant m on m.id = cs.merchant_id left join wx_merchant_subsidy ms on ms.order_id = cs.order_id - left join wx_c_user ou on ou.id = co.owner_id - + left join wx_c_user ou on ou.id = co.owner_id + order by cs.create_date DESC - + + + + + - - - -