From 569e489021b34362da8a25dc29bcf7aa99552ac7 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 11:15:29 +0800 Subject: [PATCH 01/10] fix bug --- .../controller/WxCouponController.java | 4 ++- .../interceptor/AuthorizationInterceptor.java | 30 +++++++++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java index 25d71a990..22080aa0c 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -72,12 +72,14 @@ public class WxCouponController extends BaseController { @ApiOperation("根据id(couponChannel)查询详情接口") @GetMapping("/couponDetail") @ApiImplicitParams({ - @ApiImplicitParam(name = "couponChannelId", value = "couponChannelId", dataType = "String", paramType = "query", required = true)}) + @ApiImplicitParam(name = "couponChannelId", value = "couponChannelId", dataType = "String", paramType = "query", required = true), + @ApiImplicitParam(name = "mallTenantId", value = "mallTenantId", dataType = "String", paramType = "query", required = false)}) public ResultData couponDetail(String couponChannelId) { if ((StringUtils.isBlank(couponChannelId) || couponChannelId.equalsIgnoreCase(Constant.UNDEFINED)) ) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId为空"); } + Long couponChannelIdL = 0L; try { diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index df5ed6b19..720c66d37 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -63,15 +63,29 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(cUser == null || cUser.getExpireTime().getTime() < System.currentTimeMillis()){ throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); } - + + //集团版中针对某一商场的业务需要传递mallTenantId + String mallTenantId = request.getHeader("mallTenantId"); + if(StringUtils.isBlank(mallTenantId)){ + mallTenantId = request.getParameter("mallTenantId"); + } + + //设置userId到request里,后续根据userId,获取用户信息 request.setAttribute(Constant.LOGIN_USER_KEY, cUser.getId()); - request.setAttribute(Constant.TENANT_ID, cUser.getTenantId()); + + + if (!StringUtils.isBlank(mallTenantId)) { + request.setAttribute(Constant.TENANT_ID, mallTenantId); + request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getTenantId()); + }else { + request.setAttribute(Constant.TENANT_ID, cUser.getTenantId()); + if (StringUtils.isNotBlank(cUser.getParentTenantId())) { + request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getParentTenantId()); + } + } request.setAttribute(Constant.REQUEST_C_USER_KEY, cUser); request.setAttribute(Constant.APP_INFO,cUser.getAppinfo()); - if (StringUtils.isNotBlank(cUser.getParentTenantId())) { - request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getParentTenantId()); - } if(cUser.basicInfoIs()){ request.setAttribute(Constant.LOGIN_MEMBER_KEY, cUser.getUserId()); } @@ -86,7 +100,11 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(tenantIgnoreAnnotation != null){ TenantThreadLocal.remove(); }else { - TenantThreadLocal.setCurrentThreadTenant(cUser.getTenantId(), cUser.getParentTenantId()); + if (!StringUtils.isBlank(mallTenantId)) { + TenantThreadLocal.setCurrentThreadTenant(cUser.getTenantId(), cUser.getParentTenantId()); + }else { + TenantThreadLocal.setCurrentThreadTenant(mallTenantId, cUser.getTenantId()); + } } return true; From db3ea4d139d63a33c6d2b05f7f9c63379332164a Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 11:38:14 +0800 Subject: [PATCH 02/10] fix bug --- .../com/iformall/controller/market/WxCouponController.java | 1 + .../src/main/java/com/iformall/mapper/WxCouponMapper.java | 2 ++ .../com/iformall/service/impl/WxCouponServiceImpl.java | 7 ++++++- .../src/main/resources/mapper/WxCouponMapper.xml | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index cf1086978..3fd630fd6 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -636,6 +636,7 @@ public class WxCouponController extends BaseController { } } + @TenantIgnore @ApiOperation("商场设置平台券商户") @PostMapping("/setParentCouponMerchants") public ResultData setMallMerchants(@RequestBody WxCoupon wxCoupon) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index 33ce2f7d2..64d4a47cc 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -125,4 +125,6 @@ public interface WxCouponMapper extends CommonMapper { List ttCouponList(TtCouponVo ttCouponVo); Integer findCategoryIdById(@Param("id")Long id,@Param("tenantId")String tenantId); + + void setMakeMerchantId(WxCoupon couponQ); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 77db55873..e6e7cf2de 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -811,7 +811,7 @@ public class WxCouponServiceImpl implements WxCouponService { WxMerchant makeMerchant = null; //平台券,集团商管商户 if (EnumCouponType.COUPON_DOUYIN_PLAT.getCode() == coupon.getType()) { - //TODO 查询集团商管商户 + //查询集团商管商户 makeMerchant = wxMerchantService.findAdmin(coupon); //品牌券,查询集团品牌商户 }else if (EnumCouponType.COUPON_DOUYIN_BRAND.getCode() == coupon.getType()) { @@ -1530,6 +1530,7 @@ public class WxCouponServiceImpl implements WxCouponService { if (null == wxCoupon.getMerchantIds()) { throw new MallinkException(Result.ERROR,"请选择商户"); } + Long makeMerchantId = coupon.getMakeMerchantId(); // StringBuffer merchantParams = new StringBuffer("{\"tenantId\":").append(mallTenantEntity.getTenantId()).append(",\"mallMerchantParams\":").append("["); Long[] mids = wxCoupon.getMerchantIds(); @@ -1544,6 +1545,10 @@ public class WxCouponServiceImpl implements WxCouponService { checkCouponMerchantReceiver(coupon,true); final IdWorker idWorker = IdWorker.get(); updateCouponMerchants(coupon,idWorker); + //平台券设置商管商户 + if (null == makeMerchantId) { + wxCouponMapper.setMakeMerchantId(coupon); + } }catch(Exception e) { throw e; } diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 4ce873f6d..1ab55a626 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -1494,5 +1494,9 @@ where id = #{id} and tenant_id = #{tenantId} + + + update wx_coupon set make_merchant_id = #{makeMerchantId} where id = #{id} and tenant_id = #{tenantId} + From 5b0871a3aafc8dea468e2c3c51a693cc708c3f05 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 11:40:08 +0800 Subject: [PATCH 03/10] fix bug --- .../java/com/iformall/service/impl/WxCouponServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index e6e7cf2de..c90f1f61b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -768,6 +768,9 @@ public class WxCouponServiceImpl implements WxCouponService { if (EnumPayMchType.DIRECT.equals(payMchType)) { WxMerchant makeMerchant = getDirectPayAccountMerchant(merchantList,record); + if (null == makeMerchant) { + throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "没有收款商户"); + } record.setMakeMerchantId(makeMerchant.getId()); WxProfitSharingReceiver receiver = payShareServie.getReceiver(payAccount, makeMerchant.getId(), null, payMchType.getCode()); From f8b4136230f506a2759f1370a588d45b9e87ef63 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 15:22:20 +0800 Subject: [PATCH 04/10] fix bug --- .../java/com/iformall/service/impl/WxCouponServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index c90f1f61b..001f422f3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -1535,7 +1535,7 @@ public class WxCouponServiceImpl implements WxCouponService { } Long makeMerchantId = coupon.getMakeMerchantId(); // - StringBuffer merchantParams = new StringBuffer("{\"tenantId\":").append(mallTenantEntity.getTenantId()).append(",\"mallMerchantParams\":").append("["); + StringBuffer merchantParams = new StringBuffer("[{\"tenantId\":").append(mallTenantEntity.getTenantId()).append(",\"mallMerchantParams\":").append("["); Long[] mids = wxCoupon.getMerchantIds(); for (int i = 0 ;i < mids.length; i++ ){ merchantParams.append("{\"id\":").append(mids[i]).append("}"); @@ -1543,13 +1543,13 @@ public class WxCouponServiceImpl implements WxCouponService { merchantParams.append(","); } } - merchantParams.append("]"); + merchantParams.append("]}]"); coupon.setChildMerchantParams(merchantParams.toString()); checkCouponMerchantReceiver(coupon,true); final IdWorker idWorker = IdWorker.get(); updateCouponMerchants(coupon,idWorker); //平台券设置商管商户 - if (null == makeMerchantId) { + if (null == makeMerchantId && null != coupon.getMakeMerchantId()){ wxCouponMapper.setMakeMerchantId(coupon); } }catch(Exception e) { From 0f181b3cf8de2b6ffdc3d229ab9606660a1a3abc Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 18:36:35 +0800 Subject: [PATCH 05/10] fix bug --- .../java/com/iformall/service/impl/WxCouponServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 001f422f3..1135209f4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -772,7 +772,7 @@ public class WxCouponServiceImpl implements WxCouponService { throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "没有收款商户"); } record.setMakeMerchantId(makeMerchant.getId()); - WxProfitSharingReceiver receiver = payShareServie.getReceiver(payAccount, makeMerchant.getId(), null, payMchType.getCode()); + WxProfitSharingReceiver receiver = payShareServie.getReceiver(makeMerchant, makeMerchant.getId(), null, payMchType.getCode()); if (receiver == null) { throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "[\""+makeMerchant.getName()+"\"]未配置收款账户"); From 0c7372f484994e25fe72695d95edad0dac24d52a Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 19:17:43 +0800 Subject: [PATCH 06/10] fix bug --- .../service/impl/WxCouponServiceImpl.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 1135209f4..4128cb130 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -396,15 +396,20 @@ public class WxCouponServiceImpl implements WxCouponService { private Long parseMerchantId(JSONObject merchantParam){ - return Long.valueOf(merchantParam.getString("id")); + if (!StringUtils.isBlank(merchantParam.getString("id"))){ + return Long.valueOf(merchantParam.getString("id")); + } + return null; } private String parseParameter(JSONObject merchantParam){ return merchantParam.getString("parameter"); } private Integer parseBusiness(JSONObject merchantParam){ String businessIdStr = merchantParam.getString("businessId"); - return Integer.valueOf(businessIdStr); - + if ( !StringUtils.isBlank(businessIdStr)) { + return Integer.valueOf(businessIdStr); + } + return null; } private Integer parseSubBusiness(JSONObject merchantParam){ String subBusinessIdStr = merchantParam.getString("subBusinessId"); @@ -1538,7 +1543,7 @@ public class WxCouponServiceImpl implements WxCouponService { StringBuffer merchantParams = new StringBuffer("[{\"tenantId\":").append(mallTenantEntity.getTenantId()).append(",\"mallMerchantParams\":").append("["); Long[] mids = wxCoupon.getMerchantIds(); for (int i = 0 ;i < mids.length; i++ ){ - merchantParams.append("{\"id\":").append(mids[i]).append("}"); + merchantParams.append("{\"id\":").append(mids[i]).append(",\"businessId\":").append(EnumBusiness.BUSINESS_ID6.getCode()).append("}"); if (i < mids.length-1 ) { merchantParams.append(","); } @@ -1549,7 +1554,7 @@ public class WxCouponServiceImpl implements WxCouponService { final IdWorker idWorker = IdWorker.get(); updateCouponMerchants(coupon,idWorker); //平台券设置商管商户 - if (null == makeMerchantId && null != coupon.getMakeMerchantId()){ + if (null != coupon.getMakeMerchantId()) { wxCouponMapper.setMakeMerchantId(coupon); } }catch(Exception e) { From 8fecf0f24bafe88b32c88ff0e3d694f209104ad0 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 19:45:44 +0800 Subject: [PATCH 07/10] fix bug --- .../controller/market/WxCouponController.java | 6 ++++-- .../com/iformall/controller/WxCouponController.java | 3 ++- .../iformall/controller/WxCouponOrderController.java | 2 +- .../com/iformall/controller/WxCouponController.java | 12 +++++++----- .../iformall/controller/WxCouponOrderController.java | 5 +++-- .../iformall/controller/WxPressOrderController.java | 8 ++++++-- .../java/com/iformall/service/WxCouponService.java | 2 +- .../iformall/service/impl/WxCouponServiceImpl.java | 6 +++--- 8 files changed, 27 insertions(+), 17 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 3fd630fd6..2c1357fd2 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -407,7 +407,8 @@ public class WxCouponController extends BaseController { @SystemControllerLog(description = "券投放-查询") public ResultData findById(@RequestParam Long id) { logger.debug("[" + getIpAddr() + "] WxCouponController::findById"); - return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getTenantId())); + TenantEntity tenantEntity = getTenantInfo(); + return new ResultData(wxCouponService.getVoById(id,tenantEntity.getTenantId(),tenantEntity)); } @TenantIgnore @@ -417,7 +418,8 @@ public class WxCouponController extends BaseController { @SystemControllerLog(description = "券投放-查询") public ResultData findParentCouponById(@RequestParam Long id) { logger.debug("[" + getIpAddr() + "] WxCouponController::findById"); - return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getParentTenantId())); + TenantEntity tenantEntity = getTenantInfo(); + return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getParentTenantId(),tenantEntity)); } @TenantIgnore diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java index 226edae9f..90ecfed59 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -383,7 +383,8 @@ public class WxCouponController extends BaseController { @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) public ResultData findById(@RequestParam Long id) { logger.debug("[" + getIpAddr() + "] WxCouponController::findById"); - return new ResultData(wxCouponService.getVoById(id,getTenantInfo().getTenantId())); + TenantEntity tenantEntity = getTenantInfo(); + return new ResultData(wxCouponService.getVoById(id,tenantEntity.getTenantId(),tenantEntity)); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index e57b8ba8d..de3bc24ec 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -210,7 +210,7 @@ public class WxCouponOrderController extends BaseController { return new ResultData(ErrorCode.COUPON_IS_EMPTY); } } else { - wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxMerchantBUser.getTenantId()); + wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxMerchantBUser.getTenantId(),wxMerchantBUser); if (wxCouponCVo == null) { return new ResultData(ErrorCode.COUPON_IS_EMPTY); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java index 22080aa0c..9cd01193e 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -11,6 +11,7 @@ import java.util.stream.Collectors; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMiniappThemeValue; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumCouponType; import com.iformall.enums.EnumMerchantStatus; import com.iformall.utils.*; @@ -393,7 +394,8 @@ public class WxCouponController extends BaseController { //WxCouponCVo wxCouponCVo = wxCouponChannelService.findDetailVo(couponChannelIdL); WxCouponCVo wxCouponCVo = null; try { - wxCouponCVo = generateWxCouponCVoex(couponChannelIdL,couponIdL,getTenantInfo().getTenantId()); + TenantEntity tenantEntity = getTenantInfo(); + wxCouponCVo = generateWxCouponCVoex(couponChannelIdL,couponIdL,tenantEntity.getTenantId(),tenantEntity); } catch (IllegalAccessException e) { logger.error("coupon detail fail,copyproperties error" + couponChannelId,e); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "coupon detail fail,copyproperties error" + couponChannelId); @@ -529,13 +531,13 @@ public class WxCouponController extends BaseController { } - private WxCouponCVo generateWxCouponCVoex(Long couponChannelIdL,Long couponIdL,String tenantId) throws IllegalAccessException, InvocationTargetException { + private WxCouponCVo generateWxCouponCVoex(Long couponChannelIdL,Long couponIdL,String couponTenantId,TenantEntity mallTenantEntity) throws IllegalAccessException, InvocationTargetException { if(couponChannelIdL > 0l){ - WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,tenantId); + WxCouponChannel cc = wxCouponChannelService.getById(couponChannelIdL,couponTenantId); if(cc == null){ return null; } - WxCouponCVo wxcv = couponService.getVoById(cc.getCouponId(),tenantId); + WxCouponCVo wxcv = couponService.getVoById(cc.getCouponId(),couponTenantId,mallTenantEntity); if(wxcv == null){ return null; } @@ -554,7 +556,7 @@ public class WxCouponController extends BaseController { wxcv.setTtSpuId(cc.getTtSpuId()); return wxcv; }else if(couponIdL > 0l){ - WxCouponCVo wxcv = couponService.getVoById(couponIdL,tenantId); + WxCouponCVo wxcv = couponService.getVoById(couponIdL,couponTenantId,mallTenantEntity); return wxcv; } return null; diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 1c61f0132..3e3d7e03a 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -119,7 +119,8 @@ public class WxCouponOrderController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.simpleDetailCUserVo(couponOrderId,getTenantInfo()); + TenantEntity tenantEntity = getTenantInfo(); + WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.simpleDetailCUserVo(couponOrderId,tenantEntity); if (wxCouponOrderCVo == null) { return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); } @@ -144,7 +145,7 @@ public class WxCouponOrderController extends BaseController { return new ResultData(ErrorCode.COUPON_IS_EMPTY); } } else { - wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxCouponOrderCVo.getTenantId()); + wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId(),wxCouponOrderCVo.getTenantId(),tenantEntity); if (wxCouponCVo == null) { return new ResultData(ErrorCode.COUPON_IS_EMPTY); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java index b4d4d3249..7492605a7 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java @@ -6,6 +6,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.WxOrderPress; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCouponCVo; import com.iformall.enums.EnumOrderPressStatus; import com.iformall.enums.EnumOrderStatus; @@ -91,12 +92,15 @@ public class WxPressOrderController extends BaseController { ValueOperations operations = orderRedisTemplate.opsForValue(); // 缓存 boolean hasKey = orderRedisTemplate.hasKey(key); + + TenantEntity tenantEntity = getTenantInfo(); + if (hasKey) { // 从缓存获取砍价订单信息 order = operations.get(key); } else { // 订单没有入缓存,需要从数据库中读取 - order = wxOrderService.getById(orderId,getTenantInfo().getTenantId()); + order = wxOrderService.getById(orderId,tenantEntity.getTenantId()); if (order != null) { // 订单优化,进缓存 orderRedisTemplate.opsForValue().set(key, order, 3600, TimeUnit.SECONDS); @@ -117,7 +121,7 @@ public class WxPressOrderController extends BaseController { wxCouponCVo = cdOperations.get(cdKey); } else { // 券信息没有入缓存,需要从数据库中读取 - wxCouponCVo = wxCouponService.getVoById(order.getProductId(),order.getTenantId()); + wxCouponCVo = wxCouponService.getVoById(order.getProductId(),order.getTenantId(),tenantEntity); if (wxCouponCVo != null) { // 券详情优化,进缓存 couponCVoRedisTemplate.opsForValue().set(cdKey, wxCouponCVo, 3600, TimeUnit.SECONDS); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index 8ce538c49..f4ee77673 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -81,7 +81,7 @@ public interface WxCouponService { WxCoupon getHtmlById(Long id,String tenantId); - WxCouponCVo getVoById(Long id,String tenantId); + WxCouponCVo getVoById(Long id,String couponTenantId,TenantEntity mallTenantEntity); WxCouponCVo getVoStatusById(Long id,String tenantId); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 4128cb130..5a3449e1f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -353,15 +353,15 @@ public class WxCouponServiceImpl implements WxCouponService { } @Override - public WxCouponCVo getVoById(Long id,String tenantId) { - WxCouponCVo wxCouponCVo = wxCouponMapper.findVoDetail(id,tenantId); + public WxCouponCVo getVoById(Long id,String couponTenantId,TenantEntity mallTenantEntity) { + WxCouponCVo wxCouponCVo = wxCouponMapper.findVoDetail(id,couponTenantId); if(wxCouponCVo == null){ return null; } List couponIdList = new ArrayList(); couponIdList.add(wxCouponCVo.getId()); - Map> couponMerchantVoMap = wxMerchantService.findCouponMerchantVoList(couponIdList, wxCouponCVo,true); + Map> couponMerchantVoMap = wxMerchantService.findCouponMerchantVoList(couponIdList, mallTenantEntity,true); List merchantList = couponMerchantVoMap.get(wxCouponCVo.getId()); if (merchantList != null) { From 7f23766cee12af7d968f6d403baf76398a8273d5 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 19:59:53 +0800 Subject: [PATCH 08/10] fix bug --- .../com/iformall/controller/market/WxCouponController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 2c1357fd2..95bd0ee6e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -679,6 +679,7 @@ public class WxCouponController extends BaseController { } + @TenantIgnore @ApiOperation("商场设置平台券已完成") @PostMapping("/setPlatCouponFinished") public ResultData setPlatCouponFinished(@RequestBody WxCoupon wxCoupon) { @@ -697,7 +698,8 @@ public class WxCouponController extends BaseController { } - @ApiOperation("商场设置平台券已完成") + @TenantIgnore + @ApiOperation("商场设置平台券未完成") @PostMapping("/setPlatCouponUnFinished") public ResultData setPlatCouponUnFinished(@RequestBody WxCoupon wxCoupon) { try { From 14e9a48a5b73385fef63fa226fe8c447d3f2af91 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 20:58:18 +0800 Subject: [PATCH 09/10] fix bug --- .../basic/WxProjectConfigController.java | 18 ++++++++++++++++++ .../controller/market/WxCouponController.java | 16 +++++++++++++++- .../iformall/mapper/WxCouponMallMapper.java | 1 + .../iformall/service/WxCouponMallService.java | 1 + .../service/impl/WxCouponMallServiceImpl.java | 5 +++++ .../resources/mapper/WxCouponMallMapper.xml | 5 +++++ 6 files changed, 45 insertions(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java index 4ac381cb1..de62541d0 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java @@ -118,6 +118,24 @@ public class WxProjectConfigController extends BaseController { // // } + @ApiOperation("查询商场集团列表") + @GetMapping(value = "/childMallList") + @SystemControllerLog(description = "商场基础数据") + @TenantIgnore + public ResultData childMallList(@ModelAttribute WxMall wxMall, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxProjectConfigController::getMallList"); + try { + if(wxMall == null){ + wxMall = new WxMall(); + } + wxMall.setParentTenantId(this.getTenantInfo().getTenantId()); + PageInfo page = wxMallService.listAsPage(wxMall, pageNum, pageSize); + return new ResultData(page); + }catch (Exception e){ + logger.error(e.getMessage(),e); + return new ResultData(ErrorCode.SYS_SERVER_ERROR); + } + } @ApiOperation("查询商场集团列表") @GetMapping(value = "/mallList") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 95bd0ee6e..473ee58eb 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -84,8 +84,22 @@ public class WxCouponController extends BaseController { public ResultData parentCouponList(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize,Boolean isList) { logger.debug("[" + getIpAddr() + "] WxCouponController::list"); if (wxCoupon == null) wxCoupon = new WxCoupon(); - wxCoupon.setTenantId(getTenantInfo().getParentTenantId()); + TenantEntity mallTenantEntity = getTenantInfo(); + wxCoupon.setTenantId(mallTenantEntity.getParentTenantId()); wxCoupon.setParentTenantId(null); + //平台券 + if (EnumCouponType.COUPON_DOUYIN_PLAT.getCode() == wxCoupon.getType()) { + //查询已经分配了的parentCouponList + WxCouponMall couponMall = new WxCouponMall(); + couponMall.updateTenantInfo(wxCoupon); + couponMall.setMallTenantId(mallTenantEntity.getTenantId()); + List couponIds = wxCouponMallService.listCouponIds(couponMall); + if (null != couponIds && couponIds.size() > 0 ) { + wxCoupon.setIds(couponIds); + }else { + wxCoupon.setId(-1L); + } + } return couponList(wxCoupon, pageNum, pageSize, isList); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java index 64057ed30..a71c617c8 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java @@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.Param; public interface WxCouponMallMapper extends CommonMapper { List findList(WxCouponMall wxCouponMall); + List findCouponIdList(WxCouponMall wxCouponMall); void updateStatus(WxCouponMall wxCouponMall); void delteAllByProductId(WxCouponMall wxCouponMall); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java index 29eeda8af..560398a41 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java @@ -23,6 +23,7 @@ public interface WxCouponMallService { PageInfo listAsPage(WxCouponMall record, Integer pageIndex, Integer pageSize); List list(WxCouponMall wxCouponMall,boolean queryMall); + List listCouponIds(WxCouponMall wxCouponMall); void finised(String tenantId,Long couponId,String mallTenantId); void unfinised(String tenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java index c7ecfc6ed..74cbcf681 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java @@ -61,6 +61,11 @@ public class WxCouponMallServiceImpl implements WxCouponMallService { return list; } + @Override + public List listCouponIds(WxCouponMall wxCouponMall){ + return wxCouponMallMapper.findCouponIdList(wxCouponMall); + } + @Override public PageInfo listAsPage(WxCouponMall record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponMallMapper.findList(record)); diff --git a/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml index 7ca9d1158..7b7e5e3f4 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml @@ -77,6 +77,11 @@ + + update wx_coupon_mall set status = #{status} where `product_id` = #{productId} and `tenant_id` = #{tenantId} and `mall_tenant_id` = #{mallTenantId} From 8a316d8669bfd088a027b1ef2ff3379ca555aafc Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 24 Nov 2022 21:53:56 +0800 Subject: [PATCH 10/10] fix bug --- .../controller/market/WxCouponController.java | 1 + .../iformall/service/WxCouponMallService.java | 4 +-- .../service/impl/WxCouponMallServiceImpl.java | 25 ++++++++++++++----- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 473ee58eb..562779b30 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -615,6 +615,7 @@ public class WxCouponController extends BaseController { return new ResultData(wxCouponMallService.list(wxCouponMall,true)); } + @TenantIgnore @ApiOperation("平台券商场列表") @GetMapping("/getCouponMall") @ApiImplicitParams({ diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java index 560398a41..5fb18b377 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java @@ -25,7 +25,7 @@ public interface WxCouponMallService { List list(WxCouponMall wxCouponMall,boolean queryMall); List listCouponIds(WxCouponMall wxCouponMall); - void finised(String tenantId,Long couponId,String mallTenantId); - void unfinised(String tenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception; + void finised(String couponTenantId,Long couponId,String mallTenantId); + void unfinised(String couponTenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java index 74cbcf681..b30f46510 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java @@ -8,6 +8,7 @@ import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumCouponChannelStatus; import com.iformall.enums.EnumCouponMallStatus; +import com.iformall.enums.EnumCouponMerchantStatus; import com.iformall.enums.EnumCouponType; import com.iformall.enums.EnumSpuSyncStatus; import com.iformall.exception.MallinkException; @@ -31,6 +32,8 @@ public class WxCouponMallServiceImpl implements WxCouponMallService { WxCouponChannelMapper wxCouponChannelMapper; @Autowired WxMallMapper wxMallMapper; + @Autowired + WxCouponMerchantMapper wxCouponMerchantMapper; @Override public List list(WxCouponMall wxCouponMall,boolean queryMall){ @@ -72,9 +75,19 @@ public class WxCouponMallServiceImpl implements WxCouponMallService { } @Override - public void finised(String tenantId, Long couponId, String mallTenantId) { + public void finised(String couponTenantId, Long couponId, String mallTenantId) { + //查询商户设置了没有 + WxCouponMerchant cmParam = new WxCouponMerchant(); + cmParam.setTenantId(mallTenantId); + cmParam.setProductId(couponId); + cmParam.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); + List merchantList = wxCouponMerchantMapper.findList(cmParam); + if (null == merchantList || merchantList.size() <= 0 ) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"未设置有效商户"); + } + WxCouponMall couponMall = new WxCouponMall(); - couponMall.setTenantId(tenantId); + couponMall.setTenantId(couponTenantId); couponMall.setMallTenantId(mallTenantId); couponMall.setProductId(couponId); couponMall.setStatus(EnumCouponMallStatus.FINISED.getCode()); @@ -82,17 +95,17 @@ public class WxCouponMallServiceImpl implements WxCouponMallService { } @Override - public void unfinised(String tenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception{ + public void unfinised(String couponTenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception{ //抖音平台查询的是未提交抖音审核的,微信是未上架的 EnumAppPlat plat = EnumCouponType.getAppPlat(couponType); if (plat == EnumAppPlat.TOUTIAO) { - TtCouponChannelPoi poi = ttCouponChannelPoiMapper.selectById(tenantId, couponId); + TtCouponChannelPoi poi = ttCouponChannelPoiMapper.selectById(couponTenantId, couponId); if (null != poi &&( EnumSpuSyncStatus.isValid(poi.getLastStatus()))) { throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"券已在抖音审核流程中,无法修改。"); } }else if (plat == EnumAppPlat.WX) { WxCouponChannel couponChannel = new WxCouponChannel(); - couponChannel.setTenantId(tenantId); + couponChannel.setTenantId(couponTenantId); couponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); List clist = wxCouponChannelMapper.findList(couponChannel); if (null != clist && clist.size() > 0 ) { @@ -100,7 +113,7 @@ public class WxCouponMallServiceImpl implements WxCouponMallService { } } WxCouponMall couponMall = new WxCouponMall(); - couponMall.setTenantId(tenantId); + couponMall.setTenantId(couponTenantId); couponMall.setMallTenantId(mallTenantId); couponMall.setProductId(couponId); couponMall.setStatus(EnumCouponMallStatus.UNFINISED.getCode());