Merge #119 into master from cc_20260508_open_store_req
门店新开店需求7&主数据需求2
* cc_20260508_open_store_req: (4 commits squashed)
- fix:未开业门店试营业日期
- fix:开业日期报备不同步门店状态
- fix:修改门店开业日期判断条件修改
- Merge branch 'master' into cc_20260508_open_store_req
# Conflicts:
#	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java
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/119
This commit is contained in:
@@ -10,6 +10,8 @@ import com.cool.store.dao.bonus.BonusDistributionRuleDAO;
|
||||
import com.cool.store.dao.tp.TpApplyFormDAO;
|
||||
import com.cool.store.dao.wallet.WalletTradeDAO;
|
||||
import com.cool.store.dto.*;
|
||||
import com.cool.store.dto.store.StoreExtendSoftOpenDTO;
|
||||
import com.cool.store.dto.store.StoreMasterIssueDTO;
|
||||
import com.cool.store.dto.store.StoreOrderTimeDTO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.entity.bonus.BonusDistributionRuleDO;
|
||||
@@ -27,9 +29,11 @@ import com.cool.store.mq.producer.SimpleMessageService;
|
||||
import com.cool.store.mq.util.HttpRestTemplateService;
|
||||
import com.cool.store.request.ZxjpApiRequest;
|
||||
import com.cool.store.request.bigdata.LatestOrderDateRequest;
|
||||
import com.cool.store.request.storeopen.StoreDailyNonOpenMissingRequest;
|
||||
import com.cool.store.request.tp.TpApplyQueryRequest;
|
||||
import com.cool.store.request.close.store.CloseStoreApplyRequest;
|
||||
import com.cool.store.response.bigdata.LatestOrderDateResponse;
|
||||
import com.cool.store.response.storeopen.StoreDailyNonOpenMissingResponse;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.service.bonus.BonusService;
|
||||
import com.cool.store.service.close.CloseStoreRefundService;
|
||||
@@ -151,6 +155,8 @@ public class XxlJobHandler {
|
||||
BonusService bonusService;
|
||||
@Resource
|
||||
CloseStoreInfoDAO closeStoreInfoDAO;
|
||||
@Resource
|
||||
ThirdStoreOpenDataService thirdStoreOpenDataService;
|
||||
|
||||
private static final DateTimeFormatter MONTH_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
@@ -869,4 +875,58 @@ public class XxlJobHandler {
|
||||
XxlJobHelper.handleFail("执行失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 未开业门店
|
||||
*/
|
||||
@XxlJob("softOpenDate")
|
||||
public void softOpenDate() {
|
||||
MDCUtils.put(CommonConstants.REQUEST_ID, UUID.randomUUID().toString());
|
||||
log.info("------start softOpenDate------");
|
||||
try {
|
||||
int pageNum = 1, pageSize = CommonConstants.BATCH_SIZE;
|
||||
boolean hasNext = true;
|
||||
List<StoreExtendSoftOpenDTO> updateList = new ArrayList<>();
|
||||
while (hasNext) {
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<StoreDO> storeList = storeDao.getExistStoreNumStore(Collections.singletonList(StoreStatusEnum.NOT_OPEN.getValue()));
|
||||
if (CollectionUtils.isEmpty(storeList)) {
|
||||
break;
|
||||
}
|
||||
hasNext = storeList.size() >= pageSize;
|
||||
Map<String, String> storeMap = CollStreamUtil.toMap(storeList, StoreDO::getStoreNum, StoreDO::getStoreId);
|
||||
StoreDailyNonOpenMissingRequest request = new StoreDailyNonOpenMissingRequest();
|
||||
request.setShopSns(new ArrayList<>(storeMap.keySet()));
|
||||
List<StoreDailyNonOpenMissingResponse> responses = thirdStoreOpenDataService.getDailyNonOpenMissing(request);
|
||||
if (CollectionUtils.isNotEmpty(responses)) {
|
||||
List<StoreExtendSoftOpenDTO> list = CollStreamUtil.toList(responses, v -> {
|
||||
try {
|
||||
return new StoreExtendSoftOpenDTO(storeMap.get(v.getShopSn()), DateUtils.parseDate(v.getDate(), "yyyy-MM-dd"));
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
updateList.addAll(list);
|
||||
}
|
||||
pageNum++;
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(updateList)) {
|
||||
storeDao.insertOrUpdateSoftOpenDate(updateList);
|
||||
List<String> storeIds = CollStreamUtil.toList(updateList, StoreExtendSoftOpenDTO::getStoreId);
|
||||
// 修改门店状态
|
||||
storeDao.updateStatusBatch(storeIds, StoreStatusEnum.OPEN.getValue());
|
||||
// 主数据下发
|
||||
try {
|
||||
StoreMasterIssueDTO storeMasterIssueDTO = new StoreMasterIssueDTO(eid, storeIds);
|
||||
simpleMessageService.send(JSONObject.toJSONString(storeMasterIssueDTO), RocketMqTagEnum.STORE_MASTER_ISSUE);
|
||||
} catch (Exception e) {
|
||||
log.error("mq通知主应用下发门店主数据失败");
|
||||
}
|
||||
}
|
||||
log.info("------end softOpenDate------");
|
||||
} catch (Exception e) {
|
||||
log.error("softOpenDate执行失败", e);
|
||||
XxlJobHelper.handleFail("执行失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user