diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java index 8e75ec650..0258e6cfd 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java @@ -15,6 +15,7 @@ import com.iformall.enums.EnumCouponSendSendType; import com.iformall.enums.EnumCouponSendStatus; import com.iformall.enums.EnumCouponSendType; import com.iformall.enums.EnumCouponStatus; +import com.iformall.exception.MallinkException; import com.iformall.service.WxCouponActionLogService; import com.iformall.service.WxCouponSendService; import com.iformall.service.WxCouponService; @@ -145,7 +146,11 @@ public class WxCouponSendController extends BaseController { if (wxCouponSend == null) { return new ResultData(ErrorCode.COUPON_SEND_IS_INVALID); } + try { wxCouponSendService.updateInvalid(wxCouponSend); + } catch (MallinkException e) { + return new ResultData(e.getErrorCode(),e.getMessage()) ; + } return new ResultData(); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java index c8fbf0f5e..657976e2a 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java @@ -2,6 +2,7 @@ package com.iformall.controller.mem; import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; @@ -13,6 +14,7 @@ import com.iformall.service.WxCreditHistoryService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +22,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Objects; @RestController @RequestMapping("wxCreditHistory") @@ -49,8 +52,11 @@ public class WxCreditHistoryController extends BaseController { @ApiImplicitParam(name = "spend", value = "消费金额", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "userId", value = "会员Id", dataType = "long", paramType = "query", required = true)}) @SystemControllerLog(description = "积分历史-根据商户ID和消费金额获取所增加积分") - public ResultData findByMerchantIdAndSpend(@RequestParam Long merchantId, @RequestParam String spendStr,@RequestParam Long userId) { + public ResultData findByMerchantIdAndSpend(Long merchantId, String spendStr,Long userId) { logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::findByMerchantIdAndSpend"); + if(Objects.isNull(merchantId)|| StringUtils.isEmpty(spendStr)||Objects.isNull(userId)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; + } return new ResultData(wxCreditHistoryService.findByMerchantIdAndSpend(merchantId, spendStr, userId,getTenantId())); } diff --git a/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java b/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java index 9d8139178..6f66d1274 100644 --- a/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java +++ b/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java @@ -3,6 +3,9 @@ package com.iformall.service.test; import com.alibaba.fastjson.JSON; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxBillAll; +import com.iformall.enums.EnumSettleRecordWay; +import com.iformall.enums.EnumSettleStatus; +import com.iformall.mapper.WxBillSettleMapper; import com.iformall.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; @@ -27,6 +30,8 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.Date; @Slf4j @AutoConfigureMockMvc @@ -61,6 +66,10 @@ public class Test { private WxBillSettleService wxBillSettleService; @Autowired private WxBillAllService wxBillAllService; + @Autowired + private WxBillSettleMapper wxBillSettleMapper; + @Autowired + private WxBillSettleRecordService wxBillSettleRecordService; @Before public void setUp() { @@ -87,11 +96,29 @@ public class Test { public void levelList() { // WxBillSettle settle = wxBillSettleService.getById(328411851323572224l); // log.debug("data:{}", JSON.toJSONString(settle)); - WxBillAll wxBillAll = new WxBillAll(); - wxBillAll.setMerchantId(324754110547066880l); - wxBillAll.setTenantId("456"); - wxBillAll.setBillTypeValue(10); - log.debug("data:{}", JSON.toJSONString( wxBillAllService.listBill(wxBillAll))); +// WxBillAll wxBillAll = new WxBillAll(); +// wxBillAll.setMerchantId(324754110547066880l); +// wxBillAll.setTenantId("456"); +// wxBillAll.setBillTypeValue(10); +// log.debug("data:{}", JSON.toJSONString( wxBillAllService.listBill(wxBillAll))); + + WxBillSettle wxBillSettle = wxBillSettleService.getById(330875180045271040l); + + + WxBillSettleRecord settleRecord = new WxBillSettleRecord(); + settleRecord.setSettleId(wxBillSettle.getId()); + settleRecord.setSettleMoney(wxBillSettle.getBalance()); + settleRecord.setSettleTime(new Date()); + settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode()); + settleRecord.setTenantId(wxBillSettle.getTenantId()); + + BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); + settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); + wxBillSettleRecordService.saveOrUpdate(settleRecord,null,wxBillSettle.getId()); + + wxBillSettle.setUpdatetime(new Date()); + wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode()); + wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); } diff --git a/mallinkAdmin/src/test/java/com/iformall/service/test/WebTest.java b/mallinkAdmin/src/test/java/com/iformall/service/test/WebTest.java index a4e0d3ff8..61d394f59 100644 --- a/mallinkAdmin/src/test/java/com/iformall/service/test/WebTest.java +++ b/mallinkAdmin/src/test/java/com/iformall/service/test/WebTest.java @@ -43,6 +43,7 @@ import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -173,4 +174,25 @@ public class WebTest { log.info("respMap -> {}", JSON.toJSONString(respMap)); } + @Test + public void add() throws Exception { + Map params = new HashMap<>(); + params.put("creditNum", "1"); + params.put("creditType", "12"); + params.put("cuserId", "329879374400159744"); + params.put("operatorType", "4"); + MvcResult result = mockMvc.perform( + MockMvcRequestBuilders.post("/wxCreditHistory/add") + .contentType(MediaType.APPLICATION_JSON_UTF8) + .content(JSON.toJSONString(params)) + ) + .andExpect(MockMvcResultMatchers.status().isOk()) + .andDo(MockMvcResultHandlers.print()) + .andReturn(); + String responseStr = result.getResponse().getContentAsString(); + ObjectMapper mapper = new ObjectMapper(); + Map respMap = mapper.readValue(responseStr, Map.class); + log.info("respMap -> {}", JSON.toJSONString(respMap)); + } + } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java index 74c9ccd94..21bc55f29 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java @@ -49,7 +49,7 @@ public class WxCouponSendController extends BaseController { public ResultData list(WxCouponSend wxCouponSend, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxCouponSendController::list"); if (Objects.isNull(wxCouponSend.getSendType())) { - throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } wxCouponSend.setTenantId(getTenantId()); wxCouponSend.setMerchantId(getUser().getMerchantId()); @@ -78,20 +78,18 @@ public class WxCouponSendController extends BaseController { public ResultData handSel(@RequestBody Map params) { logger.debug("[" + getIpAddr() + "] WxCouponSendController::handSel"); if (CollectionUtils.isEmpty(params)) { - throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL); - } - WxCUser cu = wxCUserMapper.selectByPrimaryKey(params.get("cUserId")); - if (Objects.isNull(cu)) { - throw new MallinkException(ErrorCode.USER_IS_EMPTY); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } + Object cUserId = params.get("cUserId") ; + if (!params.containsKey("wxCouponSendIds")) { - throw new MallinkException(ErrorCode.COUPON_IS_EMPTY); + return new ResultData(ErrorCode.COUPON_IS_EMPTY); } List wxCouponSendIds = (List) params.get("wxCouponSendIds"); if (CollectionUtils.isEmpty(wxCouponSendIds)) { - throw new MallinkException(ErrorCode.COUPON_IS_EMPTY); + return new ResultData(ErrorCode.COUPON_IS_EMPTY); } WxCouponSend wxCouponSend = new WxCouponSend(); @@ -99,7 +97,15 @@ public class WxCouponSendController extends BaseController { wxCouponSend.setTenantId(getTenantId()); wxCouponSend.setSendType(EnumCouponSendSendType.MERCHANT.getCode()); wxCouponSend.setStatus(EnumCouponSendStatus.VALID.getCode()); - wxCouponSendService.handSel(wxCouponSend, cu); + try { + wxCouponSendService.handSel(wxCouponSend, cUserId); + } catch (MallinkException e) { + logger.error("注异常: " + e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } catch (Exception e) { + logger.error("注异常: " + e.getMessage()); + return new ResultData(ErrorCode.COUPON_HANDSEL_VERIFY, e.getMessage()); + } return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 75ddd0c35..5013b693f 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -193,6 +193,7 @@ public enum ErrorCode{ COUPON_ORDER_IS_LATER_THAN_VALIDDATE(4007, "卡券使用期已结束"), COUPON_ORDER_IS_PRE_VERIFY(4008, "卡券已被预核销"), COUPON_SEND_LIMIT_VERIFY(4009, "商户购券数错误"), + COUPON_HANDSEL_VERIFY(4010, "商户发券异常"), /** * 卡 @@ -235,6 +236,7 @@ public enum ErrorCode{ MP_TEMPLATE_SEND_FAILED(11009, "公众号模板消息发送失败"), UNIFORM_SEND_FAILED(11010, "小程序统一消息发送失败"), USER_LOGIN_FAILED(11011, "微信用户未登录或登录有问题"), + USER_NOT_AUTH_PHONE(11011, "用户小程序未授权手机号码"), /** * POS diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java index 456964729..df23f22b8 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java @@ -93,7 +93,11 @@ public interface WxCouponSendService { */ void backMerchantRemainInventory(Long id, Integer merchantRemain, Integer merchantSend ,Integer number); - void handSel(WxCouponSend wxCouponSend, WxCUser user) ; + /** + * + * @param wxCouponSend + */ + void handSel(WxCouponSend wxCouponSend,Object cUserId) ; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index a364c2441..69f23e55b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -16,6 +16,7 @@ import com.iformall.mapper.*; import com.iformall.mq.MqBaseProducer; import com.iformall.service.*; import com.iformall.utils.DateUtils; +import com.iformall.utils.JsonUtil; import com.iformall.utils.PriceUtil; import com.iformall.utils.WordUtil; import org.apache.commons.collections.CollectionUtils; @@ -253,21 +254,32 @@ public class WxBillAllServiceImpl implements WxBillAllService { updateBillOtherDeposit(bill); } } else if (billTypeValue == EnumBillTypeParam.SETTLE.getCode().intValue()) { - logger.info("更新结算单id:{}",(Long)bill.get("id")); - WxBillSettleRecord settleRecord = new WxBillSettleRecord(); - settleRecord.setSettleId((Long)bill.get("id")); - settleRecord.setSettleMoney((Long) bill.get("owe")); - settleRecord.setSettleTime(new Date()); - settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode()); - - BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); - settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); - wxBillSettleRecordService.saveOrUpdate(settleRecord,null,(Long)bill.get("userId")); - - WxBillSettle wxBillSettle = new WxBillSettle(); - wxBillSettle.setId(settleRecord.getSettleId()); - wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode()); - wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); + try { + logger.info("更新结算单id:{}", JsonUtil.obj2Json(bill)); + + WxBillSettle wxBillSettle = wxBillSettleService.getById((Long)bill.get("id")); + + WxBillSettleRecord settleRecord = new WxBillSettleRecord(); + settleRecord.setSettleId((Long)bill.get("id")); + settleRecord.setSettleMoney(wxBillSettle.getBalance()); + settleRecord.setSettleTime(new Date()); + settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode()); + settleRecord.setTenantId(wxBillSettle.getTenantId()); + + BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); + settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); + wxBillSettleRecordService.saveOrUpdate(settleRecord,null,(Long)bill.get("userId")); + + wxBillSettle.setUpdatetime(new Date()); + wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode()); + wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); + + logger.info("更新结算单success"); + }catch (Exception e){ + logger.error("结算单error",e); + e.printStackTrace(); + } + }else{ logger.info("账单类型不存在"); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java index e56d1b1ce..3f1bba885 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillDepositServiceImpl.java @@ -128,23 +128,20 @@ public class WxBillDepositServiceImpl implements WxBillDepositService { return new ResultData(ErrorCode.BILL_RENT_DEPOSIT_IS_NOT_FOUND); } Long addpay = wxBillDeposit.getPay(); - wxBillDeposit.setPayDate(record.getPayDate()); wxBillDeposit.setPay(record.getPay()); wxBillDeposit.setReceivePay(record.getReceivePay()); wxBillDeposit.setOwe(record.getReceivePay()-record.getPay()); if (record.getPay().equals(record.getReceivePay())) { wxBillDeposit.setStatus(EnumBillRentStatus.PAID.getCode()); - Date payDate = record.getPayDate(); Date receiveDate = wxBillDeposit.getReceiveDate(); wxBillDeposit.setExpiredDay(0L); - if (payDate.after(receiveDate)) { - int expiredDay = DateUtils.daysBetween(receiveDate, payDate); + if (date.after(receiveDate)) { + int expiredDay = DateUtils.daysBetween(receiveDate, date); wxBillDeposit.setExpiredDay((long) expiredDay); } } - wxBillDeposit.setPayDate(record.getPayDate()); + wxBillDeposit.setPayDate(date); wxBillDeposit.setUpdatetime(date); - wxBillDeposit.setUpdatetime(new Date()); wxBillDeposit.setPayWay(record.getPayWay()); try { wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java index 696543cd6..ed328ab46 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyDepositServiceImpl.java @@ -128,21 +128,19 @@ public class WxBillPropertyDepositServiceImpl implements WxBillPropertyDepositSe return new ResultData(ErrorCode.BILL_PROPERTY_DEPOSIT_IS_NOT_FOUND); } Long addpay = wxBillDeposit.getPay(); - wxBillDeposit.setPayDate(record.getPayDate()); wxBillDeposit.setPay(record.getPay()); wxBillDeposit.setReceivePay(record.getReceivePay()); wxBillDeposit.setOwe(record.getReceivePay()-record.getPay()); if (record.getPay().equals(record.getReceivePay())) { wxBillDeposit.setStatus(EnumBillRentStatus.PAID.getCode()); - Date payDate = record.getPayDate(); Date receiveDate = wxBillDeposit.getReceiveDate(); wxBillDeposit.setExpiredDay(0L); - if (payDate.after(receiveDate)) { - int expiredDay = DateUtils.daysBetween(receiveDate, payDate); + if (date.after(receiveDate)) { + int expiredDay = DateUtils.daysBetween(receiveDate, date); wxBillDeposit.setExpiredDay((long) expiredDay); } } - wxBillDeposit.setPayDate(record.getPayDate()); + wxBillDeposit.setPayDate(date); wxBillDeposit.setUpdatetime(date); wxBillDeposit.setPayWay(record.getPayWay()); try { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java index ab06c0019..78c924715 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java @@ -44,13 +44,13 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService record.setId(idWorker.nextId()); //清算完成 - if(record.getSettleMoney().intValue() == abs(record.getBalance().intValue())){ + if(record.getSettleMoney()!= null && record.getBalance()!=null && record.getSettleMoney().intValue() == abs(record.getBalance().intValue())){ WxBillSettle wxBillSettle = new WxBillSettle(); wxBillSettle.setId(record.getSettleId()); wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode()); wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); } - if(record.getBalance() < 0){ + if(record.getBalance()!=null && record.getBalance() < 0){ record.setSettleMoney(-record.getSettleMoney()); } @@ -61,7 +61,8 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService record.setUserName(mallUserInfo.getName()); }else if(bUserId != null){ WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(bUserId); - record.setUserName(wxMerchantBUser.getName()); + if(wxMerchantBUser!=null) + record.setUserName(wxMerchantBUser.getName()); } wxBillSettleRecordMapper.insertSelective(record); }else{ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index cae8e1f06..4395debe2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.msg.AppUniformMsg; import com.iformall.domain.po.msg.MpAppMsg; @@ -56,6 +57,8 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Autowired WxCUserMapper wxCUserMapper; @Autowired + WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + @Autowired WxAppinfoService wxAppinfoService; @Autowired WxAuthorizerInfoMapper authorizerInfoMapper; @@ -599,17 +602,29 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public void handSel(WxCouponSend wxCouponSend, WxCUser user) { + public void handSel(WxCouponSend wxCouponSend, Object cUserId) { + WxCUser cu = wxCUserMapper.selectByPrimaryKey(cUserId); + if (Objects.isNull(cu)) { + throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + + WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectByPrimaryKey(cu.getId()); + if (Objects.isNull(wxCUserBasicInfo)) { + throw new MallinkException(ErrorCode.USER_NOT_AUTH_PHONE); + } + List couponSendList = wxCouponSendMapper.findListVo(wxCouponSend); if (CollectionUtils.isEmpty(couponSendList)) { throw new MallinkException(ErrorCode.COUPON_IS_EMPTY); } couponSendList.forEach(cs -> { // 发放免费券 - WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(user.getId(), cs.getCouponId(), cs); - wxCouponActionLogService.addOne(user.getTenantId(), cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId()); + WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cu.getId(), cs.getCouponId(), cs); if (couponOrder != null) { - sendMsgForSendCoupon(cs.getTenantId(), cs, couponOrder, user); + wxCouponActionLogService.addOne(cu.getTenantId(), cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId()); + sendMsgForSendCoupon(cs.getTenantId(), cs, couponOrder, cu); + } else { + logger.warn("handSel couponOrder is null"); } }); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index 5eada198e..e0136d4c8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -213,8 +213,12 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { } else if (wxCUserBasicInfo != null && wxCUserBasicInfo.getCredit() != null && wxCUserBasicInfo.getCredit() > 0) { currentCreditAmount = wxCUserBasicInfo.getCredit(); } - record.setCreditAmount(currentCreditAmount); - record.setCreditNum(0); + if (record.getCreditAmount() == null) { + record.setCreditAmount(currentCreditAmount); + } + if (record.getCreditNum() == null) { + record.setCreditNum(0); + } int creditChangeNumOrigin = creditIncrement(record); int creditChangeNum = creditChangeNumOrigin ; diff --git a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml index 610e59eb9..3a05f32b3 100644 --- a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml @@ -732,14 +732,10 @@ order by totalOwe desc -