diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java index 83a9fb528..7a97516dd 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java @@ -161,7 +161,7 @@ public class WechatLoginController extends BaseController { MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); info.protectInfos(); String menus = mallUserRoleService.getPermissionsByUser(info); - if(menus != null) { + if(StringUtils.isNotBlank(menus)) { info.setMenus(menus); } WxMall mall = mallService.getByTenantInfo(info); @@ -331,7 +331,7 @@ public class WechatLoginController extends BaseController { MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); info.protectInfos(); String menus = mallUserRoleService.getPermissionsByUser(info); - if(menus != null) { + if(StringUtils.isNotBlank(menus)) { info.setMenus(menus); } Map ret = new HashMap<>(); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java index 920a024ff..f2cd1f7e3 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java @@ -142,7 +142,7 @@ public class MallUserInfo extends TenantEntity { if(StringUtils.isBlank(getTenantId())) { return false; } - if(StringUtils.isBlank(getParentTenantId()) && + if(StringUtils.isNotBlank(getParentTenantId()) && isAdmin.equals(EnumUserAdmin.ADMIN.getCode())) { return true; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallUserRoleServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallUserRoleServiceImpl.java index c1cfd3f99..481781c5a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallUserRoleServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallUserRoleServiceImpl.java @@ -134,7 +134,7 @@ public class MallUserRoleServiceImpl implements MallUserRoleService { } return menus; } - return null; + return ""; } diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/base/BaseController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/base/BaseController.java index 4ca648dff..990908771 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/base/BaseController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/base/BaseController.java @@ -5,10 +5,12 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import com.iformall.common.ErrorCode; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.base.TenantEntity; import com.iformall.douyin.miniapp.api.TtMaService; +import com.iformall.exception.MallinkException; import com.iformall.service.WxAppinfoService; import com.iformall.shiro.UserSession; import com.iformall.utils.Constant; @@ -117,7 +119,7 @@ public class BaseController { /** * 处理集团新增修改所需租户信息(各广场和集团独立修改) - * ifParentUpdateTenantInfo + * ifParentUpdateAloneTenantInfo */ public TenantEntity ifParentUpdateAloneTenantInfo(){ TenantEntity info = this.getTenantInfo(); @@ -128,8 +130,24 @@ public class BaseController { if(getUser().getTenantId().equals(info.getTenantId())){ return info; } - new Exception("权限不足,只能独立操作"); - return null; + throw new MallinkException(ErrorCode.USER_NO_PERMISSION); + } + + /** + * 只有集团能操作 + * ifParentTenantInfoAlone + */ + public TenantEntity ifParentTenantInfoAlone(){ + TenantEntity info = this.getTenantInfo(); + if(StringUtils.isBlank(info.getTenantId())){ + info.setTenantId(info.getParentTenantId()); + info.setParentTenantId(null); + + if(getUser().getParentTenantId().equals(info.getTenantId())){ + return info; + } + } + throw new MallinkException(ErrorCode.USER_NO_PERMISSION); } /** diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java index 83a9fb528..7a97516dd 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java @@ -161,7 +161,7 @@ public class WechatLoginController extends BaseController { MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); info.protectInfos(); String menus = mallUserRoleService.getPermissionsByUser(info); - if(menus != null) { + if(StringUtils.isNotBlank(menus)) { info.setMenus(menus); } WxMall mall = mallService.getByTenantInfo(info); @@ -331,7 +331,7 @@ public class WechatLoginController extends BaseController { MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); info.protectInfos(); String menus = mallUserRoleService.getPermissionsByUser(info); - if(menus != null) { + if(StringUtils.isNotBlank(menus)) { info.setMenus(menus); } Map ret = new HashMap<>(); diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java index 3d08f4570..5e11e09ca 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java @@ -69,7 +69,7 @@ public class TtCouponController extends BaseController { public ResultData list(@ModelAttribute TtCoupon record, Integer pageNum, Integer pageSize, Integer dataType) { logger.debug("[" + getIpAddr() + "] TtCouponController::list"); if (record == null) record = new TtCoupon(); - record.updateTenantInfo(getTenantInfo()); + record.updateTenantInfo(ifParentUpdateTenantInfo()); // if(record.getType() == null || record.getType().equals(EnumTtCouponType.COUPON_SINGLE.getCode())){ // record.setType(EnumTtCouponType.COUPON_SINGLE.getCode()); // }else{ @@ -93,7 +93,7 @@ public class TtCouponController extends BaseController { if(record == null){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } - TenantEntity tenantEntity = getTenantInfo(); + TenantEntity tenantEntity = ifParentUpdateAloneTenantInfo(); record.updateTenantInfo(tenantEntity); if(record.getId() != null){ @@ -198,7 +198,7 @@ public class TtCouponController extends BaseController { if (record.getId() == null) { return new ResultData(ResultData.ERROR, "缺少id"); } - TenantEntity tenantEntity = getTenantInfo(); + TenantEntity tenantEntity = ifParentUpdateAloneTenantInfo(); record.updateTenantInfo(tenantEntity); TtCoupon coupon = ttCouponService.getById(record.getId()); @@ -317,6 +317,7 @@ public class TtCouponController extends BaseController { if (id == null) { return new ResultData(ResultData.ERROR, "缺少id"); } + ifParentTenantInfoAlone(); return ttCouponService.auditPass(id); } @@ -329,6 +330,7 @@ public class TtCouponController extends BaseController { if (record.getId() == null) { return new ResultData(ResultData.ERROR, "缺少id"); } + ifParentTenantInfoAlone(); return ttCouponService.auditRejected(record.getId()); } diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java index 1551ff002..62cf8df73 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtOrderController.java @@ -51,7 +51,7 @@ public class TtOrderController extends BaseController { if (order == null){ order = new TtOrder(); } - order.updateTenantInfo(getTenantInfo()); + order.updateTenantInfo(ifParentUpdateTenantInfo()); return new ResultData(ttOrderService.listAsPage(order, pageNum, pageSize)); } diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/BaseController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/BaseController.java index add0d03b6..8e1b0f85e 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/BaseController.java +++ b/mallinkTTCApi/src/main/java/com/iformall/controller/BaseController.java @@ -74,6 +74,10 @@ public class BaseController { }); } + /** + * 用于用户 + * @return + */ public TenantEntity getTenantInfo() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String tenantId = (String) request.getAttribute(Constant.TENANT_ID); @@ -84,6 +88,17 @@ public class BaseController { return tenantEntity; } + /** + * 用于查询内容(集团) + * @return + */ + public TenantEntity getParentTenantInfo() { + TenantEntity tenantInfo = this.getTenantInfo(); + TenantEntity tenantEntity = new TenantEntity() ; + tenantEntity.setParentTenantId(tenantInfo.getTenantId()); + return tenantEntity; + } + public TtMaService getWeappServiceByAppInfo(WxAppinfo appinfo) { TtMaService ttMaService = MaUtil.getTtappService(appinfo); if (StringUtils.isBlank(appinfo.getAccessToken())) { diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java index 34e2f36c3..d4bfc13f6 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java +++ b/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java @@ -53,6 +53,7 @@ public class TtCouponController extends BaseController { public ResultData list(@ModelAttribute TtCoupon record, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] TtCouponController::list"); if (record == null) record = new TtCoupon(); + record.updateTenantInfo(getParentTenantInfo()); record.setStatus(EnumTtCouponStatus.TTCOUPON_STATUS_SHELFING.getCode()); if(StringUtils.isNotBlank(record.getSortColumn())){ String coryColumn = "c."+record.getSortColumns(); @@ -161,6 +162,7 @@ public class TtCouponController extends BaseController { public ResultData collectList(@ModelAttribute TtCoupon record, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] TtCouponController::collectList"); if (record == null) record = new TtCoupon(); + record.updateTenantInfo(getParentTenantInfo()); Long memberId; try { memberId = getMemberId(); diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java index e81d50663..8e096dd23 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java +++ b/mallinkTTCApi/src/main/java/com/iformall/controller/TtOrderController.java @@ -45,19 +45,20 @@ public class TtOrderController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), }) - public ResultData list(@ModelAttribute TtOrder order, Integer pageNum, Integer pageSize) { + public ResultData list(@ModelAttribute TtOrder record, Integer pageNum, Integer pageSize) { // c端用户应该只能看到自己的订单 - if (order == null){ - order = new TtOrder(); + if (record == null){ + record = new TtOrder(); } + record.updateTenantInfo(getParentTenantInfo()); Long memberId; try { memberId = getMemberId(); } catch (MallinkException e) { return new ResultData(e.getErrorCode(), e.getMessage()); } - order.setCUserId(memberId); - return new ResultData(ttOrderService.listCAsPage(order, pageNum, pageSize)); + record.setCUserId(memberId); + return new ResultData(ttOrderService.listCAsPage(record, pageNum, pageSize)); } @ApiOperation(value = "下订单", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}") diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java index 1acafb6da..7daa5426c 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java +++ b/mallinkTTCApi/src/main/java/com/iformall/controller/TtUserGrantController.java @@ -320,7 +320,6 @@ public class TtUserGrantController extends BaseController { @ApiOperation(value = "授权后获取用户的手机号", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}") public ResultData getUserPhone(@RequestBody Map map) { logger.info(map.toString()); - TenantEntity tenantEntity = getTenantInfo(); String encryptedData = map.get("encryptedData"); String iv = map.get("iv"); diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java index 4490807e4..2debf2b44 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java +++ b/mallinkTTCApi/src/main/java/com/iformall/controller/WxMerchantController.java @@ -43,7 +43,7 @@ public class WxMerchantController extends BaseController { public ResultData list(@ModelAttribute WxMerchantDto wxMerchantDto, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); if (null == wxMerchantDto) wxMerchantDto = new WxMerchantDto(); -// wxMerchantDto.updateTenantInfo(getTenantInfo()); + wxMerchantDto.updateTenantInfo(getParentTenantInfo()); wxMerchantDto.setMerchantStatus(EnumMerchantStatus.VALID.getCode()); wxMerchantDto.setIsPublic(EnumMerchantPublic.PUBLIC.getCode()); return new ResultData(wxMerchantService.listAsPageCVo(wxMerchantDto, pageNum, pageSize)); @@ -57,7 +57,7 @@ public class WxMerchantController extends BaseController { public ResultData listV1(@ModelAttribute WxMerchant merchant, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxMerchantController::list"); if (null == merchant) merchant = new WxMerchant(); -// merchant.updateTenantInfo(getTenantInfo()); + merchant.updateTenantInfo(getParentTenantInfo()); merchant.setStatus(EnumMerchantStatus.VALID.getCode()); merchant.setIsPublic(EnumMerchantPublic.PUBLIC.getCode()); return new ResultData(wxMerchantService.listAsPage(merchant, pageNum, pageSize)); @@ -128,6 +128,7 @@ public class WxMerchantController extends BaseController { public ResultData followList(@ModelAttribute WxMerchant record, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxMerchantController::followList"); if (record == null) record = new WxMerchant(); + record.updateTenantInfo(getParentTenantInfo()); Long memberId; try { memberId = getMemberId();