From 59e63fa7b350ef037f4aa45ccd3701811fb2ecd2 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Wed, 21 Oct 2020 11:48:36 +0800 Subject: [PATCH] =?UTF-8?q?B=E7=AB=AF=E7=99=BB=E9=99=86=E6=94=AF=E6=8C=81H?= =?UTF-8?q?5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/BaseController.java | 31 ++++++---- .../iformall/controller/PosController.java | 16 ++--- .../controller/PosOrderController.java | 2 +- .../controller/WxCardPayController.java | 4 +- .../controller/WxCouponChannelController.java | 2 +- .../controller/WxCouponController.java | 15 ++--- .../controller/WxCouponOrderController.java | 22 ++++--- .../controller/WxCouponSendController.java | 4 +- .../controller/WxCreditHistoryController.java | 20 +++--- .../WxDateAmountRecordController.java | 2 +- .../iformall/controller/WxInfoController.java | 16 ++--- .../iformall/controller/WxMallController.java | 2 +- .../iformall/controller/WxMemController.java | 2 +- .../controller/WxMerchantBUserController.java | 6 +- .../controller/WxMerchantController.java | 8 +-- .../WxMerchantSubsidyController.java | 6 +- .../WxMerchantTradeDailyController.java | 14 ++--- .../controller/WxMicroPayController.java | 21 ++++--- .../controller/WxRefundOrderController.java | 2 +- .../interceptor/AuthorizationInterceptor.java | 61 +++++++++++++------ .../java/com/iformall/utils/Constant.java | 2 + 21 files changed, 154 insertions(+), 104 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java b/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java index 0d1e26abf..515c04702 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java @@ -69,24 +69,31 @@ public class BaseController { }); } - public Long getBuserId() { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - Long id = (Long) request.getAttribute(Constant.LOGIN_USER_KEY); + + + public Long getMerchantBUserId() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + Long id = (Long) request.getAttribute(Constant.LOGIN_B_USER_KEY); return id; } - - public WxMerchantBUser getUser() { - WxBuser buser = getBuser(); - Long userId = buser.getUserId(); - WxMerchantBUser user = wxMerchantBUserService.getById(userId); + + public WxMerchantBUser getLoginBUser() { + Long userId = getMerchantBUserId(); + WxMerchantBUser user = wxMerchantBUserService.getById(userId); if (user == null) { - throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"BUser[id:"+buser.getId()+",userId:"+userId+"]未查询到WxMerchantBUser。请联系管理员或者重新登陆."); + throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"BUser[id:"+userId+"]未查询到WxMerchantBUser。请联系管理员或者重新登陆."); } return user; } - - public WxBuser getBuser() { - Long id = getBuserId(); + + public Long getWxBuserId() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + Long id = (Long) request.getAttribute(Constant.LOGIN_USER_KEY); + return id; + } + + public WxBuser getWxBuser() { + Long id = getWxBuserId(); WxBuser user = wxBuserService.getById(id); if (user == null) { throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"BUser[id:"+id+"]未查询到记录, 请重新登陆,并完全授权微信个人信息以及手机号授权."); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/PosController.java b/mallinkBApi/src/main/java/com/iformall/controller/PosController.java index d33c55d5b..58f8c5df2 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/PosController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/PosController.java @@ -35,7 +35,7 @@ public class PosController extends BaseController { @ApiOperation(value = "商户POS用户/B端用户登录检查", notes = "{\"phone\":\"string\", \"password\":\"string(单位:分)\"}") @PostMapping("checkUserPassword") public ResultData checkUserPassword(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String phone = params.get("phone"); String password = params.get("password"); //登录凭证不能为空 @@ -51,7 +51,7 @@ public class PosController extends BaseController { @ApiOperation(value = "券独立核销-1-检查", notes = "{\"couponOrderId\":\"string\"}") @PostMapping("checkCouponOrderForIndepentVerify") public ResultData checkCouponOrderForIndepentVerify(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String couponOrderIdStr = params.get(WxPayConstant.COUPON_ORDER_ID); // 券包ID if (StringUtils.isBlank(couponOrderIdStr)) { @@ -64,7 +64,7 @@ public class PosController extends BaseController { @ApiOperation(value = "券独立核销-2-核销", notes = "{\"couponOrderId\":\"string\", \"payment\":\"string(单位:分)\"}") @PostMapping("posVerifyIndepent") public ResultData posVerifyIndepent(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String couponOrderId = params.get("coupon_order_id"); String payment = params.get("payment"); if (StringUtils.isBlank(couponOrderId)) { @@ -78,7 +78,7 @@ public class PosController extends BaseController { @ApiOperation(value = "会员支付-1-会员识别", notes = "{\"mem_id\":\"string(可选)\",\"mem_phone\":\"string(可选)\",\"pos_order_id\":\"string(必填)\",\"pos_amount\":\"string(单位:分)(必填)\"}") @PostMapping("checkMem") public ResultData checkMem(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String memIdStr = params.get(WxPayConstant.MEM_ID); // 会员ID String memPhoneStr = params.get(WxPayConstant.MEM_PHONE); // 会员手机 String posOrderIdStr = params.get(WxPayConstant.POS_ORDER_ID); // POS订单ID @@ -102,7 +102,7 @@ public class PosController extends BaseController { @ApiOperation(value = "会员支付-2-交易核销检查", notes = "{\"coupon_order_id\":\"string(必填)\",\"pos_order_id\":\"string(必填)\",\"pos_amount\":\"string(必填)\"}") @PostMapping("checkCouponOrderForPayVerify") public ResultData checkCouponOrderForPayVerify(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String couponOrderIdStr = params.get(WxPayConstant.COUPON_ORDER_ID); // 券包ID String posOrderIdStr = params.get(WxPayConstant.POS_ORDER_ID); // POS订单ID String posAmountStr = params.get(WxPayConstant.ORDER_AMOUNT); // POS订单金额 @@ -123,7 +123,7 @@ public class PosController extends BaseController { @ApiOperation(value = "会员支付-3-券预核销", notes = "{\"coupon_order_id\":\"string(必填)\",\"deduct_amount\":\"string(必填)\",\"pos_order_id\":\"string(必填)\",\"pos_amount\":\"string(必填)\"}") @PostMapping("couponOrderPreVerify") public ResultData couponOrderPreVerify(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String couponOrderIdStr = params.get(WxPayConstant.COUPON_ORDER_ID); // 券包ID String deductAmountStr = params.get(WxPayConstant.DEDUCT_AMOUNT); // 扣减金额 String posOrderIdStr = params.get(WxPayConstant.POS_ORDER_ID); // POS订单ID @@ -148,7 +148,7 @@ public class PosController extends BaseController { @ApiOperation(value = "会员支付-4-支付完成", notes = "{\"pos_order_id\":\"string\"}") @PostMapping("posOrderFinished") public ResultData posOrderFinished(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String posOrderIdStr = params.get(WxPayConstant.POS_ORDER_ID); // POS订单ID if (StringUtils.isBlank(posOrderIdStr)) { return errParam(WxPayConstant.POS_ORDER_ID); @@ -163,7 +163,7 @@ public class PosController extends BaseController { @ApiOperation(value = "会员支付-10-券预核销取消", notes = "{\"coupon_order_id\":\"string(必填)\",\"pos_order_id\":\"string(必填)\",\"pos_amount\":\"string(必填)\"}") @PostMapping("couponOrderPreVerifyCancel") public ResultData couponOrderPreVerifyCancel(@RequestBody Map params) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String couponOrderIdStr = params.get(WxPayConstant.COUPON_ORDER_ID); // 券包ID String posOrderIdStr = params.get(WxPayConstant.POS_ORDER_ID); // POS订单ID String posAmountStr = params.get(WxPayConstant.ORDER_AMOUNT); // POS订单金额(单位:分) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java index 94b5984a9..0886598c5 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java @@ -43,7 +43,7 @@ public class PosOrderController extends BaseController { @ApiOperation(value = "新增POS订单接口", notes = "") @PostMapping("addForPosPay") public ResultData add(@RequestBody PosOrder posOrder) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); if (posOrder == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java index b2f610324..4474aaa46 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -47,7 +47,7 @@ public class WxCardPayController extends BaseController { String ipStr = getIpAddr(); logger.info("cardSpendlist: " + ipStr + " :" + wxCardSpendVo.toString()); if (wxCardSpendVo == null) wxCardSpendVo = new WxCardSpendVo(); - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); wxCardSpendVo.updateTenantInfo(user); wxCardSpendVo.setMerchantId(user.getMerchantId()); final PageInfo page = wxCardSpendService.listAsPage(wxCardSpendVo, pageNum, pageSize); @@ -60,7 +60,7 @@ public class WxCardPayController extends BaseController { String ipStr = getIpAddr(); logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo(); - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); wxCardSpend.updateTenantInfo(user); wxCardSpend.setMerchantId(user.getMerchantId()); final List> mapList = wxCardSpendService.sumCardSpendForMerchant(wxCardSpend); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index 499d5a174..417ca3245 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -58,7 +58,7 @@ public class WxCouponChannelController extends BaseController { if (wxCouponChannel.getStatus() != null && wxCouponChannel.getStatus() == -1) { wxCouponChannel.setStatus(null); } - wxCouponChannel.setMerchantId(getUser().getMerchantId()); + wxCouponChannel.setMerchantId(getLoginBUser().getMerchantId()); wxCouponChannel.updateTenantInfo(getTenantInfo()); wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java index 1169d4a53..6fbdc10f2 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -69,7 +69,7 @@ public class WxCouponController extends BaseController { if(null == wxCoupon.getSourceType()){ wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Bapi.getCode()); } - wxCoupon.setMerchantId(getUser().getMerchantId()); + wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ wxCoupon.setSortColumn("c."+wxCoupon.getSortColumn()); @@ -97,7 +97,7 @@ public class WxCouponController extends BaseController { EnumCouponType.COUPON_PRESS.getCode()}; wxCoupon.setTypes(Arrays.asList(typeArray)); - wxCoupon.setMerchantId(getUser().getMerchantId()); + wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ wxCoupon.setSortColumn("c."+wxCoupon.getSortColumn()); } @@ -173,8 +173,8 @@ public class WxCouponController extends BaseController { if (!hasMerchantCouponFlow()) { return new ResultData(Result.ERROR,EnumFlowKey.B_COUPON_MERCHANT_CREATE.getMessage()+"未配置审批流程"); } - WxMerchantBUser buser = getUser(); - wxFlowService.start(generateFlowParams(EnumFlowKey.B_COUPON_MERCHANT_CREATE,EnumCouponAppType.PUT,coupon,wxCoupon.getRemark(), buser.getPhone()), getBuserId(), buser.getName(), coupon); + WxMerchantBUser buser = getLoginBUser(); + wxFlowService.start(generateFlowParams(EnumFlowKey.B_COUPON_MERCHANT_CREATE,EnumCouponAppType.PUT,coupon,wxCoupon.getRemark(), buser.getPhone()), buser.getId(), buser.getName(), coupon); return new ResultData(Result.SUCCESS,"提交审批成功"); } @@ -194,7 +194,7 @@ public class WxCouponController extends BaseController { wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Bapi.getCode()); } List merchantList = new ArrayList<>(); - WxMerchant wxMerchant = wxMerchantService.getById(getUser().getMerchantId()); + WxMerchant wxMerchant = wxMerchantService.getById(getLoginBUser().getMerchantId()); merchantList.add(wxMerchant); wxCoupon.setMerchantParams(JSONObject.toJSONString(merchantList)); @@ -205,9 +205,10 @@ public class WxCouponController extends BaseController { } redisLock.setCouponStock(wxCoupon.getId(), wxCoupon.getRemainInventory()); //启动投放审批 + WxMerchantBUser buser = getLoginBUser(); if(wxCoupon.getFlowParams() !=null && wxCoupon.getFlowParams().size()>0) { wxCoupon.getFlowParams().put("businessId",wxCoupon.getId()); - wxFlowService.start(wxCoupon.getFlowParams(), getBuserId(), getUser().getName(), tenantEntity); + wxFlowService.start(wxCoupon.getFlowParams(), buser.getId(), buser.getName(), tenantEntity); //修改coupon applyStatus状态为审核中 wxCoupon.setPutApplyStatus(EnumRentContractAppStatus.APPLYING.getCode()); } @@ -236,7 +237,7 @@ public class WxCouponController extends BaseController { } List merchantList = new ArrayList<>(); - WxMerchant wxMerchant = wxMerchantService.getById(getUser().getMerchantId()); + WxMerchant wxMerchant = wxMerchantService.getById(getLoginBUser().getMerchantId()); merchantList.add(wxMerchant); wxCoupon.setMerchantParams(JSONObject.toJSONString(merchantList)); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index b96ead62f..7137fa9c7 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -83,7 +83,7 @@ public class WxCouponOrderController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) { - return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, false); + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, false); } @ApiOperation("核销流水分页列表接口") @@ -93,7 +93,7 @@ public class WxCouponOrderController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData listVerified(String date, Integer pageNum, Integer pageSize) { - return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, true); + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, true); } @@ -103,7 +103,7 @@ public class WxCouponOrderController extends BaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) public ResultData getUnverifiedAmountOnDate(String date) { - return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, false); + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, false); } @RedisCache @@ -112,7 +112,7 @@ public class WxCouponOrderController extends BaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) public ResultData getVerifiedAmountOnDate(String date) { - return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, true); + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, true); } @@ -125,8 +125,8 @@ public class WxCouponOrderController extends BaseController { if (couponOrderId == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - Long bUserId = getUser().getId(); - WxMerchantBUser wxMerchantBUser = wxMerchantBUserService.getById(getUser().getId()); + Long bUserId = getLoginBUser().getId(); + WxMerchantBUser wxMerchantBUser = wxMerchantBUserService.getById(getLoginBUser().getId()); if (wxMerchantBUser == null) { logger.error("用户不存在:" + bUserId); throw new MallinkException(ErrorCode.USER_IS_EMPTY); @@ -279,12 +279,16 @@ public class WxCouponOrderController extends BaseController { return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); } - WxMerchantBUser wxMerchantBUser = wxMerchantBUserService.getById(getUser().getId()); + WxMerchantBUser wxMerchantBUser = wxMerchantBUserService.getById(getLoginBUser().getId()); if (wxMerchantBUser == null) { - logger.error("核销员ID不存在:" + getUser().getId()); + logger.error("核销员ID不存在:" + getLoginBUser().getId()); throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "核销员ID不存在或者无权限"); } - wxMerchantBUser.setBuserId(getBuserId()); + Long bUserId = getWxBuserId(); + if (null != bUserId) { + wxMerchantBUser.setBuserId(bUserId); + } + WxCouponOrder couponOrder = null; try { couponOrder = wxCouponOrderService.verify(wxCouponOrder, wxMerchantBUser); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java index d9d2efa1a..b9a099f46 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java @@ -56,7 +56,7 @@ public class WxCouponSendController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } wxCouponSend.updateTenantInfo(getTenantInfo()); - wxCouponSend.setMerchantId(getUser().getMerchantId()); + wxCouponSend.setMerchantId(getLoginBUser().getMerchantId()); if (Objects.nonNull(wxCouponSend.getExpired()) && Objects.equals(wxCouponSend.getExpired(), 0)) { wxCouponSend.setMerchantRemain(0); } @@ -143,7 +143,7 @@ public class WxCouponSendController extends BaseController { params.put("parentTenantId", tenantEntity.getParentTenantId()); } params.put("channelType", channelType); - params.put("merchantId", getUser().getMerchantId()); + params.put("merchantId", getLoginBUser().getMerchantId()); PageInfo data = wxCouponActionLogService.getActionLog(params, pageNum, pageSize); return new ResultData(data); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java index 625d5c380..38472c7a5 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -4,6 +4,7 @@ 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.WxBuser; import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxCreditHistory; import com.iformall.domain.po.WxMerchant; @@ -60,10 +61,10 @@ public class WxCreditHistoryController extends BaseController { log.debug("[" + getIpAddr() + "] WxCreditHistoryController::findByMerchantIdAndSpend"); WxMerchant wxMerchant = new WxMerchant(); wxMerchant.setStatus(EnumYesOrNo.YES.getCode()); - wxMerchant.setId(getUser().getMerchantId()); + wxMerchant.setId(getLoginBUser().getMerchantId()); wxMerchant = wxMerchantService.findOne(wxMerchant); //普通商户只允许查询自己的消费金额所增加的积分 - if (wxMerchant.getIsAdmin() != EnumYesOrNo.YES.getCode() && merchantId.longValue() != getUser().getMerchantId().longValue()) { + if (wxMerchant.getIsAdmin() != EnumYesOrNo.YES.getCode() && merchantId.longValue() != getLoginBUser().getMerchantId().longValue()) { return new ResultData(ErrorCode.USER_NO_PERMISSION); } if(Objects.isNull(merchantId)|| StringUtils.isEmpty(spendStr)||Objects.isNull(userId)) { @@ -99,28 +100,31 @@ public class WxCreditHistoryController extends BaseController { public ResultData add(@RequestBody WxCreditHistory wxCreditHistory) { log.debug("[" + getIpAddr() + "] WxCreditHistoryController::add"); wxCreditHistory.updateTenantInfo(getTenantInfo()); - wxCreditHistory.setOperatorId(getUser().getId()); + wxCreditHistory.setOperatorId(getLoginBUser().getId()); WxMerchant wxMerchant = new WxMerchant(); - wxMerchant.setId(getUser().getMerchantId()); + wxMerchant.setId(getLoginBUser().getMerchantId()); wxMerchant.setStatus(EnumMerchantStatus.VALID.getCode()); WxMerchant merchant = wxMerchantService.findOne(wxMerchant); //消费积分:取当前人的商户ID if (wxCreditHistory.getCreditType() == EnumScoreType.REDUCE_CREDIT.getCode()) { - wxCreditHistory.setMerchantId(getUser().getMerchantId()); + wxCreditHistory.setMerchantId(getLoginBUser().getMerchantId()); } else { //新增积分: //如果为商管商户 则消费商户按前端传入的进行记录 if (merchant != null && merchant.getIsAdmin() != null && merchant.getIsAdmin() == 1) { wxCreditHistory.setMerchantId(wxCreditHistory.getMerchantId()); } else { - wxCreditHistory.setMerchantId(getUser().getMerchantId()); + wxCreditHistory.setMerchantId(getLoginBUser().getMerchantId()); } } //B端操作用户 wxCreditHistory.setOperatorType(EnumUserType.BUSER.getCode()); try { wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),wxCreditHistory); - wxCreditHistory.setBuserId(getBuser().getId()); + WxBuser buser = getWxBuser(); + if (null != buser) { + wxCreditHistory.setBuserId(buser.getId()); + } WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); //更新标签 if (wxCreditHistory.getTags() != null && !wxCreditHistory.getTags().isEmpty()) { @@ -141,7 +145,7 @@ public class WxCreditHistoryController extends BaseController { public ResultData list(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { log.debug("[" + getIpAddr() + "] WxCreditHistoryController::list"); if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); - WxMerchantBUser bUser = getUser(); + WxMerchantBUser bUser = getLoginBUser(); WxMerchant merchant = wxMerchantService.getById(wxCreditHistory.getMerchantId()); if (merchant != null && merchant.getIsAdmin() != null && merchant.getIsAdmin() == 1) { wxCreditHistory.setOperatorId(bUser.getId()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java index 7b96bed78..6b2b2a11a 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java @@ -58,7 +58,7 @@ public class WxDateAmountRecordController extends BaseController { List list = new ArrayList<>(); WxDateAmountRecord temp = new WxDateAmountRecord(); - WxMerchantBUser u = getUser(); + WxMerchantBUser u = getLoginBUser(); temp.updateTenantInfo(u); temp.setMerchantId(u.getMerchantId()); temp.setType(dateAmtType); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java index e7c67844a..1887d6e50 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java @@ -426,7 +426,7 @@ public class WxInfoController extends BaseController { } WxMaService wxMaService = getWeappService(appId); - WxBuser buser = getBuser(); + WxBuser buser = getWxBuser(); try { // 解密 WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getPhoneNoInfo(session_key, encryptedData, iv); @@ -458,7 +458,7 @@ public class WxInfoController extends BaseController { @ApiOperation(value = "判断用户是否完成授权", notes = "") public ResultData checkWechatStatus() { Map resultMap = new HashMap(); - WxBuser user = getBuser(); + WxBuser user = getWxBuser(); if (StringUtils.isNotBlank(user.getNickName())) { resultMap.put("nickName", user.getNickName()); } else { @@ -489,7 +489,7 @@ public class WxInfoController extends BaseController { @ApiOperation(value = "判断用户是否完成昵称授权", notes = "") public ResultData checkUserStatus() { Map resultMap = new HashMap(); - WxBuser user = getBuser(); + WxBuser user = getWxBuser(); if (StringUtils.isNotBlank(user.getNickName())) { resultMap.put("nickName", user.getNickName()); } else { @@ -508,7 +508,7 @@ public class WxInfoController extends BaseController { @ApiOperation(value = "判断用户是否完成手机授权", notes = "") public ResultData checkPhoneStatus() { Map resultMap = new HashMap(); - WxBuser user = getBuser(); + WxBuser user = getWxBuser(); if (StringUtils.isNotBlank(user.getPhone())) { resultMap.put("phone", user.getPhone()); } else { @@ -546,7 +546,7 @@ public class WxInfoController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv不能为空"); } - WxBuser user = getBuser(); + WxBuser user = getWxBuser(); if (user != null) { logger.debug(user.toString()); @@ -588,7 +588,7 @@ public class WxInfoController extends BaseController { String systemInfo = map.get("systemInfo"); - WxBuser user = getBuser(); + WxBuser user = getWxBuser(); if (StringUtils.isNotBlank(systemInfo)) { JSONObject extraInfo = new JSONObject(); extraInfo.put("systemInfo", JSONObject.parseObject(systemInfo)); @@ -606,7 +606,7 @@ public class WxInfoController extends BaseController { String longitude = map.get("longitude"); String latitude = map.get("latitude"); - WxBuser user = getBuser(); + WxBuser user = getWxBuser(); if (!StringUtils.isBlank(longitude)) { user.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude))); } @@ -624,7 +624,7 @@ public class WxInfoController extends BaseController { String scene = map.get("scene"); - WxBuser user = getBuser(); + WxBuser user = getWxBuser(); if (StringUtils.isBlank(user.getScene())) { if (StringUtils.isNotBlank(scene)) { user.setScene(scene); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMallController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMallController.java index d04c6509c..6ea8c3116 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMallController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMallController.java @@ -70,7 +70,7 @@ public class WxMallController extends BaseController { @GetMapping("/mallInfo") @ApiImplicitParam(name = "appId", value = "appId", dataType = "String", paramType = "query", required = true) public ResultData getMallInfo(String appId) { - WxMerchantBUser buUser = getUser(); + WxMerchantBUser buUser = getLoginBUser(); WxMall mall = wxMallService.getByTenantInfo(buUser); if (mall == null) { return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java index 22a68fa38..e5d544786 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java @@ -65,7 +65,7 @@ public class WxMemController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "memCode转换失败"); } - WxMerchantBUser bUser = getUser(); + WxMerchantBUser bUser = getLoginBUser(); // WxCUser cUser = userService.getById(id); // if(cUser == null) { diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java index ff94814dd..da38ac688 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java @@ -14,6 +14,7 @@ import com.iformall.enums.EnumCreditLockedStatus; import com.iformall.enums.EnumMerchantBUserStatus; import com.iformall.enums.EnumMerchantStatus; import com.iformall.service.*; +import com.iformall.utils.Constant; import com.iformall.utils.HashUtil; import com.iformall.utils.IPUtil; import io.swagger.annotations.Api; @@ -64,7 +65,7 @@ public class WxMerchantBUserController extends BaseController { public ResultData detail() { Map resultMap = new HashMap(); - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); if (user == null){ return new ResultData(ErrorCode.USER_IS_EMPTY); @@ -169,6 +170,7 @@ public class WxMerchantBUserController extends BaseController { Map resultMap = new HashMap<>(); resultMap.put("bUserId", orgUser.getId()); resultMap.put("logined", true); + request.setAttribute(Constant.LOGIN_B_USER_KEY, orgUser.getId()); return new ResultData(resultMap); } else { return new ResultData(ErrorCode.PASSWORD_ERROR); @@ -188,6 +190,8 @@ public class WxMerchantBUserController extends BaseController { Map resultMap = new HashMap<>(); resultMap.put("merchantList", merchantListInfo); resultMap.put("logined", true); + resultMap.put("bUserId", orgUser.getId()); + request.setAttribute(Constant.LOGIN_B_USER_KEY, orgUser.getId()); return new ResultData(resultMap); } else { logger.error(ErrorCode.PASSWORD_ERROR.getMessage()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java index cd4bd1ffb..bf354f2be 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantController.java @@ -105,8 +105,8 @@ public class WxMerchantController extends BaseController { public ResultData getOpenIdByPhone(@ModelAttribute String phone) { log.debug("[" + getIpAddr() + "] WxMerchantController::getOpenIdByPhone"); // hasPermission - WxMerchantBUser user = getUser(); - WxBuser buser = getBuser(); + WxMerchantBUser user = getLoginBUser(); + WxBuser buser = getWxBuser(); WxMerchant merchant = new WxMerchant(); merchant.setId(user.getMerchantId()); WxMerchant wxMerchant = wxMerchantService.findOne(merchant); @@ -133,8 +133,8 @@ public class WxMerchantController extends BaseController { } public boolean hasPermission() { - WxMerchantBUser user = getUser(); - WxBuser buser = getBuser(); + WxMerchantBUser user = getLoginBUser(); + WxBuser buser = getWxBuser(); WxMerchant merchant = new WxMerchant(); merchant.setId(user.getMerchantId()); WxMerchant wxMerchant = wxMerchantService.findOne(merchant); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantSubsidyController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantSubsidyController.java index d942e80d2..6eab1dfb4 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantSubsidyController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantSubsidyController.java @@ -33,7 +33,7 @@ public class WxMerchantSubsidyController extends BaseController { String ipStr = getIpAddr(); logger.info("subsidy/sum: " + ipStr + " :" + wxMerchantSubsidy.toString()); if (wxMerchantSubsidy == null) wxMerchantSubsidy = new WxMerchantSubsidyVo(); - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); wxMerchantSubsidy.updateTenantInfo(user); wxMerchantSubsidy.setMerchantId(user.getMerchantId()); List> retMap = wxMerchantSubsidyService.sumForSubsidy(wxMerchantSubsidy); @@ -49,7 +49,7 @@ public class WxMerchantSubsidyController extends BaseController { String ipStr = getIpAddr(); logger.info("subsidy/list: " + ipStr + " :" + wxMerchantSubsidy.toString()); if (wxMerchantSubsidy == null) wxMerchantSubsidy = new WxMerchantSubsidyVo(); - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); wxMerchantSubsidy.updateTenantInfo(user); wxMerchantSubsidy.setMerchantId(user.getMerchantId()); final PageInfo page = wxMerchantSubsidyService.listAsPage(wxMerchantSubsidy, pageNum, pageSize); @@ -63,7 +63,7 @@ public class WxMerchantSubsidyController extends BaseController { if (null == wxMerchantSubsidy) { wxMerchantSubsidy = new WxMerchantSubsidyVo(); } - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); wxMerchantSubsidy.updateTenantInfo(user); wxMerchantSubsidy.setMerchantId(user.getMerchantId()); Map data = wxMerchantSubsidyService.summary(wxMerchantSubsidy); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java index ba175ebc0..8718cfa4e 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java @@ -39,20 +39,20 @@ public class WxMerchantTradeDailyController extends BaseController { @GetMapping("/getVolume") public ResultData getVolume(WxMerchantTradeDaily wxMerchantTradeDaily) { wxMerchantTradeDaily.updateTenantInfo(getTenantInfo()); - return wxMerchantTradeDailyService.getVolume(wxMerchantTradeDaily,getUser().getId()); + return wxMerchantTradeDailyService.getVolume(wxMerchantTradeDaily,getLoginBUser().getId()); } @ApiOperation("获得近7日解单") @GetMapping("/getVolumeOfWeek") public ResultData getVolumeOfWeek() { - return wxMerchantTradeDailyService.getVolumeOfWeek(getUser().getId()); + return wxMerchantTradeDailyService.getVolumeOfWeek(getLoginBUser().getId()); } @ApiOperation("上报每日解单") @GetMapping("/reportDailyVolume") @ApiImplicitParam(name = "volume", value = "总金额(分)", dataType = "Integer", paramType = "query", required = true) public ResultData saveDailyTradingVolume(Integer volume) { - return wxMerchantTradeDailyService.saveDailyTradingVolume(getUser().getId(), volume); + return wxMerchantTradeDailyService.saveDailyTradingVolume(getLoginBUser().getId(), volume); } /** @@ -82,7 +82,7 @@ public class WxMerchantTradeDailyController extends BaseController { wxMerchantTradeDaily.setTradeAmt(Double.parseDouble(wxMerchantTradeDaily.getTradeAmt())*100 +""); } - WxMerchantBUser user = wxMerchantBUserService.getById(getUser().getId()); + WxMerchantBUser user = wxMerchantBUserService.getById(getLoginBUser().getId()); if (user==null) return new ResultData(ErrorCode.USER_IS_EMPTY); WxMerchant merchant = wxMerchantService.getById(user.getMerchantId()); @@ -103,9 +103,9 @@ public class WxMerchantTradeDailyController extends BaseController { } } - wxMerchantTradeDaily.setbUserId(getUser().getId()); + wxMerchantTradeDaily.setbUserId(getLoginBUser().getId()); logger.info("1------------------------------------" + wxMerchantTradeDaily.getbUserId()); - wxMerchantTradeDaily.setBUserId(getUser().getId()); + wxMerchantTradeDaily.setBUserId(getLoginBUser().getId()); logger.info("2------------------------------------" + wxMerchantTradeDaily.getBUserId()); wxMerchantTradeDailyService.saveOrUpdate(wxMerchantTradeDaily); return new ResultData(); @@ -126,7 +126,7 @@ public class WxMerchantTradeDailyController extends BaseController { SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); //根据userid查询merchantId - WxMerchantBUser user = wxMerchantBUserService.getById(getUser().getId()); + WxMerchantBUser user = wxMerchantBUserService.getById(getLoginBUser().getId()); if (user==null) return new ResultData(ErrorCode.USER_IS_EMPTY); WxMerchant merchant = wxMerchantService.getById(user.getMerchantId()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java index 430f38041..f4dcfbf64 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java @@ -88,7 +88,7 @@ public class WxMicroPayController extends BaseController { String ipStr = IPUtil.getIpAddr(request); - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); WxOrder order = null; try { @@ -129,7 +129,7 @@ public class WxMicroPayController extends BaseController { } private ResultData queryMicopayOrder(String payOrderIdStr,String orderIdStr,EnumPayWay payWay) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); if (StringUtils.isBlank(payOrderIdStr)) { logger.error("payOrderId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "payOrderId不能为空"); @@ -240,7 +240,7 @@ public class WxMicroPayController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)}) public ResultData listMicroPay(String date, Integer pageNum, Integer pageSize) { - return wxOrderService.microPayListOnDateAsPage(getUser().getId(), EnumOrderType.MICROPAY.getCode(), date, pageNum, pageSize); + return wxOrderService.microPayListOnDateAsPage(getLoginBUser().getId(), EnumOrderType.MICROPAY.getCode(), date, pageNum, pageSize); } @RedisCache @@ -249,7 +249,7 @@ public class WxMicroPayController extends BaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) public ResultData getMicroPayAmountOnDate(String date) { - return wxOrderService.microPayListOnDateAsPage(getUser().getId(), EnumOrderType.MICROPAY.getCode(), date, null, null); + return wxOrderService.microPayListOnDateAsPage(getLoginBUser().getId(), EnumOrderType.MICROPAY.getCode(), date, null, null); } @ApiOperation("付款码支付某日异常交易分页列表接口") @@ -259,7 +259,7 @@ public class WxMicroPayController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)}) public ResultData listMicroPayExp(String date, Integer pageNum, Integer pageSize) { - return wxOrderService.microPayExpListOnDateAsPage(getUser().getId(), EnumOrderType.MICROPAY.getCode(), date, pageNum, pageSize); + return wxOrderService.microPayExpListOnDateAsPage(getLoginBUser().getId(), EnumOrderType.MICROPAY.getCode(), date, pageNum, pageSize); } @@ -282,7 +282,7 @@ public class WxMicroPayController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - WxMerchantBUser bUser = getUser(); + WxMerchantBUser bUser = getLoginBUser(); WxAppinfo appinfo = getAppInfo(bUser.getAppId()); try { ResultData rd = wxRefundOrderService.createRefundOrderFromMicroPay(appinfo, orderId, EnumPayType.PAY_B_REFUND, bUser.getId()); @@ -303,7 +303,7 @@ public class WxMicroPayController extends BaseController { @PostMapping("order_create_v2") public ResultData saveMicopayOrderV2(@RequestBody Map paramMap, HttpServletRequest request) { logger.info("saveMicopayOrderV2: " + paramMap.toString()); - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); String cUserIdStr = paramMap.get("cUserId"); String phone = paramMap.get("phone"); String payPriceStr = paramMap.get("payPrice"); @@ -385,7 +385,7 @@ public class WxMicroPayController extends BaseController { private ResultData saveMicopayPayOrder(String orderIdStr,String couponOrderIdStr,String authCode,String payPriceStr, EnumPayWay payWay, HttpServletRequest request) { - WxMerchantBUser user = getUser(); + WxMerchantBUser user = getLoginBUser(); if (StringUtils.isBlank(orderIdStr)) { logger.error("orderId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空"); @@ -413,7 +413,10 @@ public class WxMicroPayController extends BaseController { logger.error("核销员ID不存在:" + user.getId()); throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "核销员ID不存在或者无权限"); } - wxMerchantBUser.setBuserId(getBuserId()); + Long bUserId = getWxBuserId(); + if (null != bUserId) { + wxMerchantBUser.setBuserId(bUserId); + } Long couponOrderId = 0L, orderId = 0L; diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java index 10110d915..0eff6b589 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java @@ -48,7 +48,7 @@ public class WxRefundOrderController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - WxMerchantBUser bUser = getUser(); + WxMerchantBUser bUser = getLoginBUser(); WxAppinfo appinfo = getAppInfo(bUser.getAppId()); try { ResultData rd = wxRefundOrderService.createRefundOrder(appinfo, couponOrderId, EnumPayType.PAY_B_REFUND, bUser.getId()); diff --git a/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index aa0df818e..2eb5cd1a0 100644 --- a/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -6,8 +6,10 @@ import com.iformall.annotation.TenantIgnore; import com.iformall.common.ErrorCode; import com.iformall.common.TenantThreadLocal; import com.iformall.domain.po.WxBuser; +import com.iformall.domain.po.WxMerchantBUser; import com.iformall.exception.MallinkException; import com.iformall.service.WxBuserTokenService; +import com.iformall.service.WxMerchantBUserService; import com.iformall.utils.Constant; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +31,9 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { @Autowired private WxBuserTokenService userTokenService; + + @Autowired + private WxMerchantBUserService wxMerchantBUserService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { @@ -50,25 +55,48 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(StringUtils.isBlank(token)){ token = request.getParameter("token"); } + + String bid = request.getHeader("bid"); + //如果header中不存在token,则从参数中获取token + if(StringUtils.isBlank(bid)){ + bid = request.getParameter("bid"); + } - //token为空 - if(StringUtils.isBlank(token)){ + //token为空, + if(StringUtils.isBlank(token) && StringUtils.isBlank(bid)){ throw new MallinkException(ErrorCode.NET_TOKEN_EMPTY); } // 查询token信息 - - - WxBuser wxBuser = userTokenService.getByToken(token); - if (wxBuser == null || wxBuser.getExpireTime().getTime() < System.currentTimeMillis()) { - throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); - } - - //设置userId到request里,后续根据userId,获取用户信息 - request.setAttribute(Constant.LOGIN_USER_KEY, wxBuser.getId()); - request.setAttribute(Constant.TENANT_ID, wxBuser.getTenantId()); - if (StringUtils.isNotBlank(wxBuser.getParentTenantId())) { - request.setAttribute(Constant.PARENT_TENANT_ID, wxBuser.getParentTenantId()); + String tenantId = null; + String parenTenantId = null; + if (!StringUtils.isBlank(token)) { + WxBuser wxBuser = userTokenService.getByToken(token); + if (wxBuser == null || wxBuser.getExpireTime().getTime() < System.currentTimeMillis()) { + throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); + } + + //设置userId到request里,后续根据userId,获取用户信息 + tenantId = wxBuser.getTenantId(); + parenTenantId = wxBuser.getParentTenantId(); + request.setAttribute(Constant.LOGIN_USER_KEY, wxBuser.getId()); + request.setAttribute(Constant.TENANT_ID, tenantId); + if (StringUtils.isNotBlank(parenTenantId)) { + request.setAttribute(Constant.PARENT_TENANT_ID, parenTenantId); + } + + }else if (!StringUtils.isBlank(bid)) { + WxMerchantBUser buser = wxMerchantBUserService.getById(Long.parseLong(bid)); + if (buser == null) { + throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " bid失效,请重新登录"); + } + tenantId = buser.getTenantId(); + parenTenantId = buser.getParentTenantId(); + request.setAttribute(Constant.LOGIN_B_USER_KEY, buser.getId()); + request.setAttribute(Constant.TENANT_ID, tenantId); + if (StringUtils.isNotBlank(parenTenantId)) { + request.setAttribute(Constant.PARENT_TENANT_ID, parenTenantId); + } } @@ -82,12 +110,9 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(tenantIgnoreAnnotation != null){ TenantThreadLocal.remove(); }else { - TenantThreadLocal.setCurrentThreadTenant(wxBuser.getTenantId(), wxBuser.getParentTenantId()); + TenantThreadLocal.setCurrentThreadTenant(tenantId, parenTenantId); } - - - return true; } } diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index 179b626ab..51d0b893c 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -34,6 +34,8 @@ public class Constant { public static final String TENANT_ID = "TENANT_ID"; public static final String PARENT_TENANT_ID = "PARENT_TENANT_ID"; public static final String REQUEST_C_USER_KEY = "REQUEST_C_USER"; + + public static final String LOGIN_B_USER_KEY = "LOGIN_B_USER_KEY"; public static final String adminPage = "https://admin.malls.iformall.com";