From ccf5bd13e410532baf173fdd9a214f125d28d945 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 29 Apr 2020 15:25:05 +0800 Subject: [PATCH 01/12] =?UTF-8?q?csv=E4=B9=B1=E7=A0=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/service/ExcelService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/ExcelService.java b/mallinkService/src/main/java/com/iformall/service/ExcelService.java index bfe9e93fc..720e2aea3 100644 --- a/mallinkService/src/main/java/com/iformall/service/ExcelService.java +++ b/mallinkService/src/main/java/com/iformall/service/ExcelService.java @@ -1,6 +1,5 @@ package com.iformall.service; - import cn.afterturn.easypoi.csv.CsvExportUtil; import cn.afterturn.easypoi.csv.entity.CsvExportParams; import cn.afterturn.easypoi.excel.ExcelExportUtil; @@ -74,6 +73,7 @@ public class ExcelService { response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); + response.getOutputStream().write(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF }); // csv 乱码问题 CsvExportUtil.exportCsv(exportParams, pojoClass, list, response.getOutputStream()); } catch (IOException e) { throw new MallinkException(ErrorCode.EXCEL_EXPORT_ERROR.getCode(), e.getMessage()); From 39f40b9625a5d735ab2a7831bb5ecdf2813e658c Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 30 Apr 2020 18:11:47 +0800 Subject: [PATCH 02/12] =?UTF-8?q?[POS][=E5=8D=A1=E6=94=AF=E4=BB=98]:?= =?UTF-8?q?=E5=8D=A1=E6=94=AF=E4=BB=98=E5=87=BA=E9=94=99=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/service/impl/PosServiceImpl.java | 2 +- mallinkService/src/main/java/com/iformall/common/ErrorCode.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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 b0a331e09..e884b878e 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -270,6 +270,7 @@ 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命令错误"), From 291d20ac2ecec1a402c03b511f40234a559faeb2 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 30 Apr 2020 18:34:13 +0800 Subject: [PATCH 03/12] =?UTF-8?q?[POS][=E5=8D=A1=E6=94=AF=E4=BB=98]:?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=B8=9C=E8=BD=AF=E5=8D=A1=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/enums/EnumNeuPosPamentType.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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()) { From 78e406fd40757dc40cef4dcb40dc2b0d0277314d Mon Sep 17 00:00:00 2001 From: Burce Date: Tue, 28 Apr 2020 22:08:06 +0800 Subject: [PATCH 04/12] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=E6=A0=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/iformall/controller/WxCampaignController.java | 1 + .../src/main/java/com/iformall/controller/WxMallController.java | 1 + .../main/java/com/iformall/controller/WxQuestionController.java | 1 + .../com/iformall/service/impl/WxCouponChannelServiceImpl.java | 1 + 4 files changed, 4 insertions(+) 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/controller/WxQuestionController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java index 21e94cfb1..6aacdcf85 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java @@ -51,6 +51,7 @@ public class WxQuestionController extends BaseController { }catch (Exception e) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } + // TODO 缓存优化 wxQuestionConfig.setCouponTypeList(ct.toString()); List listConfig = wxQuestionService.findConfigList(wxQuestionConfig); if (listConfig.size() > 0) { 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); From ff1684ab3581e5fecfbb9e69d36d2c903459ddc8 Mon Sep 17 00:00:00 2001 From: bruce Date: Thu, 30 Apr 2020 18:58:55 +0800 Subject: [PATCH 05/12] =?UTF-8?q?[=E4=BC=98=E5=8C=96]C=20/getQuestion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/config/RedisConfig.java | 35 +++++++++++++ .../controller/WxQuestionController.java | 52 ++++++++++++++++--- 2 files changed, 80 insertions(+), 7 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java b/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java index 54f945030..81e2d5a7f 100644 --- a/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java @@ -21,6 +21,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; import java.time.Duration; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -174,4 +175,38 @@ public class RedisConfig extends CachingConfigurerSupport { template.setConnectionFactory(connectionFactory); return template; } + + @Bean("questionRedisTemplate") + public RedisTemplate> getQuestionRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer<>(WxQuestion.class); + // value值的序列化 + template.setValueSerializer(j); + template.setHashKeySerializer(j); + + // key的序列化 + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + + template.setConnectionFactory(connectionFactory); + return template; + } + + @Bean("questionConfigRedisTemplate") + public RedisTemplate> getQuestionConfigRedisTemplate(RedisConnectionFactory connectionFactory) { + RedisTemplate> template = new RedisTemplate<>(); + + Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer<>(WxQuestionConfig.class); + // value值的序列化 + template.setValueSerializer(j); + template.setHashKeySerializer(j); + + // key的序列化 + template.setKeySerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + + template.setConnectionFactory(connectionFactory); + return template; + } } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java index 6aacdcf85..3216444b5 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java @@ -1,12 +1,14 @@ package com.iformall.controller; import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxQuestion; import com.iformall.domain.po.WxQuestionConfig; import com.iformall.domain.po.WxQuestionLog; +import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.enums.EnumQuestionConfigStatus; import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserTagsService; @@ -14,16 +16,22 @@ import com.iformall.service.WxQuestionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import net.sf.saxon.trans.Err; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.configurationprocessor.json.JSONArray; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Random; +import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/api/wxQuestion") @@ -40,9 +48,18 @@ public class WxQuestionController extends BaseController { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; + @Autowired + @Qualifier("questionRedisTemplate") + private RedisTemplate> questionRedisTemplate ; + + @Autowired + @Qualifier("questionConfigRedisTemplate") + private RedisTemplate> questionConfigRedisTemplate ; + @ApiOperation("查寻问券") @GetMapping("getQuestion") public Result getQuestion(@RequestParam("couponType") String couponType) { + List listConfig = null ; WxQuestionConfig wxQuestionConfig = new WxQuestionConfig(); wxQuestionConfig.updateTenantInfo(getTenantInfo()); JSONArray ct = new JSONArray(); @@ -51,18 +68,39 @@ public class WxQuestionController extends BaseController { }catch (Exception e) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } - // TODO 缓存优化 - wxQuestionConfig.setCouponTypeList(ct.toString()); - List listConfig = wxQuestionService.findConfigList(wxQuestionConfig); + + ValueOperations> operations = questionConfigRedisTemplate.opsForValue(); + String keyConfig = StringUtils.join(getTenantInfo().getTenantId(),":","questionConfig",":","getQuestion",":",couponType); + boolean hasKey1 = questionConfigRedisTemplate.hasKey(keyConfig+ couponType); + if (hasKey1) { + listConfig = operations.get(keyConfig+ couponType) ; + } else { + wxQuestionConfig.setCouponTypeList(ct.toString()); + listConfig = wxQuestionService.findConfigList(wxQuestionConfig); + if(!CollectionUtils.isEmpty(listConfig)) { + operations.set(keyConfig+ couponType,listConfig,24, TimeUnit.HOURS); + } + } + if (listConfig.size() > 0) { wxQuestionConfig = listConfig.get(0); List questionIds = JSONObject.parseArray(wxQuestionConfig.getQuestionList(), Long.class); if (wxQuestionConfig.getStatus().equals(EnumQuestionConfigStatus.ON.getCode()) && questionIds.size() > 0) { - WxQuestion wxQuestion = new WxQuestion(); - wxQuestion.updateTenantInfo(getTenantInfo()); - wxQuestion.setIds(questionIds); - List listQuestion = wxQuestionService.findList(wxQuestion); + List listQuestion = null ; + + ValueOperations> questionOperations = questionRedisTemplate.opsForValue(); + String key = StringUtils.join(getTenantInfo().getTenantId(),":","question",":","getQuestion",":",couponType); + boolean hasKey2 = questionRedisTemplate.hasKey(key+ couponType); + if (hasKey2) { + listQuestion = questionOperations.get(key+ couponType) ; + } else { + WxQuestion wxQuestion = new WxQuestion(); + wxQuestion.updateTenantInfo(getTenantInfo()); + wxQuestion.setIds(questionIds); + listQuestion = wxQuestionService.findList(wxQuestion); + } + if (listQuestion.size() > 0) { Iterator q = listQuestion.iterator(); WxQuestionLog wxQuestionLog = new WxQuestionLog(); From ca0be280d14c138a41d33f55dca3b788d3630810 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sun, 3 May 2020 19:04:46 +0800 Subject: [PATCH 06/12] =?UTF-8?q?[=E6=94=B6=E9=93=B6=E5=8F=B0][=E4=BC=98?= =?UTF-8?q?=E5=8C=96]:=E6=94=B6=E9=93=B6=E5=8F=B0=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E9=A2=84=E6=A0=B8=E9=94=80=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WxMicroPayController.java | 9 +++++---- .../src/main/java/com/iformall/common/ErrorCode.java | 7 +++++++ .../java/com/iformall/mapper/WxCouponOrderMapper.java | 1 + .../service/impl/WxCouponOrderServiceImpl.java | 4 ++-- .../src/main/resources/mapper/WxCouponOrderMapper.xml | 10 ++++++++++ 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java index d2dcd8236..3279ed42a 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java @@ -415,6 +415,7 @@ public class WxMicroPayController extends BaseController { } wxCouponOrder = wxCouponOrderService.getById(couponOrderId); } + WxPayOrder couponPayOrder = null; Integer remainPrice = payPrice; if (wxCouponOrder != null) { @@ -437,12 +438,12 @@ 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不能为空"); + logger.error("微信收款码/authCode不能为空"); + return new ResultData(ErrorCode.MICRO_PAY_NO_AUTHCODE.getCode(), "请提供微信收款码"); } if (!checkAuthCode(authCode)) { - logger.error("authCode不符合规则"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "authCode不符合规则"); + logger.error("微信收款码/authCode不符合规则: {}", authCode); + return new ResultData(ErrorCode.MICRO_PAY_ERR_AUTHCODE.getCode(), "请扫描微信收款码"); } WxPayOrder record = new WxPayOrder(); diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index e884b878e..0e9ff5897 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -273,6 +273,13 @@ public enum ErrorCode{ 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/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/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/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} From 88969caa802c6203c9c08866eb8849a2ee67e3c3 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sun, 3 May 2020 19:14:32 +0800 Subject: [PATCH 07/12] =?UTF-8?q?[=E6=94=B6=E9=93=B6=E5=8F=B0][=E4=BC=98?= =?UTF-8?q?=E5=8C=96]:=E5=89=8D=E7=AB=AF=E4=BC=A0=E4=BA=86=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E7=A0=81=EF=BC=8C=E5=85=88=E6=A3=80=E6=9F=A5=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/WxMicroPayController.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java index 3279ed42a..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()); @@ -441,10 +446,6 @@ public class WxMicroPayController extends BaseController { logger.error("微信收款码/authCode不能为空"); return new ResultData(ErrorCode.MICRO_PAY_NO_AUTHCODE.getCode(), "请提供微信收款码"); } - if (!checkAuthCode(authCode)) { - logger.error("微信收款码/authCode不符合规则: {}", authCode); - return new ResultData(ErrorCode.MICRO_PAY_ERR_AUTHCODE.getCode(), "请扫描微信收款码"); - } WxPayOrder record = new WxPayOrder(); record.updateTenantInfo(user); From beea08de48554495593954052861ac51d4e22034 Mon Sep 17 00:00:00 2001 From: Burce Date: Sat, 2 May 2020 08:25:40 +0800 Subject: [PATCH 08/12] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=E7=BB=9F=E4=B8=80AOP?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/config/RedisConfig.java | 35 ------------- .../controller/WxQuestionController.java | 51 +++---------------- 2 files changed, 6 insertions(+), 80 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java b/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java index 81e2d5a7f..54f945030 100644 --- a/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java +++ b/mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java @@ -21,7 +21,6 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; import java.time.Duration; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -175,38 +174,4 @@ public class RedisConfig extends CachingConfigurerSupport { template.setConnectionFactory(connectionFactory); return template; } - - @Bean("questionRedisTemplate") - public RedisTemplate> getQuestionRedisTemplate(RedisConnectionFactory connectionFactory) { - RedisTemplate> template = new RedisTemplate<>(); - - Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer<>(WxQuestion.class); - // value值的序列化 - template.setValueSerializer(j); - template.setHashKeySerializer(j); - - // key的序列化 - template.setKeySerializer(new StringRedisSerializer()); - template.setHashKeySerializer(new StringRedisSerializer()); - - template.setConnectionFactory(connectionFactory); - return template; - } - - @Bean("questionConfigRedisTemplate") - public RedisTemplate> getQuestionConfigRedisTemplate(RedisConnectionFactory connectionFactory) { - RedisTemplate> template = new RedisTemplate<>(); - - Jackson2JsonRedisSerializer j = new Jackson2JsonRedisSerializer<>(WxQuestionConfig.class); - // value值的序列化 - template.setValueSerializer(j); - template.setHashKeySerializer(j); - - // key的序列化 - template.setKeySerializer(new StringRedisSerializer()); - template.setHashKeySerializer(new StringRedisSerializer()); - - template.setConnectionFactory(connectionFactory); - return template; - } } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java index 3216444b5..21e94cfb1 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxQuestionController.java @@ -1,14 +1,12 @@ package com.iformall.controller; import com.alibaba.fastjson.JSONObject; -import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxQuestion; import com.iformall.domain.po.WxQuestionConfig; import com.iformall.domain.po.WxQuestionLog; -import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.enums.EnumQuestionConfigStatus; import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserTagsService; @@ -16,22 +14,16 @@ import com.iformall.service.WxQuestionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import net.sf.saxon.trans.Err; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.configurationprocessor.json.JSONArray; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.ValueOperations; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Random; -import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/api/wxQuestion") @@ -48,18 +40,9 @@ public class WxQuestionController extends BaseController { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; - @Autowired - @Qualifier("questionRedisTemplate") - private RedisTemplate> questionRedisTemplate ; - - @Autowired - @Qualifier("questionConfigRedisTemplate") - private RedisTemplate> questionConfigRedisTemplate ; - @ApiOperation("查寻问券") @GetMapping("getQuestion") public Result getQuestion(@RequestParam("couponType") String couponType) { - List listConfig = null ; WxQuestionConfig wxQuestionConfig = new WxQuestionConfig(); wxQuestionConfig.updateTenantInfo(getTenantInfo()); JSONArray ct = new JSONArray(); @@ -68,39 +51,17 @@ public class WxQuestionController extends BaseController { }catch (Exception e) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } - - ValueOperations> operations = questionConfigRedisTemplate.opsForValue(); - String keyConfig = StringUtils.join(getTenantInfo().getTenantId(),":","questionConfig",":","getQuestion",":",couponType); - boolean hasKey1 = questionConfigRedisTemplate.hasKey(keyConfig+ couponType); - if (hasKey1) { - listConfig = operations.get(keyConfig+ couponType) ; - } else { - wxQuestionConfig.setCouponTypeList(ct.toString()); - listConfig = wxQuestionService.findConfigList(wxQuestionConfig); - if(!CollectionUtils.isEmpty(listConfig)) { - operations.set(keyConfig+ couponType,listConfig,24, TimeUnit.HOURS); - } - } - + wxQuestionConfig.setCouponTypeList(ct.toString()); + List listConfig = wxQuestionService.findConfigList(wxQuestionConfig); if (listConfig.size() > 0) { wxQuestionConfig = listConfig.get(0); List questionIds = JSONObject.parseArray(wxQuestionConfig.getQuestionList(), Long.class); if (wxQuestionConfig.getStatus().equals(EnumQuestionConfigStatus.ON.getCode()) && questionIds.size() > 0) { - List listQuestion = null ; - - ValueOperations> questionOperations = questionRedisTemplate.opsForValue(); - String key = StringUtils.join(getTenantInfo().getTenantId(),":","question",":","getQuestion",":",couponType); - boolean hasKey2 = questionRedisTemplate.hasKey(key+ couponType); - if (hasKey2) { - listQuestion = questionOperations.get(key+ couponType) ; - } else { - WxQuestion wxQuestion = new WxQuestion(); - wxQuestion.updateTenantInfo(getTenantInfo()); - wxQuestion.setIds(questionIds); - listQuestion = wxQuestionService.findList(wxQuestion); - } - + WxQuestion wxQuestion = new WxQuestion(); + wxQuestion.updateTenantInfo(getTenantInfo()); + wxQuestion.setIds(questionIds); + List listQuestion = wxQuestionService.findList(wxQuestion); if (listQuestion.size() > 0) { Iterator q = listQuestion.iterator(); WxQuestionLog wxQuestionLog = new WxQuestionLog(); From 8ff3aa82fc95f6a9067071d8a8503a45a207101f Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sun, 3 May 2020 08:17:07 +0800 Subject: [PATCH 09/12] =?UTF-8?q?[=E6=A1=86=E6=9E=B6=E5=8D=87=E7=BA=A7][?= =?UTF-8?q?=E4=BC=98=E5=8C=96]:=E5=8D=87=E7=BA=A7springboot2.2.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys/WechatLoginController.java | 2 +- .../interceptor/RequestInterceptor.java | 2 +- .../interceptor/RequestInterceptor.java | 3 +- .../interceptor/RequestInterceptor.java | 2 +- .../interceptor/RequestInterceptor.java | 2 +- .../wechat/FmOpenInRedisDBConfigStorage.java | 2 +- .../controller/sys/WechatLoginController.java | 2 +- .../interceptor/RequestInterceptor.java | 2 +- mybatis-multi-tenancy/pom.xml | 8 +-- pom.xml | 55 +++++++++---------- 10 files changed, 39 insertions(+), 41 deletions(-) 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/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/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/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/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/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..1b457bf0b 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ org.springframework.boot spring-boot-starter-parent - 2.1.8.RELEASE + 2.2.5.RELEASE @@ -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 @@ -225,7 +224,7 @@ org.projectlombok lombok - 1.18.2 + 1.18.10 provided From 0a7a945c74852b13773b63ec2a31e8a803dc39d7 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sun, 3 May 2020 20:14:53 +0800 Subject: [PATCH 10/12] =?UTF-8?q?[=E5=8D=87=E7=BA=A7][=E4=BC=98=E5=8C=96]:?= =?UTF-8?q?springboot=E5=8D=87=E7=BA=A7=E5=88=B02.2.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 1b457bf0b..6da73b618 100644 --- a/pom.xml +++ b/pom.xml @@ -194,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 From 07d6d25fe9c9bb0d59e6402d2a7d0ddfbcbe8104 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 4 May 2020 07:28:14 +0800 Subject: [PATCH 11/12] =?UTF-8?q?[=E5=8D=87=E7=BA=A7][=E4=BC=98=E5=8C=96]:?= =?UTF-8?q?wxjava=E5=8D=87=E7=BA=A7=E5=88=B03.7.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mallinkAdmin/pom.xml | 4 ++-- mallinkCallback/pom.xml | 4 ++-- mallinkSysAdmin/pom.xml | 4 ++-- pom.xml | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) 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/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/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/pom.xml b/pom.xml index 6da73b618..fd58a4556 100644 --- a/pom.xml +++ b/pom.xml @@ -32,11 +32,11 @@ - 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 From 80ebfd06fd4017be60e0aaceedcf93a6fed60480 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 4 May 2020 19:38:29 +0800 Subject: [PATCH 12/12] =?UTF-8?q?[shop][=E4=BF=AE=E5=A4=8D]:=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/WxShopMapper.xml | 32 +++---------------- pom.xml | 6 ++-- 2 files changed, 7 insertions(+), 31 deletions(-) diff --git a/mallinkService/src/main/resources/mapper/WxShopMapper.xml b/mallinkService/src/main/resources/mapper/WxShopMapper.xml index 59f7e3ac1..9829de121 100644 --- a/mallinkService/src/main/resources/mapper/WxShopMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxShopMapper.xml @@ -158,7 +158,8 @@ m.link_person linkPerson,m.link_phone linkPhone,s.manager,s.manager_phone managerPhone, s.type,s.point_type pointType,s.addr,DATEDIFF(now(),s.create_date) freeDay,rent,rent_unit,s.business_id as businessId,s.create_date create_date - from wx_shop s left join wx_merchant_shop ms on ms.shop_id=s.id and ms.is_del=0 + from wx_shop s + left join wx_merchant_shop ms on ms.shop_id=s.id and ms.is_del=0 left join wx_merchant m on ms.merchant_id=m.id left join wx_mall_building b on s.building=b.id left join wx_mall_floor f on s.floor=f.id @@ -186,52 +187,42 @@ and s.`shop_number` like concat('%', #{shopNumber},'%') - and s.`build_area` like concat('%', #{buildArea},'%') - and s.`operation_area` like concat('%', #{operationArea},'%') - and s.`x` = #{x} - and s.`y` = #{y} - and s.`addr` like concat('%', #{addr},'%') - and s.`baidu_poi` like concat('%', #{baiduPoi},'%') - and s.`longitude` = #{longitude} - and s.`latitude` = #{latitude} - and s.`create_date` = #{createDate} - @@ -260,8 +251,8 @@