From dc1b359303ab590faa68f5d7c7386f3a67122156 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 13 May 2020 22:13:41 +0800 Subject: [PATCH 1/4] =?UTF-8?q?[=E5=81=9C=E8=BD=A6][=E4=BF=AE=E5=A4=8D]:?= =?UTF-8?q?=E6=B3=8A=E9=93=BE=E9=93=BE=E6=8E=A5=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WxCarController.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java index 9c9c681f4..c9b1809f7 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java @@ -704,10 +704,14 @@ public class WxCarController extends BaseController { String unionId = objParams.getString(BoLinkUtil.BOLINK_UNION_ID); String key = objParams.getString(BoLinkUtil.BOLINK_KEY); String ret = BoLinkUtil.getStopFee(url, comid, unionId, key, carNumber); - JSONObject retObj = JSON.parseObject(ret); - JSONObject dataObj = retObj.getJSONObject(BoLinkUtil.BOLINK_DATA); - if (dataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { - return new ResultData(dataObj); + if (ret != null) { + JSONObject retObj = JSON.parseObject(ret); + JSONObject dataObj = retObj.getJSONObject(BoLinkUtil.BOLINK_DATA); + if (dataObj.getIntValue(BoLinkUtil.BOLINK_STATE) == BoLinkUtil.BOLINK_SUCCESS) { + return new ResultData(dataObj); + } else { + return new ResultData(ErrorCode.BOLINK_STOP_FEE_FAIL); + } } else { return new ResultData(ErrorCode.BOLINK_STOP_FEE_FAIL); } From a6df0c46842da7dafc7ccf7ee474fb8857b8dbef Mon Sep 17 00:00:00 2001 From: bruce Date: Mon, 11 May 2020 10:58:24 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E7=AE=A1=E7=90=86=EF=BC=8C=E6=8A=9B=E5=87=BA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=8E=9F=E5=A7=8B=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/aop/RedisCacheAspect.java | 7 +------ .../src/main/java/com/iformall/service/ExcelService.java | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java b/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java index e58baeb75..43e6bb644 100644 --- a/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java +++ b/mallinkCApi/src/main/java/com/iformall/aop/RedisCacheAspect.java @@ -3,9 +3,7 @@ package com.iformall.aop; import com.alibaba.fastjson.JSONObject; import com.iformall.annotation.RedisCache; -import com.iformall.common.ErrorCode; import com.iformall.domain.po.WxCUser; -import com.iformall.exception.MallinkException; import com.iformall.service.WxCUserTokenService; import com.iformall.utils.HashUtil; import com.iformall.utils.RedisLock; @@ -125,10 +123,7 @@ public class RedisCacheAspect { } catch (Throwable throwable) { log.error("CacheAspect proceed error , Illegal argument: {} in {}.{}()", Arrays.toString(jp.getArgs()), jp.getSignature().getDeclaringTypeName(), jp.getSignature().getName(), throwable); - if (throwable instanceof MallinkException) { - throw throwable; - } - throw new MallinkException(ErrorCode.SYS_SERVER_ERROR); + throw throwable; } finally { redisLock.unlock(lockKey, timeStr); } diff --git a/mallinkService/src/main/java/com/iformall/service/ExcelService.java b/mallinkService/src/main/java/com/iformall/service/ExcelService.java index 720e2aea3..0116856b8 100644 --- a/mallinkService/src/main/java/com/iformall/service/ExcelService.java +++ b/mallinkService/src/main/java/com/iformall/service/ExcelService.java @@ -76,6 +76,7 @@ public class ExcelService { response.getOutputStream().write(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF }); // csv 乱码问题 CsvExportUtil.exportCsv(exportParams, pojoClass, list, response.getOutputStream()); } catch (IOException e) { + logger.error("defaultExportCsv error ",e); throw new MallinkException(ErrorCode.EXCEL_EXPORT_ERROR.getCode(), e.getMessage()); } } From c3b0cf3d8e892a5e46dec4d7d293632952b9c2aa Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 15 May 2020 13:25:24 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[=E5=BE=AE=E4=BF=A1=E5=88=86=E8=B4=A6][?= =?UTF-8?q?=E5=8D=87=E7=BA=A7]:=E5=BE=AE=E4=BF=A1=E5=88=86=E8=B4=A62020.7.?= =?UTF-8?q?1=E8=B5=B7=E4=B8=8D=E6=94=AF=E6=8C=81=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E5=8F=B7=EF=BC=8C=E5=BF=85=E9=A1=BB=E6=8D=A2=E6=88=90openid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxMerchantController.java | 27 ++++++++++++++++--- .../com/iformall/domain/po/WxMerchant.java | 2 +- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java index c9341e365..d6e658972 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java @@ -2,11 +2,9 @@ package com.iformall.controller; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; -import com.iformall.domain.po.WxBuser; -import com.iformall.domain.po.WxMerchant; -import com.iformall.domain.po.WxMerchantBUser; -import com.iformall.domain.po.WxProfitSharingReceiver; +import com.iformall.domain.po.*; import com.iformall.enums.EnumMsgSend; +import com.iformall.service.WxCUserService; import com.iformall.service.WxMerchantService; import com.iformall.service.WxProfitSharingReceiverService; import io.swagger.annotations.Api; @@ -29,6 +27,9 @@ public class WxMerchantController extends BaseController { @Autowired private WxProfitSharingReceiverService wxProfitSharingReceiverService; + @Autowired + private WxCUserService cUserService; + @ApiOperation("查询当前租户下商户名称列表") @GetMapping("/name_list") public ResultData nameList() { @@ -97,6 +98,24 @@ public class WxMerchantController extends BaseController { return new ResultData(has); } + @ApiOperation("获取微信OpenId") + @GetMapping("/getOpenIdByPhone") + @ApiImplicitParam(name = "phone", value = "商户C端注册手机号", dataType = "String", paramType = "query", required = true) + public ResultData getOpenIdByPhone(@ModelAttribute String phone) { + log.debug("[" + getIpAddr() + "] WxMerchantController::getOpenIdByPhone"); + if (!hasPermission()) { + return new ResultData(ErrorCode.USER_NO_PERMISSION); + } + if (StringUtils.isBlank(phone)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "商户C端注册手机号不能为空"); + } + WxCUser cuUser = new WxCUser(); + cuUser.updateTenantInfo(getTenantInfo()); + cuUser.setPhone(phone); + WxCUser mUser = cUserService.getByObject(cuUser); + return new ResultData(mUser.getOpenId()); + } + public boolean hasPermission() { WxMerchantBUser user = getUser(); WxBuser buser = getBuser(); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index fee496f1e..23be5e82a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -81,7 +81,7 @@ public class WxMerchant extends TenantEntity { } @TableField(exist = false) - @Excel(name="账户类型",width = 20,orderNum = "7",replace = {"_null","商户号_0","微信号_1"}) + @Excel(name="账户类型",width = 20,orderNum = "7",replace = {"_null","商户号_0","微信号_1","OPENID_3"}) @io.swagger.annotations.ApiModelProperty(value="账户类型",name="accountTypeValue") private Integer accountTypeValue; From 0df610ebea50ce43245f61b6b813ad1000338576 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 15 May 2020 16:57:11 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[=E5=8D=A1=E5=AF=86=E5=BB=B6=E6=9C=9F][?= =?UTF-8?q?=E6=96=B0=E5=A2=9E]:=E6=94=AF=E6=8C=81=E5=8D=A1=E5=AF=86?= =?UTF-8?q?=E5=BB=B6=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/WxCouponPasswordController.java | 28 ++++++++++++++++--- .../java/com/iformall/common/ErrorCode.java | 1 + .../mapper/WxCouponPasswordMapper.java | 2 ++ .../service/WxCouponPasswordService.java | 2 ++ .../impl/WxCouponPasswordServiceImpl.java | 5 ++++ .../mapper/WxCouponPasswordMapper.xml | 6 ++++ 6 files changed, 40 insertions(+), 4 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java index 849c859e1..98fdf1c3e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java @@ -2,6 +2,7 @@ package com.iformall.controller.market; import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.base.BaseEntity; @@ -15,10 +16,7 @@ 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.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * @author gongbiao @@ -59,5 +57,27 @@ public class WxCouponPasswordController extends BaseController { return new ResultData(page); } + @ApiOperation(value = "卡密延期", notes = "{\"couponId\":\"string\", \"expireDate\":\"string\"}") + @PostMapping("/postpone") + @SystemControllerLog(description = "卡密延期") + public ResultData postpone(@RequestBody WxCouponPassword wxCouponPassword) { + logger.debug("[" + getIpAddr() + "] WxCouponPasswordController::postpone"); + if (wxCouponPassword.getCouponId() == null) { + logger.error("couponId不能为空: "); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + WxCouponPassword couponPassword = new WxCouponPassword(); + couponPassword.updateTenantInfo(getTenantInfo()); + couponPassword.setCouponId(wxCouponPassword.getCouponId()); + couponPassword.setExpireDate(wxCouponPassword.getExpireDate()); + try { + wxCouponPasswordService.postpone(couponPassword); + } catch (Exception e) { + logger.error(e.getMessage()); + return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR); + } + 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 0e9ff5897..2f3cbcef0 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -237,6 +237,7 @@ public enum ErrorCode{ COUPON_PASSWORD_NOT_FOUND(9501, "兑换码未找到"), COUPON_PASSWORD_HAD_USED(9502, "兑换码已使用"), COUPON_PASSWORD_IS_CANCELED(9503, "兑换码已作废"), + COUPON_PASSWORD_POSTPONE_ERR(9504, "卡密延期异常"), /** * 微信 diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java index 8088ecaa4..973bc37d6 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java @@ -21,4 +21,6 @@ public interface WxCouponPasswordMapper extends CommonMapper tempList); + void updatePostpone(WxCouponPassword wxCouponPassword); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java index 5f8006d66..6e99efbb3 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java @@ -70,4 +70,6 @@ public interface WxCouponPasswordService { PageInfo findCouponList(WxCouponPassword wxCouponPassword, Integer pageNum, Integer pageSize); List findList(WxCouponPassword wxCouponPassword); + + void postpone(WxCouponPassword wxCouponPassword); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java index 6c02b00b0..44aeebedb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java @@ -167,6 +167,11 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { return wxCouponPasswordMapper.findList(wxCouponPassword); } + @Override + public void postpone(WxCouponPassword wxCouponPassword) { + + } + /* public static void main(String[] args) { WxCouponPasswordServiceImpl ll = new WxCouponPasswordServiceImpl(); diff --git a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml index 6468f0672..390c35f9d 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml @@ -159,4 +159,10 @@ + + update wx_coupon_password + set expire_date=#{expireDate} + where tenant_id=#{tenantId} and coupon_id=#{couponId} and status=1 + +