Merge #140 into master from cc_20260513_minor_req

闭店H5新增闭店接口&私域二维码缓存时间延长

* cc_20260513_minor_req: (2 commits squashed)

  - fix:私域二维码新增SN反向映射关系

  - fix:新增pc闭店申请发起接口

Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/140
This commit is contained in:
王非凡
2026-05-18 09:30:59 +00:00
committed by 正新
parent 451b95f909
commit e6bcfac086
9 changed files with 61 additions and 28 deletions

View File

@@ -31,13 +31,6 @@ public interface CloseStoreService {
*/
Boolean reApplyCloseStore(ReCloseStoreApplyRequest request);
/**
* 第三方申请闭店
* @param request 三方闭店申请Request
* @return 是否成功
*/
Boolean thirdApplyCloseStore(ThirdCloseStoreApplyRequest request);
/**
* 审批通过
* @param request 闭店申请审批Request

View File

@@ -98,13 +98,8 @@ public class CloseStoreServiceImpl implements CloseStoreService {
}
String userId, userName;
if (CloseTypeEnum.INITIATE.getCloseType().equals(request.getCloseType())) {
// 主动发起的申请人为加盟商从C端登录用户信息中获取
PartnerUserInfoVO user = PartnerUserHolder.getUser();
userId = user.getPartnerId();
userName = user.getUsername();
if (StringUtils.isBlank(userName)) {
userName = user.getMobile();
}
userId = request.getUserId();
userName = request.getUserName();
} else {
userId = AIEnum.AI_ID.getCode();
userName = AIEnum.AI_NAME.getCode();
@@ -139,21 +134,12 @@ public class CloseStoreServiceImpl implements CloseStoreService {
.reasonDescription(closeStoreInfoDO.getReasonDescription())
.closeType(closeStoreInfoDO.getCloseType())
.storeId(closeStoreInfoDO.getStoreId())
.userId(request.getUserId())
.userName(request.getUserName())
.build();
return applyCloseStore(applyRequest);
}
@Override
@Transactional
public Boolean thirdApplyCloseStore(ThirdCloseStoreApplyRequest request) {
StoreDO storeDO = storeDao.getByStoreNum(request.getStoreNum());
if (Objects.isNull(storeDO)) {
throw new ServiceException(ErrorCodeEnum.STORE_NOT_EXIST);
}
CloseStoreApplyRequest closeRequest = request.convert(storeDO.getStoreId());
return applyCloseStore(closeRequest);
}
@Override
@Transactional
public Boolean auditPass(CloseStoreAuditRequest request) {

View File

@@ -42,9 +42,13 @@ public class PrivateSphereQrServiceImpl implements PrivateSphereQrService {
*/
private static final int QR_CODE_SIZE = 1280;
/**
* sn缓存时间
* sn和门店绑定关系缓存时间
*/
private static final int SN_CACHE_TIME = 86400 * 7;
private static final int SN_CACHE_TIME = 86400 * 30;
/**
* sn二维码缓存时间
*/
private static final int SN_RQ_LIMIT_TIME = 86400;
/**
* IP限制时间1小时
*/
@@ -66,7 +70,7 @@ public class PrivateSphereQrServiceImpl implements PrivateSphereQrService {
try {
String qrCodeUrl = generateAndUploadQrCode(request.getSn());
// 存储到Redis
redisUtilPool.hashSet(RedisConstant.PRIVATE_SN_QR_CODE, request.getSn(), qrCodeUrl, SN_CACHE_TIME);
redisUtilPool.hashSet(RedisConstant.PRIVATE_SN_QR_CODE, request.getSn(), qrCodeUrl, SN_RQ_LIMIT_TIME);
log.info("生成二维码并上传成功sn: {}, url: {}", request.getSn(), qrCodeUrl);
return new PrivateSphereVO(qrCodeUrl);
} catch (Exception e) {
@@ -91,7 +95,12 @@ public class PrivateSphereQrServiceImpl implements PrivateSphereQrService {
@Override
public Boolean bindStoreSn(PrivateSphereBindRequest request) {
String oldSn = redisUtilPool.hashGet(RedisConstant.PRIVATE_STORE_SN_REVERSE, request.getStoreId());
if (StringUtils.isNotBlank(oldSn)) {
redisUtilPool.hashDel(RedisConstant.PRIVATE_STORE_SN_BIND, oldSn);
}
redisUtilPool.hashSet(RedisConstant.PRIVATE_STORE_SN_BIND, request.getSn(), request.getStoreId(), SN_CACHE_TIME);
redisUtilPool.hashSet(RedisConstant.PRIVATE_STORE_SN_REVERSE, request.getStoreId(), request.getSn(), SN_CACHE_TIME);
return true;
}