收货地址缓存

master
litao 2 years ago
parent 8bc179ba2f
commit 6493d282d2
  1. 46
      src/main/java/org/springblade/common/cache/AddressCache.java
  2. 4
      src/main/java/org/springblade/modules/weixin/controller/WeChatAddressController.java
  3. 2
      src/main/java/org/springblade/modules/weixin/service/IWeChatAddressService.java
  4. 5
      src/main/java/org/springblade/modules/weixin/service/impl/WeChatAddressServiceImpl.java
  5. 3
      src/main/java/org/springblade/modules/weixin/utils/WxPayUtils.java

@ -0,0 +1,46 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package org.springblade.common.cache;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.modules.weixin.entity.WeChatAddress;
import org.springblade.modules.weixin.service.IWeChatAddressService;
import static org.springblade.core.cache.constant.CacheConstant.DEFAULT_CACHE;
/**
* 收货地址缓存
* @author Chill
*/
public class AddressCache {
private static final String WX_ADDRESS = "vx:address:";
private static final IWeChatAddressService wechatAddressService;
static {
wechatAddressService = SpringUtil.getBean(IWeChatAddressService.class);
}
/**
* 获取用户默认收货地址
*/
public static WeChatAddress getAddress(String phone) {
return CacheUtil.get(DEFAULT_CACHE, WX_ADDRESS, phone, () -> wechatAddressService.getAddress(phone));
}
}

@ -3,6 +3,7 @@ package org.springblade.modules.weixin.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@ -12,6 +13,8 @@ import org.springblade.modules.weixin.entity.WeChatUser;
import org.springblade.modules.weixin.service.IWeChatAddressService;
import org.springframework.web.bind.annotation.*;
import static org.springblade.core.cache.constant.CacheConstant.DEFAULT_CACHE;
@RestController
@AllArgsConstructor
@RequestMapping("/address")
@ -31,6 +34,7 @@ public class WeChatAddressController {
@PostMapping("/update")
public R update(@RequestBody WeChatAddress weChatAddress) {
CacheUtil.clear(DEFAULT_CACHE);
return R.status(weChatAddressService.edit(weChatAddress));
}

@ -33,4 +33,6 @@ public interface IWeChatAddressService extends BaseService<WeChatAddress> {
boolean add(WeChatAddress weChatAddress);
boolean edit(WeChatAddress weChatAddress);
WeChatAddress getAddress(String phone);
}

@ -68,4 +68,9 @@ public class WeChatAddressServiceImpl extends BaseServiceImpl<WeChatAddressMappe
return this.updateById(weChatAddress);
}
@Override
public WeChatAddress getAddress(String phone) {
return this.getOne(Wrappers.<WeChatAddress>lambdaQuery().eq(WeChatAddress::getPhone, phone).eq(WeChatAddress::getIsDefault, 1));
}
}

@ -110,9 +110,6 @@ public class WxPayUtils {
//完成签名并执行请求
CloseableHttpResponse response = null;
try {
if (httpClient == null) {
httpClient = SpringUtil.getBean(CloseableHttpClient.class);
}
response = httpClient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) {

Loading…
Cancel
Save