Authored by Lixiaodi

增加删除缓存

... ... @@ -4,16 +4,24 @@ import com.alibaba.fastjson.JSONObject;
import com.yohobuy.ufo.model.order.bo.DepositDetailBo;
import com.yohobuy.ufo.model.order.bo.DepositProductBo;
import com.yohobuy.ufo.model.order.resp.PageResp;
import com.yohobuy.ufo.model.request.product.ProductRequestBo;
import com.yohoufo.common.ApiResponse;
import com.yohoufo.common.annotation.IgnoreSession;
import com.yohoufo.common.annotation.IgnoreSignature;
import com.yohoufo.common.cache.Cachable;
import com.yohoufo.common.cache.ControllerCacheAop;
import com.yohoufo.dal.product.model.StoragePrice;
import com.yohoufo.order.service.DepositService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
@RestController
... ... @@ -22,6 +30,9 @@ public class DepositController {
private final Logger LOG = LoggerFactory.getLogger(this.getClass());
@Autowired
private ControllerCacheAop cacheAop;
@Autowired
private DepositService depositService;
@RequestMapping(params = "method=ufo.deposit.queryUserDoposit")
... ... @@ -112,4 +123,32 @@ public class DepositController {
return new ApiResponse.ApiResponseBuilder().code(200).data(count).build();
}
@RequestMapping("/deposit/clearUserDepositCache")
@IgnoreSignature
@IgnoreSession
public ApiResponse clearUserDepositCache(@RequestBody DepositDetailBo bo) {
Integer uid = bo.getOwnerUid();
Integer productId = bo.getProductId();
Integer storageId = bo.getStorageId();
LOG.info("in clearUserDepositCache bo={}", bo);
try {
Method queryUserDoposit = DepositController.class.getMethod("queryUserDoposit", new Class[]{Integer.class, Integer.class, Integer.class});
cacheAop.clearCache(queryUserDoposit, new Object[]{uid, 0, 0});
Method queryUserDopositBackDetail = DepositController.class.getMethod("queryUserDopositBackDetail", new Class[]{Integer.class, Integer.class, Integer.class});
cacheAop.clearCache(queryUserDopositBackDetail, new Object[]{uid, 0, 0});
Method queryUserDopositing = DepositController.class.getMethod("queryUserDopositing", new Class[]{Integer.class, Integer.class, Integer.class, Integer.class});
cacheAop.clearCache(queryUserDopositBackDetail, new Object[]{uid, productId, 0, 0});
Method queryUserStorageOffCount = DepositController.class.getMethod("queryUserStorageOffCount", new Class[]{Integer.class, Integer.class});
cacheAop.clearCache(queryUserStorageOffCount, new Object[]{uid, storageId});
Method queryUserStorageCount = DepositController.class.getMethod("queryUserStorageCount", new Class[]{Integer.class});
cacheAop.clearCache(queryUserStorageCount, new Object[]{uid});
} catch (Exception e) {
LOG.error("删除用户寄存缓存失败!", e);
}
return new ApiResponse(200, "缓存清除成功!", Boolean.TRUE);
}
}
... ...