diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java index 2f11975a4..b442882e7 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -1,6 +1,7 @@ package com.iformall.controller; 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.WxCUserBasicInfo; @@ -8,7 +9,10 @@ import com.iformall.domain.po.WxCreditHistory; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.vo.WxCreditHistoryVo; +import com.iformall.domain.vo.WxMerchantVo; import com.iformall.enums.EnumUserType; +import com.iformall.enums.EnumYesOrNo; +import com.iformall.exception.MallinkException; import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCreditHistoryService; import com.iformall.service.WxMerchantService; @@ -44,6 +48,14 @@ public class WxCreditHistoryController extends BaseController { @ApiImplicitParam(name="spend",value="消费金额",dataType="int", paramType = "query",required=true)}) public ResultData findByMerchantIdAndSpend(@RequestParam Long merchantId, @RequestParam String spendStr) { log.debug("[" + getIpAddr() + "] WxCreditHistoryController::findByMerchantIdAndSpend"); + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setStatus(EnumYesOrNo.YES.getCode()); + wxMerchant.setId(getUser().getMerchantId()); + wxMerchant = wxMerchantService.findOne(wxMerchant); + //普通商户只允许查询自己的消费金额所增加的积分 + if (wxMerchant.getIsAdmin() != EnumYesOrNo.YES.getCode() && merchantId.longValue() != getUser().getMerchantId().longValue()) { + throw new MallinkException(ErrorCode.USER_NO_PERMISSION); + } return new ResultData(wxCreditHistoryService.findByMerchantIdAndSpend(merchantId,spendStr,getTenantId())); } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumYesOrNo.java b/mallinkService/src/main/java/com/iformall/enums/EnumYesOrNo.java new file mode 100644 index 000000000..d8d27df38 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumYesOrNo.java @@ -0,0 +1,33 @@ +package com.iformall.enums; + +public enum EnumYesOrNo { + + YES(1, "是"), + NO(0, "否"), + ; + + public static EnumYesOrNo getEnum(Integer code) { + for (EnumYesOrNo value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumYesOrNo(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index 7a739c49f..fc2378b17 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java @@ -82,4 +82,6 @@ public interface WxMerchantService { WxMerchantVo findMerchantById(Long id); + WxMerchant findOne(WxMerchant wxMerchant); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index f2f517a05..605fe4544 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -560,4 +560,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { List listCVo = wxMerchantMapper.findListCVo(merchant); return listCVo.isEmpty() ? new WxMerchantVo() : listCVo.get(0); } + + @Override + public WxMerchant findOne(WxMerchant wxMerchant) { + return wxMerchantMapper.selectOne(wxMerchant); + } }