diff --git a/mallinkAdmin/pom.xml b/mallinkAdmin/pom.xml
index 781777ca8..638b94239 100644
--- a/mallinkAdmin/pom.xml
+++ b/mallinkAdmin/pom.xml
@@ -13,8 +13,8 @@
mallinkAdmin
- 3.6.0
- 3.6.0
+ 3.7.0
+ 3.7.0
diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java
index d268b79a4..0a4af583c 100644
--- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java
+++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java
@@ -42,7 +42,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import redis.clients.jedis.Protocol;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
diff --git a/mallinkAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java b/mallinkAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java
index d01a11de5..d7b493d12 100644
--- a/mallinkAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java
+++ b/mallinkAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import redis.clients.jedis.Protocol;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
index d2dcd8236..845acb5b4 100644
--- a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
+++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java
@@ -373,13 +373,18 @@ public class WxMicroPayController extends BaseController {
logger.error("payPrice不能为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "payPrice不能为空");
}
+ if (StringUtils.isNotBlank(authCode)) {
+ // 如果传了收款码,先检查收款码格式是否正确
+ if (!checkAuthCode(authCode)) {
+ logger.error("微信收款码/authCode不符合规则: {}", authCode);
+ return new ResultData(ErrorCode.MICRO_PAY_ERR_AUTHCODE.getCode(), "请扫描微信收款码");
+ }
+ }
BigDecimal totalFee = new BigDecimal(payPriceStr);
totalFee.setScale(2, BigDecimal.ROUND_HALF_UP); // 第一个变量是小数位数,第二个变量是取舍方法(四舍五入)
Integer payPrice = totalFee.multiply(new BigDecimal(100)).intValue();
-
-
String ipStr = IPUtil.getIpAddr(request);
WxMerchantBUser wxMerchantBUser = wxMerchantBUserService.getById(user.getId());
@@ -415,6 +420,7 @@ public class WxMicroPayController extends BaseController {
}
wxCouponOrder = wxCouponOrderService.getById(couponOrderId);
}
+
WxPayOrder couponPayOrder = null;
Integer remainPrice = payPrice;
if (wxCouponOrder != null) {
@@ -437,12 +443,8 @@ public class WxMicroPayController extends BaseController {
if (remainPrice > 0) {
if (StringUtils.isBlank(authCode)) {
- logger.error("authCode不能为空");
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不能为空");
- }
- if (!checkAuthCode(authCode)) {
- logger.error("authCode不符合规则");
- return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不符合规则");
+ logger.error("微信收款码/authCode不能为空");
+ return new ResultData(ErrorCode.MICRO_PAY_NO_AUTHCODE.getCode(), "请提供微信收款码");
}
WxPayOrder record = new WxPayOrder();
diff --git a/mallinkBApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java b/mallinkBApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java
index ee48542e7..951124af6 100644
--- a/mallinkBApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java
+++ b/mallinkBApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import redis.clients.jedis.Protocol;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -24,7 +24,6 @@ import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.Enumeration;
-import java.util.concurrent.TimeUnit;
/**
* 幂等检查
diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java
index afc5dd872..5e32285b8 100644
--- a/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java
+++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java
@@ -49,6 +49,7 @@ public class WxCampaignController extends BaseController {
wxCampaign.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode());
wxCampaign.updateTenantInfo(getTenantInfo());
wxCampaign.setSortColumns(BaseEntity.SortField.SortNum_ASC, BaseEntity.SortField.CreateTime_ASC);
+ // TODO 缓存优化
final PageInfo page = wxCampaignService.clistAsPage(wxCampaign, pageNum, pageSize);
return new ResultData(page);
}
diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java
index 25b0f0eeb..e203ad210 100644
--- a/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java
+++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java
@@ -85,6 +85,7 @@ public class WxMallController extends BaseController {
@ApiOperation("商场信息")
@GetMapping("/mallInfo")
public ResultData getMallInfo() {
+ //TODO 缓存优化
WxMall mall = wxMallService.getByTenantId(getTenantId());
if (mall == null) {
return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND);
diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java b/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java
index 5ae2b3db3..ff7e81880 100644
--- a/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java
+++ b/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import redis.clients.jedis.Protocol;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
diff --git a/mallinkCallback/pom.xml b/mallinkCallback/pom.xml
index 1feccd436..328265111 100644
--- a/mallinkCallback/pom.xml
+++ b/mallinkCallback/pom.xml
@@ -13,8 +13,8 @@
mallinkCallback
- 3.6.0
- 3.6.0
+ 3.7.0
+ 3.7.0
diff --git a/mallinkCallback/src/main/java/com/iformall/interceptor/RequestInterceptor.java b/mallinkCallback/src/main/java/com/iformall/interceptor/RequestInterceptor.java
index d01a11de5..d7b493d12 100644
--- a/mallinkCallback/src/main/java/com/iformall/interceptor/RequestInterceptor.java
+++ b/mallinkCallback/src/main/java/com/iformall/interceptor/RequestInterceptor.java
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import redis.clients.jedis.Protocol;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
index 28475f560..7c108e969 100644
--- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
+++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java
@@ -2196,7 +2196,7 @@ public class PosServiceImpl implements PosService {
cardSpendService.cardSpendForPosPay(scoreCreditCalc, cardSpend, merchant, buUser);
} else {
logger.error("卡支付ID未发现: " + cardSpendId);
- throw new MallinkException(ErrorCode.SYS_PARAMETER_CAST_ERROR);
+ throw new MallinkException(ErrorCode.POS_CARD_ORDER_NOT_FOUND);
}
return payOrder;
}
diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java
index 11b6d21bb..bf3948edd 100644
--- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java
+++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java
@@ -269,8 +269,16 @@ public enum ErrorCode{
POS_CARD_OWNER_NOT_EQUAL(11110, "卡拥有者不对应"),
POS_ORDER_HAD_SYNCED(11111, "订单已同步"),
POS_ORDER_NOT_FOUND(11112, "订单未找到"),
+ POS_CARD_ORDER_NOT_FOUND(11113, "卡支付订单未找到"),
POS_CMD_FAIL(11200, "POS命令错误"),
+ /**
+ * B端收银台
+ */
+ MICRO_PAY_NO_AUTHCODE(11300, "请提供微信收款码"),
+ MICRO_PAY_ERR_AUTHCODE(11301, "请提供微信收款码"),
+
+
/**
* 支付
diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumNeuPosPamentType.java b/mallinkService/src/main/java/com/iformall/enums/EnumNeuPosPamentType.java
index 7d3cb28fa..72044f3b4 100644
--- a/mallinkService/src/main/java/com/iformall/enums/EnumNeuPosPamentType.java
+++ b/mallinkService/src/main/java/com/iformall/enums/EnumNeuPosPamentType.java
@@ -5,7 +5,7 @@ package com.iformall.enums;
*/
public enum EnumNeuPosPamentType {
- // 来源于Neusoft的定义 0微信;1支付宝;2现金;3-会员折扣, 4优惠券;5预付卡;6银行卡7记账
+ // 来源于Neusoft的定义 0微信;1支付宝;2现金;3-会员折扣, 4优惠券;5预付卡;6银行卡7记账;8:东软预付卡
WECHAT(0, "微信"),
ALIPAY(1, "支付宝"),
CASH(2, "现金"),
@@ -14,6 +14,7 @@ public enum EnumNeuPosPamentType {
MEM_CARD(5, "预付卡"),
MEM_BANKCARD(6, "银行卡"),
RECORD(7, "记账"),
+ NEU_CARD(8, "东软预付卡"),
;
public static EnumNeuPosPamentType getEnum(Integer code) {
for (EnumNeuPosPamentType value : values()) {
diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java
index 32fb1e3dd..0c282b5c5 100644
--- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java
+++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java
@@ -24,6 +24,7 @@ public interface WxCouponOrderMapper extends CommonMapper {
// 券包核销
int updateVerifyCouponOrder(WxCouponOrder wxCouponOrder);
int updateVerifyCouponOrderStatus(WxCouponOrder wxCouponOrder);
+ int updateVerifyCouponOrderStatusForMicroPay(WxCouponOrder wxCouponOrder);
int cancelVerifyCouponOrder(WxCouponOrder wxCouponOrder);
//统一的计数接口
diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java
index 59bf9fe87..cb3b79c18 100644
--- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java
+++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java
@@ -177,6 +177,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
couponId = record.getCouponId();
record.setCouponId(null);
}
+ // TODO 缓存优化
List voList = wxCouponChannelMapper.findVoList(record);
if (voList.isEmpty()) {
return new ResultData(Result.SUCCESS, "查询成功", null);
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 06413212b..e0c87eb76 100644
--- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
+++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
@@ -1269,7 +1269,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
logger.error("核销异常:updatete num " + num);
throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num);
}
- } else if (couponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.POS_PRE_VERIFY.getCode()) {
+ } else if (couponOrder.getCouponOrderStatus().equals(EnumCouponOrderStatus.POS_PRE_VERIFY.getCode())) {
// 券已预核销后,但是未做支付,此券还能继续使用
// 1. update posOrderId
PosCouponOrderVerify vQ = new PosCouponOrderVerify();
@@ -1294,7 +1294,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
couponOrder.setBUserId(bUser.getId());
couponOrder.setVerifyType(EnumCouponVerifyType.VERIFY_B.getCode());
couponOrder.setUpdateDate(new Date());
- num = wxCouponOrderMapper.updateVerifyCouponOrder(couponOrder);
+ num = wxCouponOrderMapper.updateVerifyCouponOrderStatusForMicroPay(couponOrder);
} catch (Exception e) {
logger.error("db failed: couponOrder-" + couponOrder.getId() + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
diff --git a/mallinkService/src/main/java/com/iformall/service/wechat/FmOpenInRedisDBConfigStorage.java b/mallinkService/src/main/java/com/iformall/service/wechat/FmOpenInRedisDBConfigStorage.java
index fbdd5b7d4..8104ee485 100644
--- a/mallinkService/src/main/java/com/iformall/service/wechat/FmOpenInRedisDBConfigStorage.java
+++ b/mallinkService/src/main/java/com/iformall/service/wechat/FmOpenInRedisDBConfigStorage.java
@@ -13,7 +13,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
-import redis.clients.util.Pool;
+import redis.clients.jedis.util.Pool;
import java.util.Date;
diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml
index e1901b3fa..9aae563c0 100644
--- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml
+++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml
@@ -121,7 +121,17 @@
and `b_user_id` = #{bUserId}
+
+
+ update wx_coupon_order
+ set `coupon_order_status` = #{couponOrderStatus},
+ `b_user_id` = #{bUserId},
+ `update_date` = #{updateDate},
+ `verify_type` = #{verifyType}
+ where 1=1
+ and `tenant_id`=#{tenantId}
+ and id=#{id}
diff --git a/mallinkSysAdmin/pom.xml b/mallinkSysAdmin/pom.xml
index f99b954fb..7f6f2ef0b 100644
--- a/mallinkSysAdmin/pom.xml
+++ b/mallinkSysAdmin/pom.xml
@@ -13,8 +13,8 @@
mallinkSysAdmin
- 3.6.0
- 3.6.0
+ 3.7.0
+ 3.7.0
diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java
index d268b79a4..0a4af583c 100644
--- a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java
+++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java
@@ -42,7 +42,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import redis.clients.jedis.Protocol;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
diff --git a/mallinkSysAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java b/mallinkSysAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java
index d01a11de5..d7b493d12 100644
--- a/mallinkSysAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java
+++ b/mallinkSysAdmin/src/main/java/com/iformall/interceptor/RequestInterceptor.java
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import redis.clients.jedis.Protocol;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
diff --git a/mybatis-multi-tenancy/pom.xml b/mybatis-multi-tenancy/pom.xml
index 3066602fb..3f2930697 100644
--- a/mybatis-multi-tenancy/pom.xml
+++ b/mybatis-multi-tenancy/pom.xml
@@ -10,13 +10,13 @@
com.github.jsqlparser
jsqlparser
- 1.4
+ 2.0
compile
org.mybatis
mybatis
- 3.5.2
+ 3.5.4
compile
@@ -30,13 +30,13 @@
test
mysql
mysql-connector-java
- 8.0.17
+ 8.0.19
test
com.alibaba
druid
- 1.1.17
+ 1.1.22
diff --git a/pom.xml b/pom.xml
index ab13e1699..fd58a4556 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,16 +27,16 @@
org.springframework.boot
spring-boot-starter-parent
- 2.1.8.RELEASE
+ 2.2.5.RELEASE
- 3.6.0
- 3.6.0
- 3.6.0
- 3.6.0
- 3.6.0
+ 3.7.0
+ 3.7.0
+ 3.7.0
+ 3.7.0
+ 3.7.0
2.3.0
@@ -92,12 +92,30 @@
flowable-spring-boot-starter-process
6.4.0
-
+
+
+ mysql
+ mysql-connector-java
+ 8.0.19
+ runtime
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.2.0
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.1.2
+
com.github.pagehelper
pagehelper-spring-boot-starter
- 1.2.10
+ 1.2.13
org.mybatis
@@ -109,31 +127,18 @@
-
-
- com.baomidou
- mybatis-plus-boot-starter
- 3.1.0
-
-
+
- org.mybatis.spring.boot
- mybatis-spring-boot-starter
- 2.1.0
+ com.alibaba
+ druid
+ 1.1.22
-
org.springframework
spring-context-support
-
- mysql
- mysql-connector-java
- 8.0.17
- runtime
-
org.springframework.boot
spring-boot-starter-test
@@ -166,14 +171,8 @@
com.alibaba
fastjson
- 1.2.54
+ 1.2.68
-
- com.alibaba
- druid
- 1.1.17
-
-
org.quartz-scheduler
@@ -195,27 +194,27 @@
io.springfox
springfox-swagger2
- 2.8.0
+ 2.9.2
io.springfox
springfox-swagger-ui
- 2.8.0
+ 2.9.2
io.springfox
springfox-spring-web
- 2.8.0
+ 2.9.2
com.fasterxml.jackson.core
jackson-core
- 2.9.7
+ 2.10.3
com.fasterxml.jackson.core
jackson-databind
- 2.9.7
+ 2.10.3
javax.xml.bind
@@ -225,7 +224,7 @@
org.projectlombok
lombok
- 1.18.2
+ 1.18.10
provided