Kaynağa Gözat

开户缓存key加上站点id和客户id

wangli 4 yıl önce
ebeveyn
işleme
7419e99edc

+ 9 - 3
smart-city-platform/src/main/java/com/bz/smart_city/controller/pay/archives/PayBaseCustomerandmeterrelaController.java

@@ -120,8 +120,11 @@ public class PayBaseCustomerandmeterrelaController {
             paySaveCustomerDto.getFixedamount()); */
         int result = payBaseCustomerandmeterrelaService.saveCustomer(paySaveCustomerDto);
         if(result >0 ){
+            LoginUser loginUser = UserUtil.getCurrentUser();
+            String siteId = loginUser != null && loginUser.getSiteId() != null?loginUser.getSiteId().toString():"0";
+            String customerId = loginUser != null && loginUser.getCustomerId() != null?loginUser.getCustomerId().toString():"0";
             //开户成功后缓存开户信息,下次开户获取其中下拉项
-            redisUtil.set("SaveCustomerCache"+UserUtil.getCurrentUser().getId(), JSONObject.toJSONString(paySaveCustomerDto));
+            redisUtil.set("SaveCustomerCache"+"_"+siteId+"_"+customerId+"_"+UserUtil.getCurrentUser().getId(), JSONObject.toJSONString(paySaveCustomerDto));
 
             return new AjaxMessage<>(ResultStatus.OK, result);
         }else{
@@ -132,10 +135,13 @@ public class PayBaseCustomerandmeterrelaController {
     @PostMapping("/getCustomerCache")
     @ApiOperation(value = "计费系统-获取开户缓存")
     public AjaxMessage<PaySaveCustomerDto> getCustomerCache(){
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        String siteId = loginUser != null && loginUser.getSiteId() != null?loginUser.getSiteId().toString():"0";
+        String customerId = loginUser != null && loginUser.getCustomerId() != null?loginUser.getCustomerId().toString():"0";
         PaySaveCustomerDto CustomerCache= new PaySaveCustomerDto();
-        if(redisUtil.exists("SaveCustomerCache"+UserUtil.getCurrentUser().getId())){
+        if(redisUtil.exists("SaveCustomerCache"+"_"+siteId+"_"+customerId+"_"+UserUtil.getCurrentUser().getId())){
 
-            String redisString = redisUtil.get("SaveCustomerCache"+UserUtil.getCurrentUser().getId());
+            String redisString = redisUtil.get("SaveCustomerCache"+"_"+siteId+"_"+customerId+"_"+UserUtil.getCurrentUser().getId());
             CustomerCache =JSONObject.parseObject(redisString,PaySaveCustomerDto.class);
         }else{
             CustomerCache.setCalculateway(1);