Merge #128 into master from cc_20250512_uploadRentContract

feat:租赁合同新增审批记录

* cc_20250512_uploadRentContract: (100 commits squashed)

  - fix:计划闭店时间修改

  - Merge branch 'cc_20250922_closeStore_w' into cc_20250514_common_bak

  - feat:新签调整

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java

  - fix:闭店信息新增初审、复审、终审时间字段;闭店管理列表新增返回字段

  - Merge branch 'cc_20250922_closeStore_w' into cc_20250514_common_bak

  - feat:招商

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/UserRoleEnum.java

  - feat:招商

  - feat:招商

  - feat:招商

  - fix:删除字段

  - Merge branch 'cc_20250922_closeStore_w' into cc_20250514_common_bak

  - feat:招商

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - Merge remote-tracking branch 'origin/cc_20250514_common_bak' into cc_20250514_common_bak

  - feat:数据同步 名称新增MX 等前缀

  - feat:上海魔盒未来食品有限公司

  - fix:修改查询逻辑

  - Merge branch 'cc_20260428_store_report' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java

  - feat:id

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - Merge remote-tracking branch 'origin/cc_20250514_common_bak' into cc_20250514_common_bak

  - Merge branch 'cc_20260507_smz' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java

  - Merge remote-tracking branch 'origin/cc_20250514_common_bak' into cc_20250514_common_bak

  - feat:翻新

  - feat:用户列表为空

  - Merge branch 'cc_20260427_rnewal' into cc_20250514_common_bak

  - feat:用户列表为空

  - Merge branch 'cc_20260427_rnewal' into cc_20250514_common_bak

  - feat:RenewalRenovateApprovalVO

  - Merge branch 'cc_20260427_rnewal' into cc_20250514_common_bak

  - feat:招商副总裁

  - Merge branch 'cc_20260427_rnewal' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java

  - feat:招商副总裁审核

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - feat:费用单调整

  - feat:招商经理

  - feat:招商经理

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - feat:费用调整

  - Merge branch 'master' into cc_20260226_fix

  - fix:bug修复

  - fix:未开业门店试营业日期

  - Merge branch 'cc_20260508_open_store_req' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java

  - feat:新增审批

  - fix:开业日期报备不同步门店状态

  - Merge branch 'cc_20260508_open_store_req' into cc_20250514_common_bak

  - fix:字段名称修改

  - Merge branch 'cc_20250922_closeStore_w' into cc_20250514_common_bak

  - fix:闭店中止新增审批记录

  - Merge branch 'cc_20250922_closeStore_w' into cc_20250514_common_bak

  - feat:费用调整单

  - feat:招商大区总审核 或者 分部内勤审核 其他状态不能审核

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - feat:调整单

  - feat:SHOP_SUB_STAGE_STATUS_150_5

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - fix:试营业测试接口

  - Merge remote-tracking branch 'origin/cc_20250514_common_bak' into cc_20250514_common_bak

  - Merge branch 'master' into cc_20250514_common_bak

  - feat:page

  - feat:自动分账

  - Merge branch 'master' into cc_20250514_common_bak

  - fix:私域二维码门店绑定关系缓存改为7天

  - Merge branch 'cc_20260226_fix' into cc_20250514_common_bak

  - feat:getAuthRegionIdAndSubRegionIdExcludeStoreByUserId 优化开店管理查询

  - Merge branch 'cc_20260509_fix' into cc_20250514_common_bak

  - fix:修改门店开业日期判断条件修改

  - Merge branch 'cc_20260508_open_store_req' into cc_20250514_common_bak

  - feat:填写添加门店

  - feat:建店代办处理

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - Merge branch 'cc_20260508_adjustment' into cc_20250514_common_bak

  - feat:userAuthMappingService

  - feat:addShopDecorationLog

  - Merge branch 'cc_20260506_newsign' into cc_20250514_common_bak

  - feat:待采购确认 审批流程

  - feat:问题修复

  - Merge branch 'cc_20260511_fix' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java

  - feat:问题修复

  - feat:问题修复

  - feat:流水查询条件

  - Merge branch 'master' into cc_20260508_adjustment

  - feat:费用流水筛选条件

  - fix:歇业管理逻辑修改

  - Merge branch 'cc_20260508_adjustment' into cc_20250514_common_bak

  - feat:getAdjustAmount

  - Merge branch 'cc_20260511_close_up_modify' into cc_20260408_close_up
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/closeup/CloseUpPlatformEnum.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/closeup/CloseUpPlatformDAO.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/closeup/CloseUpPlatformMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml
    #	coolstore-partner-dao/src/main/resources/mapper/closeup/CloseUpApplyFormMapper.xml
    #	coolstore-partner-dao/src/main/resources/mapper/closeup/CloseUpPlatformMapper.xml
    #	coolstore-partner-model/src/main/java/com/cool/store/entity/closeup/CloseUpApplyFormDO.java
    #	coolstore-partner-model/src/main/java/com/cool/store/entity/closeup/CloseUpPlatformDO.java
    #	coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/ConsumerClient.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/closeup/CloseUpService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/closeup/impl/CloseUpServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java
    #	coolstore-partner-web/src/main/resources/application-ab.properties
    #	coolstore-partner-web/src/main/resources/application-local.properties
    #	coolstore-partner-web/src/main/resources/application-online.properties
    #	coolstore-partner-web/src/main/resources/application-test.properties

  - fix:合并冲突

  - Merge branch 'cc_20260408_close_up' into cc_20250514_common_bak
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/closeup/impl/CloseUpServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java

  - fix:合并冲突

  - Merge branch 'cc_20260508_adjustment' into cc_20250514_common_bak

  - Merge branch 'master' into cc_20260408_close_up

  - fix:火码歇业时机修改

  - Merge branch 'cc_20260408_close_up' into cc_20250514_common_bak

  - feat:租赁合同新增审批记录

  - Merge branch 'master' into cc_20250512_uploadRentContract
    
    # Conflicts:
    #	coolstore-partner-service/src/main/java/com/cool/store/service/closeup/impl/CloseUpServiceImpl.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java

  - feat:merge冲突

  - feat:merge冲突

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

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/128
This commit is contained in:
正新
2026-05-12 09:01:35 +00:00
parent 56b85c3322
commit 20f063dc55
325 changed files with 14065 additions and 264 deletions

View File

@@ -8,6 +8,7 @@ import com.cool.store.response.ResponseResult;
import com.cool.store.response.bigdata.ApiResponse;
import com.cool.store.utils.OpenSignatureUtil;
import com.cool.store.utils.RsaSignUtil;
import com.cool.store.utils.StringUtil;
import com.cool.store.utils.UUIDUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -59,7 +60,7 @@ public class OpenApiValidateFilter implements Filter {
private static final List<String> oldUrlMapping = new ArrayList<>(Arrays.asList(
"/zxjp/open/v1/statusRefresh","/zxjp/open/v1/changePaymentStatus",
"/zxjp/open/v1/getYlsToken", "/zxjp/open/v1/getStoreList",
"/zxjp/open/v1/changeReceiptStatus", "/zxjp/open/v1/getStoreUser"));
"/zxjp/open/v1/changeReceiptStatus", "/zxjp/open/v1/getStoreUser","/zxjp/open/v1/changeOnlinePayInfo"));
// 添加钱包接口路径前缀常量
private static final String WALLET_API_PATTERN = "^/zxjp/open/v\\d+/wallet/.*$";
@@ -77,6 +78,7 @@ public class OpenApiValidateFilter implements Filter {
}
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
//statusRefresh 放开不需要验签
log.info("openUrl:{}",uri);
if (isWhitelistUri(uri)) {
filterChain.doFilter(servletRequest, response);
return;
@@ -148,14 +150,17 @@ public class OpenApiValidateFilter implements Filter {
String serverSign;
//接口映射 红圈通系统使用新验签, oldUrlMapping接口使用旧的验签模式 后续新增接口都使用新验签
if (oldUrlMapping.contains(uri)) {
log.info("使用旧验签");
serverSign = getOldSign(jsonBody, appKey, timestampStr);
} else {
log.info("使用新验签");
serverSign = getNewSign(jsonBody, appKey, timestampStr);
}
log.info("serverSign{}", serverSign);
if (!serverSign.equalsIgnoreCase(clientSign)) {
log.info("OpenApiValidateFilter==>签名校验失败");
res.setStatus(HttpStatus.OK.value());
res.setCharacterEncoding("UTF-8");
res.getWriter().write(JSON.toJSONString(
@@ -171,11 +176,15 @@ public class OpenApiValidateFilter implements Filter {
private @NotNull String getNewSign(String jsonBody, String appKey, String timestampStr) throws JsonProcessingException {
// 2. 使用 Jackson 解析 JSON 并转为 TreeMap自动按键排序
ObjectMapper objectMapper = new ObjectMapper();
SortedMap<String, Object> params = objectMapper.readValue(
jsonBody,
new TypeReference<TreeMap<String, Object>>() {
}
);
SortedMap<String, Object> params = new TreeMap<>();
if (StringUtil.isNotEmpty(jsonBody)){
params = objectMapper.readValue(
jsonBody,
new TypeReference<TreeMap<String, Object>>() {
}
);
}
params.put("appKey", appKey);
params.put("timestamp", timestampStr);

View File

@@ -95,6 +95,8 @@ public class SignValidateFilter implements Filter {
filterChain.doFilter(servletRequest, servletResponse);
return;
}
String realClientIp = RealIpUtils.getRealClientIp(request);
log.info("realClientIp:{}",realClientIp);
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
HttpServletResponse response = (HttpServletResponse) servletResponse;

View File

@@ -53,8 +53,10 @@ public class TokenValidateFilter implements Filter {
"/zxjp/**/api/audit/result",
"/zxjp/pc/video/**",
"/zxjp/**/api/license",
"/zxjp/pc/third/api/list",
"/zxjp/pc/v3/login/accountLogin",
"/zxjp/pc/v3/login/refreshLogin",
"/zxjp/pc/test/**",
"/zxjp/ws/**",
"/zxjp/pc/v3/login/sendSmsCode",
"/zxjp/pc/v3/login/sendSmsCode/test",

View File

@@ -25,7 +25,7 @@ import java.util.List;
* @description:
* @date 2023/05/15 02:52
*/
@Profile({"local", "test", "pre"})
@Profile({"local", "pre"})
@Configuration
@EnableSwagger2
@EnableKnife4j

View File

@@ -77,4 +77,10 @@ public class AdjustmentOrderController {
public ResponseResult<String> generateSplitOrder(@Valid @RequestBody GenerateSplitOrderRequest request) {
return ResponseResult.success(adjustmentOrderService.generateSplitOrder(request));
}
@PostMapping("/approval")
@ApiOperation("审批调整单")
public ResponseResult<Boolean> approval(@Valid @RequestBody AdjustmentApprovalRequest request) {
return ResponseResult.success(adjustmentOrderService.approval(request));
}
}

View File

@@ -1,6 +1,12 @@
package com.cool.store.controller.webb;
import com.cool.store.dto.close.CloseStoreMkUserDTO;
import com.cool.store.dto.xgj.XgjBranchBankDTO;
import com.cool.store.dto.xgj.XgjPartnerPageDTO;
import com.cool.store.request.close.refund.*;
import com.cool.store.request.xgj.XgjBankQueryRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.ThirdXgjService;
import com.cool.store.request.close.refund.CloseStoreRefundAddRequest;
import com.cool.store.request.close.refund.CloseStoreRefundQueryRequest;
import com.cool.store.request.close.refund.CloseStoreRefundSkipRequest;

View File

@@ -0,0 +1,46 @@
package com.cool.store.controller.webb;
import com.cool.store.request.contract.ContractMasterQueryRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.contract.ContractMasterService;
import com.cool.store.vo.contract.ContractMasterDetailVO;
import com.cool.store.vo.contract.ContractMasterListVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotNull;
@Api(tags = "PC-合同管理")
@RestController
@RequestMapping("/pc/contract/master")
@RequiredArgsConstructor
@Validated
public class ContractMasterController {
private final ContractMasterService contractMasterService;
@ApiOperation("合同列表")
@GetMapping("/list")
public ResponseResult<PageInfo<ContractMasterListVO>> queryContractMasterList(ContractMasterQueryRequest request) {
return ResponseResult.success(contractMasterService.queryContractMasterList(request));
}
@ApiOperation("合同详情")
@GetMapping("/detail")
@ApiImplicitParam(name = "contractId", value = "合同ID", required = true, dataType = "Long", paramType = "query")
public ResponseResult<ContractMasterDetailVO> getContractMasterDetail(@NotNull(message = "合同ID不能为空") Long contractId) {
return ResponseResult.success(contractMasterService.getContractMasterDetail(contractId));
}
@ApiOperation("批量导入合同")
@PostMapping("/import")
public ResponseResult<Boolean> importContractAndCost(@RequestParam("file") MultipartFile file) {
return ResponseResult.success(contractMasterService.importContractAndCost(file));
}
}

View File

@@ -7,6 +7,7 @@ import com.cool.store.request.*;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.ExportService;
import io.swagger.annotations.Api;

View File

@@ -0,0 +1,73 @@
package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.ImportReceivingBankDTO;
import com.cool.store.entity.ImportTaskDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.FileTypeEnum;
import com.cool.store.enums.ImportTaskStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ImportTaskMapper;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.ImportService;
import com.cool.store.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/06/19/10:25
* @Version 1.0
* @注释:
*/
@RestController
@RequestMapping("/pc/import")
@Api("导入")
@Slf4j
public class ImportController {
@Resource
private ImportService importService;
@Resource
private ImportTaskMapper importTaskMapper;
@Value("${mybatis.configuration.variables.enterpriseId}")
private String eid;
@PostMapping("/receivingBank")
@ApiOperation(value = "导入收款银行配置")
public ResponseResult importReceivingBank(MultipartFile file) {
if (file.isEmpty()) {
throw new ServiceException(ErrorCodeEnum.FILE_ERROR);
}
ExcelUtil<ImportReceivingBankDTO> util = new ExcelUtil<>(ImportReceivingBankDTO.class);
List<ImportReceivingBankDTO> importList = new ArrayList<>();
try {
importList = util.importExcel(file.getInputStream(),1);
} catch (Exception e) {
e.printStackTrace();
}
ImportTaskDO importTaskDO = new ImportTaskDO();
importTaskDO.setFileName(file.getOriginalFilename());
importTaskDO.setFileType(FileTypeEnum.RECEIVING_BANK_IMPORT.getFileType());
importTaskDO.setIsImport(true);
importTaskDO.setStatus(ImportTaskStatusEnum.PROGRESS.getCode());
importTaskDO.setCreateUserId(CurrentUserHolder.getUserId());
importTaskDO.setCreateName(CurrentUserHolder.getUser().getName());
importTaskDO.setCreateTime(System.currentTimeMillis());
importTaskMapper.insert(eid, importTaskDO);
importService.importReceivingBank(importList, file.getOriginalFilename(), CurrentUserHolder.getUser().getUserId(), importTaskDO);
return ResponseResult.success(true);
}
}

View File

@@ -8,12 +8,18 @@ import com.cool.store.dto.region.BigRegionDTO;
import com.cool.store.dto.store.StoreUserPositionDTO;
import com.cool.store.dto.wallet.PaymentDTO;
import com.cool.store.dto.wx.MiniProgramFreeLoginDTO;
import com.cool.store.enums.close.CloseTypeEnum;
import com.cool.store.enums.UserRoleEnum;
import com.cool.store.handler.WeChatHandler;
import com.cool.store.enums.close.CloseTypeEnum;
import com.cool.store.request.OpenApiStoreRequest;
import com.cool.store.request.StoreCodeDTO;
import com.cool.store.request.*;
import com.cool.store.request.close.store.ThirdCloseStoreApplyRequest;
import com.cool.store.request.OpenApiStoreRequest;
import com.cool.store.request.StoreCodeDTO;
import com.cool.store.request.close.store.ThirdCloseStoreApplyRequest;
import com.cool.store.request.close.store.ThirdCloseStoreApplyRequest;
import com.cool.store.request.notice.ThirdHandleMessageRequest;
import com.cool.store.request.notice.ThirdMatterRequest;
import com.cool.store.request.openapi.ShopListRequest;
@@ -24,6 +30,7 @@ import com.cool.store.request.wallet.AccountTradeCallbackRequest;
import com.cool.store.request.wallet.AddTagCallbackNoticeRequest;
import com.cool.store.request.wallet.OnlineCommercialBankCallbackRequest;
import com.cool.store.request.xgj.FranchiseFeeCallBackRequest;
import com.cool.store.request.xgj.OnlinePayInfoRequest;
import com.cool.store.request.xgj.ReceiptCallBackRequest;
import com.cool.store.response.RegionResponse;
import com.cool.store.response.ResponseResult;
@@ -32,6 +39,9 @@ import com.cool.store.response.bigdata.ApiResponse;
import com.cool.store.service.*;
import com.cool.store.service.privatesphere.PrivateSphereQrService;
import com.cool.store.service.wallet.WalletService;
import com.cool.store.service.close.CloseStoreService;
import com.cool.store.service.xinfa.XinFaBusinessService;
import com.cool.store.service.xinfa.XinFaDeviceService;
import com.cool.store.service.xinfa.XinFaBusinessService;
import com.cool.store.service.xinfa.XinFaDeviceService;
import com.cool.store.utils.HttpHelper;
@@ -49,6 +59,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* @Author suzhuhong
@@ -77,15 +88,17 @@ public class OpenApiController {
MessageTemplateService messageTemplateService;
@Resource
WechatMiniAppService wechatMiniAppService;
@Resource
CloseStoreService closeStoreService;
@Autowired
WeChatHandler weChatHandler;
@Resource
WalletService walletService;
@Resource
CloseStoreService closeStoreService;
@Resource
ShopService shopService;
@Resource
UserAuthMappingService userAuthMappingService;
@Resource
BigRegionService bigRegionService;
@Resource
RegionService regionService;
@@ -126,6 +139,13 @@ public class OpenApiController {
return openApiService.changeReceiptStatus(request);
}
@ApiOperation("新管家回调 修改线上支付信息")
@PostMapping("/changeOnlinePayInfo")
public ApiResponse<Boolean> changeOnlinePayInfo(@RequestBody @Validated OnlinePayInfoRequest request){
log.info("changeReceiptStatus request{}", JSONObject.toJSONString(request));
return openApiService.changeOnlinePayInfo(request);
}
@ApiOperation("新管家回调 账单收款状态及缴款金额")
@PostMapping("/changePaymentStatus")
public ApiResponse<Boolean> changePaymentStatus(@RequestBody @Validated FranchiseFeeCallBackRequest request){
@@ -281,6 +301,12 @@ public class OpenApiController {
return ResponseResult.success(shopService.getShopNameAndCodeByMobile(request.getMobile(), request.getShopId()));
}
@ApiOperation("大区下指定角色的人 只查直接管辖")
@PostMapping("/getRegionUserList")
public ApiResponse<List<BigRegionUserListDTO>> getAllBigRegionSpecialRoleUserList(@RequestBody StoreCodeRequest storeCodeRequest) {
return userAuthMappingService.getAllBigRegionSpecialRoleUserList(storeCodeRequest.getStoreCode(),UserRoleEnum.DELIVERY_SPECIALIST);
}
@PostMapping("/queryAllBigRegion")
@ApiOperation("获取所有可选择的大区")
public ApiResponse<List<BigRegionDTO>> queryContentInfo(@RequestBody @Validated StoreRequest request) {

View File

@@ -0,0 +1,76 @@
package com.cool.store.controller.webb;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import com.cool.store.dto.exam.*;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.exam.ExamInfoService;
import com.cool.store.vo.exam.ExamInfoListVO;
import com.cool.store.vo.exam.ExamInfoVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* PC端考试管理Controller
*/
@Api(tags = "PC端-考试管理")
@RestController
@RequestMapping("/pc/exam/info")
@RequiredArgsConstructor
public class PCExamInfoController {
private final ExamInfoService examInfoService;
@ApiOperation("创建考试")
@PostMapping("/add")
public ResponseResult<Boolean> addExam(@RequestBody @Validated({InsertGroup.class}) ExamInfoAddDTO dto) {
examInfoService.addExam(dto);
return ResponseResult.success(true);
}
@ApiOperation("编辑考试")
@PostMapping("/edit")
public ResponseResult<Boolean> updateExam(@RequestBody @Validated({UpdateGroup.class}) ExamInfoAddDTO dto) {
examInfoService.updateExam(dto);
return ResponseResult.success(true);
}
@ApiOperation("发布考试")
@PostMapping("/publish")
public ResponseResult<Boolean> publishExam(Long id) {
examInfoService.publishExam(id);
return ResponseResult.success(true);
}
@ApiOperation("结束考试")
@PostMapping("/end")
public ResponseResult<Boolean> endExam(Long id) {
examInfoService.endExam(id);
return ResponseResult.success(true);
}
@ApiOperation("删除考试")
@PostMapping("/delete")
public ResponseResult<Boolean> deleteExam(Long id) {
examInfoService.deleteExam(id);
return ResponseResult.success(true);
}
@ApiOperation("考试列表")
@PostMapping("/list")
public ResponseResult<PageInfo<ExamInfoListVO>> getExamList(@RequestBody ExamInfoListDTO dto) {
PageInfo<ExamInfoListVO> result = examInfoService.getExamList(dto);
return ResponseResult.success(result);
}
@ApiOperation("考试详情")
@GetMapping("/detail/{id}")
public ResponseResult<ExamInfoVO> getExamDetail(@PathVariable Long id) {
ExamInfoVO result = examInfoService.getExamDetail(id);
return ResponseResult.success(result);
}
}

View File

@@ -0,0 +1,62 @@
package com.cool.store.controller.webb;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import com.cool.store.dto.exam.*;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.exam.ExamPaperService;
import com.cool.store.vo.exam.ExamPaperListVO;
import com.cool.store.vo.exam.ExamPaperVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* PC端试卷管理Controller
*/
@Api(tags = "PC端-试卷管理")
@RestController
@RequestMapping("/pc/exam/paper")
@RequiredArgsConstructor
public class PCExamPaperController {
private final ExamPaperService examPaperService;
@ApiOperation("新增试卷")
@PostMapping("/add")
public ResponseResult<Boolean> addPaper(@RequestBody @Validated({InsertGroup.class}) ExamPaperAddDTO dto) {
examPaperService.addPaper(dto);
return ResponseResult.success(true);
}
@ApiOperation("编辑试卷")
@PostMapping("/edit")
public ResponseResult<Boolean> updatePaper(@RequestBody @Validated({UpdateGroup.class}) ExamPaperAddDTO dto) {
examPaperService.updatePaper(dto);
return ResponseResult.success(true);
}
@ApiOperation("删除试卷")
@PostMapping("/delete")
public ResponseResult<Boolean> deletePaper(Long id) {
examPaperService.deletePaper(id);
return ResponseResult.success(true);
}
@ApiOperation("试卷列表")
@PostMapping("/list")
public ResponseResult<PageInfo<ExamPaperListVO>> getPaperList(@RequestBody ExamPaperListDTO dto) {
PageInfo<ExamPaperListVO> result = examPaperService.getPaperList(dto);
return ResponseResult.success(result);
}
@ApiOperation("试卷详情")
@GetMapping("/detail/{id}")
public ResponseResult<ExamPaperVO> getPaperDetail(@PathVariable Long id) {
ExamPaperVO result = examPaperService.getPaperDetail(id);
return ResponseResult.success(result);
}
}

View File

@@ -0,0 +1,64 @@
package com.cool.store.controller.webb;
import com.cool.store.common.InsertGroup;
import com.cool.store.common.UpdateGroup;
import com.cool.store.dto.exam.*;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.exam.ExamQuestionService;
import com.cool.store.vo.exam.ExamQuestionListVO;
import com.cool.store.vo.exam.ExamQuestionVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* PC端题目管理Controller
*/
@Api(tags = "PC端-题目管理")
@RestController
@RequestMapping("/pc/exam/question")
@RequiredArgsConstructor
public class PCExamQuestionController {
private final ExamQuestionService examQuestionService;
@ApiOperation("新增题目")
@PostMapping("/add")
public ResponseResult<Boolean> addQuestion(@RequestBody @Validated({InsertGroup.class}) ExamQuestionAddDTO dto) {
examQuestionService.addQuestion(dto);
return ResponseResult.success(true);
}
@ApiOperation("编辑题目")
@PostMapping("/edit")
public ResponseResult<Boolean> updateQuestion(@RequestBody @Validated({UpdateGroup.class}) ExamQuestionAddDTO dto) {
examQuestionService.updateQuestion(dto);
return ResponseResult.success(true);
}
@ApiOperation("批量删除题目")
@PostMapping("/delete")
public ResponseResult<Boolean> deleteQuestions(@RequestBody List<Long> ids) {
examQuestionService.deleteQuestions(ids);
return ResponseResult.success(true);
}
@ApiOperation("题目列表")
@PostMapping("/list")
public ResponseResult<PageInfo<ExamQuestionListVO>> getQuestionList(@RequestBody ExamQuestionListDTO dto) {
PageInfo<ExamQuestionListVO> result = examQuestionService.getQuestionList(dto);
return ResponseResult.success(result);
}
@ApiOperation("题目详情")
@GetMapping("/detail/{id}")
public ResponseResult<ExamQuestionVO> getQuestionDetail(@PathVariable Long id) {
ExamQuestionVO result = examQuestionService.getQuestionDetail(id);
return ResponseResult.success(result);
}
}

View File

@@ -77,7 +77,7 @@ public class PCOpenPreparationController {
return ResponseResult.success(openingOperationPlanService.getPlanListPage(request));
}
@PostMapping("/openingOperationPlan/audit")
@ApiOperation("审核运营方案")
@ApiOperation("审核运营方案-废弃")
public ResponseResult auditPlan(@RequestBody OpeningOperationPlanAuditRequest request) {
return ResponseResult.success(auditOpeningOperationPlanService.auditPlan(request,CurrentUserHolder.getUser()));
}

View File

@@ -5,6 +5,7 @@ import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.store.StoreUserDTO;
import com.cool.store.request.store.StoreListRequest;
import com.cool.store.request.UserStoreRequest;
import com.cool.store.request.store.StoreListRequest;
import com.cool.store.response.MiniShopsResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.StoreService;

View File

@@ -10,20 +10,32 @@ import com.cool.store.dao.bonus.BonusDistributionRuleDAO;
import com.cool.store.dao.fees.WalletPayInfoDAO;
import com.cool.store.dto.*;
import com.cool.store.dto.contract.ContractCallbackDTO;
import com.cool.store.dto.*;
import com.cool.store.dto.huoma.*;
import com.cool.store.dto.xgj.XgjBranchBankDTO;
import com.cool.store.dto.xgj.XgjPartnerPageDTO;
import com.cool.store.dto.wallet.*;
import com.cool.store.dto.xgj.XgjPayResultDTO;
import com.cool.store.dto.wechat.CallbackMessageDTO;
import com.cool.store.dto.wechat.WechatTemplateMessageDTO;
import com.cool.store.dto.contract.ContractCallbackDTO;
import com.cool.store.dto.food.DishesDTO;
import com.cool.store.dto.*;
import com.cool.store.dto.xgj.XgjPayResultDTO;
import com.cool.store.entity.*;
import com.cool.store.entity.closeup.CloseUpApplyFormDO;
import com.cool.store.entity.closeup.CloseUpPlatformDO;
import com.cool.store.entity.bonus.BonusDistributionRuleDO;
import com.cool.store.entity.closeup.CloseUpApplyFormDO;
import com.cool.store.entity.closeup.CloseUpPlatformDO;
import com.cool.store.entity.fees.WalletPayInfoDO;
import com.cool.store.enums.*;
import com.cool.store.enums.DownSystemTypeEnum;
import com.cool.store.enums.MessageEnum;
import com.cool.store.enums.SMSMsgEnum;
import com.cool.store.enums.*;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.enums.wechat.WechatTemplateEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.handler.WeChatHandler;
import com.cool.store.job.XxlJobHandler;
import com.cool.store.mapper.FranchiseFeeMapper;
@@ -34,6 +46,10 @@ import com.cool.store.request.*;
import com.cool.store.request.bigdata.ProfitDataRequest;
import com.cool.store.request.close.store.CloseStoreApplyRequest;
import com.cool.store.request.huoma.ShopBasicInfoRequest;
import com.cool.store.request.liepin.AddStoreEmpRequest;
import com.cool.store.request.liepin.AddStoreRequest;
import com.cool.store.request.liepin.GetAccessTokenRequest;
import com.cool.store.request.liepin.GetPathRequest;
import com.cool.store.request.oppty.*;
import com.cool.store.request.storeopen.StoreMonthRevenueRequest;
import com.cool.store.request.storeopen.StoreRecipeDailySalesRequest;
@@ -47,6 +63,7 @@ import com.cool.store.response.bigdata.ApiResponse;
import com.cool.store.response.bigdata.ProfitDataResponse;
import com.cool.store.response.bigdata.ProfitRateResponse;
import com.cool.store.response.huoma.ShopBaseInfoResponse;
import com.cool.store.response.liepin.PathResponse;
import com.cool.store.response.oppty.CityResponse;
import com.cool.store.response.oppty.OpportunityDetailResponse;
import com.cool.store.response.oppty.OpportunityInfoPageResponse;
@@ -65,11 +82,12 @@ import com.cool.store.service.wallet.WalletApiService;
import com.cool.store.service.wechat.WechatTemplateService;
import com.cool.store.service.xinfa.XinFaBusinessService;
import com.cool.store.utils.RsaSignUtil;
import com.cool.store.utils.easyExcel.StoreImageExcelExporter;
import com.cool.store.utils.poi.ExcelUtil;
import com.cool.store.utils.poi.StringUtils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
@@ -77,9 +95,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
@Slf4j
@@ -157,17 +179,60 @@ public class PCTestController {
@Resource
CloseUpPlatformDAO closeUpPlatformDAO;
@Resource
ThirdStoreOpenDataService thirdStoreOpenDataService;
@Resource
BonusService bonusService;
@Resource
BonusDistributionRuleDAO bonusRuleDAO;
WechatMiniAppService wechatMiniAppService;
@PostMapping("/softOpenDate")
public ResponseResult<Boolean> softOpenDate() {
xxlJobHandler.softOpenDate();
return ResponseResult.success(true);
}
@PostMapping("/closeUpAutoOpen")
public void closeUpAutoOpen(Long applyId) {
closeUpService.closeUpAutoOpen(applyId);
}
@PostMapping("/createQrCode")
public ResponseResult<String> createQrCode(String page, String scene, String width) {
return ResponseResult.success(wechatMiniAppService.createQrCode(page, scene, width));
}
@Resource
ThirdStoreOpenDataService thirdStoreOpenDataService;
@Resource
BonusService bonusService;
@Resource
BonusDistributionRuleDAO bonusRuleDAO;
@Resource
StoreService storeService;
@PostMapping("/saveStoreReport")
public ResponseResult<Boolean> saveStoreReport(String startDate, String endDate) {
DateTimeFormatter dayFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter monthFormatter = DateTimeFormatter.ofPattern("yyyy-MM");
DateTimeFormatter yearFormatter = DateTimeFormatter.ofPattern("yyyy");
LocalDate start = LocalDate.parse(startDate + "-01" + (startDate.length() == 4 ? "-01" : ""), dayFormatter);
LocalDate end = LocalDate.parse(endDate + "-01" + (startDate.length() == 4 ? "-01" : ""), dayFormatter);
for (; !start.isAfter(end); ) {
String date = startDate.length() == 4 ? start.format(yearFormatter) : start.format(monthFormatter);
try {
storeService.saveStoreReport(date);
if (startDate.length() == 4) {
start = start.plusYears(1);
} else {
start = start.plusMonths(1);
}
log.info("{}执行成功", date);
} catch (Exception e) {
log.error("{}执行失败", date, e);
}
}
return ResponseResult.success(true);
}
@PostMapping("/queryPlatformStatus")
public void queryPlatformStatus() {
xxlJobHandler.queryPlatformStatus();
@@ -316,7 +381,7 @@ public class PCTestController {
messageMap.put("pointName", pointInfo.getPointName());
messageMap.put("pointAddress", pointInfo.getAddress());
messageMap.put("reason", "表现一般不予通过");
commonService.sendMessage(Arrays.asList("123836131931284423","020125244825417786"), messageEnum, messageMap);
commonService.sendMessage(Arrays.asList("wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg_woayJeDAAAZtsQ3Xj2Lv_V1kOK421F1g"), messageEnum, messageMap);
return ResponseResult.success(Boolean.FALSE);
}
@@ -363,16 +428,14 @@ public class PCTestController {
@GetMapping("/testQWMessage")
public ResponseResult<Boolean> testQWMessage(){
List<String> userIds = new ArrayList<>();
userIds.add("wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg_woayJeDAAA52Wm6ZigyveSjniyimeqZQ");
userIds.add("wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg_woayJeDAAAZtsQ3Xj2Lv_V1kOK421F1g");
HashMap<String, String> map = new HashMap<>();
map.put("partnerUsername","sx");
map.put("partnerMobile","13563273279");
commonService.sendQWMessage(userIds,
MessageEnum.MESSAGE_14,
map);
commonService.sendQWMessage(userIds, MessageEnum.MESSAGE_14, map);
return ResponseResult.success(Boolean.TRUE);
}
@Resource
ThirdOpportunityService thirdOpportunityService;
@Resource
@@ -530,6 +593,47 @@ public class PCTestController {
public ResponseResult<String> getPosToken(@RequestBody @Validated GetAccessTokenDTO dto) {
return ResponseResult.success(pushService.getPosToken(dto));
}
@Resource
ThirdLiePinService liePinService;
@ApiOperation("获取猎聘薪招聘token")
@PostMapping("/getLiePinAccessToken")
public ResponseResult<String> getLiePinAccessToken(@RequestBody @Validated GetAccessTokenRequest dto) {
return ResponseResult.success(liePinService.getAccessToken(dto));
}
@ApiOperation("新增门店到猎聘")
@PostMapping("/addStoreToLiePin")
public ResponseResult<Long> addStoreToLiePin(@RequestBody @Validated AddStoreRequest dto) {
return ResponseResult.success(liePinService.addStoreToLiePin(dto));
}
@ApiOperation("新增员工到门店-猎聘")
@PostMapping("/addStoreEmp")
public ResponseResult<Long> addStoreEmp(@RequestBody @Validated AddStoreEmpRequest dto) {
return ResponseResult.success(liePinService.addStoreEmp(dto));
}
@ApiOperation("获取跳转链接")
@PostMapping("/getJumpUrl")
public ResponseResult<PathResponse> getPath(@RequestBody @Validated GetPathRequest dto) {
return ResponseResult.success(liePinService.getPath(dto));
}
@Resource
LiePinService LocalLiePinService;
@ApiOperation("获取链接")
@PostMapping("/getPath")
public ResponseResult<String> getPath(@RequestParam String code,String mobile,String userName) {
return ResponseResult.success(LocalLiePinService.getJumpUrl(code,mobile,userName));
}
@GetMapping("/getFilePath")
@ApiOperation("获取新超人文件地址")
public ResponseResult<String> getFilePath(@RequestParam(value = "ossUrl", required = true) String ossUrl) {
return ResponseResult.success(liePinService.getFilePath(ossUrl));
}
@@ -555,6 +659,18 @@ public class PCTestController {
return ResponseResult.success(thirdFoodService.getFoodToken(dto));
}
@ApiOperation("获取已购菜品")
@PostMapping("/getPurchasedDishesList")
public ResponseResult<List<DishesDTO>> getPurchasedDishesList(@RequestBody @Validated FoodTokenDTO dto) {
return ResponseResult.success(thirdFoodService.getPurchasedDishesList(dto));
}
@ApiOperation("获取我研发的菜品")
@PostMapping("/getMyDesignDishesList")
public ResponseResult<List<DishesDTO>> getMyDesignDishesList(@RequestBody @Validated FoodTokenDTO dto) {
return ResponseResult.success(thirdFoodService.getMyDesignDishesList(dto));
}
@GetMapping("/getToday")
@ApiOperation("getToday")
@@ -760,7 +876,8 @@ public class PCTestController {
return "success";
}
}
return nonce;
log.info("echostr:{}", echostr);
return echostr;
}
@ApiOperation("测试小程序模板消息")
@@ -975,6 +1092,29 @@ public class PCTestController {
}
@Resource
StoreImageExcelExporter storeImageExcelExporter;
/**
* @param response
*/
@PostMapping("/images")
public void exportStoreImages(MultipartFile file,
HttpServletResponse response) {
try {
if (file.isEmpty()) {
throw new ServiceException(ErrorCodeEnum.FILE_ERROR);
}
ExcelUtil<StoreImageExportDTO> util = new ExcelUtil<>(StoreImageExportDTO.class);
List<StoreImageExportDTO> importList = util.importExcel(file.getInputStream(), 0);
storeImageExcelExporter.exportStoreImages(importList, response,"门店图片导出");
} catch (Exception e) {
// 处理异常
e.printStackTrace();
}
}
@Value("${cool.api.rsa.private.key}")
private String coolPrivateKey;

View File

@@ -2,6 +2,7 @@ package com.cool.store.controller.webb;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dto.point.PointStatisticsDTO;
import com.cool.store.dto.point.ShopPointDTO;
@@ -283,7 +284,8 @@ public class PointController {
@ApiOperation("上传租赁合同")
@PostMapping("/uploadRentContract")
public ResponseResult<Integer> uploadRentContract(@RequestBody @Validated AddRentContractRequest request) {
return ResponseResult.success(pointService.uploadRentContract(request));
LoginUserInfo user = CurrentUserHolder.getUser();
return ResponseResult.success(pointService.uploadRentContract(request,user.getUserId(),user.getName()));
}
@ApiOperation("保存点位测算 V3.0 新增")

View File

@@ -0,0 +1,46 @@
package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.request.ReceivingBankListRequest;
import com.cool.store.request.ReceivingBankRequest;
import com.cool.store.response.ReceivingBankResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.ReceivingBankService;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* @Author: WangShuo
* @Date: 2025/06/19/09:40
* @Version 1.0
* @注释:
*/
@RestController
@Api(value = "收款银行配置")
@RequestMapping("/pc/receivingBank")
public class ReceivingBankController {
@Resource
private ReceivingBankService receivingBankService;
@PostMapping("/submit")
@ApiOperation("添加/修改收款银行")
public ResponseResult<Integer> submit(@RequestBody @Valid ReceivingBankRequest request){
return ResponseResult.success(receivingBankService.submit(request, CurrentUserHolder.getUserId()));
}
@PostMapping("/list")
@ApiOperation("收款银行列表")
public ResponseResult<PageInfo<ReceivingBankResponse>> list(@RequestBody @Valid ReceivingBankListRequest request){
return ResponseResult.success(receivingBankService.getByFranchiseBrandAndRegionId(request));
}
@GetMapping("/getByShopId")
@ApiOperation("根据门店id查询收款银行信息")
public ResponseResult<ReceivingBankResponse> getByShopId(@RequestParam("shopId") Long shopId){
return ResponseResult.success(receivingBankService.getByShopId(shopId));
}
}

View File

@@ -0,0 +1,110 @@
package com.cool.store.controller.webb;
import com.cool.store.request.renewal.RenewalApplicationCreateRequest;
import com.cool.store.request.renewal.RenewalApplicationQueryRequest;
import com.cool.store.request.renewal.RenewalApprovalRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.renewal.RenewalApplicationService;
import com.cool.store.vo.renewal.RenewalApplicationDetailVO;
import com.cool.store.vo.renewal.RenewalApplicationListVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
/**
* PC端续签申请管理接口
*/
@Api(tags = "PC-续签申请管理")
@RestController
@RequestMapping("/pc/renewal/application")
@RequiredArgsConstructor
@Validated
public class RenewalApplicationController {
private final RenewalApplicationService renewalApplicationService;
/**
* 查询续签申请列表
* 支持按关键字、区域、合同到期时间、状态等条件筛选
*
* @param request 查询请求参数
* @return 续签申请分页列表
*/
@ApiOperation("续签申请列表")
@PostMapping("/list")
public ResponseResult<PageInfo<RenewalApplicationListVO>> queryRenewalApplicationList(@RequestBody @Validated RenewalApplicationQueryRequest request) {
return ResponseResult.success(renewalApplicationService.queryRenewalApplicationList(request));
}
/**
* 查询续签申请详情
* 包含续签基本信息、门店信息、签约人快照、关联合同信息、审批记录
*
* @param renewalId 续签申请ID
* @return 续签申请详情
*/
@ApiOperation("续签申请详情")
@GetMapping("/detail")
@ApiImplicitParam(name = "renewalId", value = "续签申请ID", required = true, dataType = "Long", paramType = "query")
public ResponseResult<RenewalApplicationDetailVO> getRenewalApplicationDetail(@NotNull(message = "续签申请ID不能为空") Long renewalId) {
return ResponseResult.success(renewalApplicationService.getRenewalApplicationDetail(renewalId));
}
/**
* 新增续签申请
* 创建续签申请并保存签约人信息快照
*
* @param request 创建请求参数门店ID、备注
* @return 是否创建成功
*/
@ApiOperation("新增续签申请")
@PostMapping("/create")
public ResponseResult<Boolean> createRenewalApplication(@RequestBody @Validated RenewalApplicationCreateRequest request) {
return ResponseResult.success(renewalApplicationService.createRenewalApplication(request));
}
/**
* 运营顾问审批续签申请
* 审批通过后流转到片区顾问,支持标记翻新信息
*
* @param request 审批请求参数续签申请ID、是否通过、审批意见、翻新信息
* @return 是否审批成功
*/
@ApiOperation("运营顾问审批")
@PostMapping("/ops/approve")
public ResponseResult<Boolean> operationsConsultantApproval(@RequestBody @Validated RenewalApprovalRequest request) {
return ResponseResult.success(renewalApplicationService.operationsConsultantApproval(request));
}
/**
* 片区顾问审批续签申请
* 审批通过后流转到集团工程部
*
* @param request 审批请求参数续签申请ID、是否通过、审批意见
* @return 是否审批成功
*/
@ApiOperation("片区顾问审批")
@PostMapping("/region/approve")
public ResponseResult<Boolean> regionalConsultantApproval(@RequestBody @Validated RenewalApprovalRequest request) {
return ResponseResult.success(renewalApplicationService.regionalConsultantApproval(request));
}
/**
* 集团工程部审批续签申请
* 审批通过后流程完成
*
* @param request 审批请求参数续签申请ID、是否通过、审批意见
* @return 是否审批成功
*/
@ApiOperation("集团工程部审批")
@PostMapping("/group/approve")
public ResponseResult<Boolean> groupEngineeringApproval(@RequestBody @Validated RenewalApprovalRequest request) {
return ResponseResult.success(renewalApplicationService.groupEngineeringApproval(request));
}
}

View File

@@ -4,8 +4,10 @@ import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dto.AmountDTO;
import com.cool.store.enums.point.PayBusinessTypeEnum;
import com.cool.store.request.FranchiseFeePayOnlineRequest;
import com.cool.store.request.LinePaySubmitRequest;
import com.cool.store.response.FranchiseFeePayInfoResponse;
import com.cool.store.response.FranchiseFeePayOnlineResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.LinePayService;
import com.cool.store.vo.LinePayVO;
@@ -15,6 +17,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -79,4 +82,15 @@ public class LinePayController {
public ResponseResult<FranchiseFeePayInfoResponse> getById(@RequestParam("id") Long id) {
return ResponseResult.success(linePayService.getById(id));
}
@ApiOperation("加盟费线上支付提交付款单")
@PostMapping("/submitFranchiseFeePayOnline")
public ResponseResult<FranchiseFeePayOnlineResponse> submitFranchiseFeePayOnline(@RequestBody @Validated FranchiseFeePayOnlineRequest request) {
return ResponseResult.success(linePayService.franchiseFeePayOnline(request, PartnerUserHolder.getUser().getPartnerId()));
}
@ApiOperation("加盟费线上支付取消付款单")
@GetMapping("/cancelFranchiseFeePayOnline")
public ResponseResult<Boolean> cancelFranchiseFeePayOnline(@RequestParam("id") Long id) {
return ResponseResult.success(linePayService.cancelFranchiseFeePayOnline(id, PartnerUserHolder.getUser().getPartnerId()));
}
}

View File

@@ -0,0 +1,84 @@
package com.cool.store.controller.webc;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dto.exam.*;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.exam.ExamAttemptService;
import com.cool.store.service.exam.ExamInfoService;
import com.cool.store.vo.PartnerUserInfoVO;
import com.cool.store.vo.exam.ExamAttemptListVO;
import com.cool.store.vo.exam.ExamAttemptVO;
import com.cool.store.vo.exam.ExamInfoVO;
import com.cool.store.vo.exam.ExamPaperForAttemptVO;
import com.cool.store.vo.exam.ExamResultVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* 小程序端考试Controller
*/
@Api(tags = "小程序-考试入口")
@RestController
@RequestMapping("/mini/exam")
@RequiredArgsConstructor
public class MiniExamController {
private final ExamInfoService examInfoService;
private final ExamAttemptService examAttemptService;
@ApiOperation("通过token进入考试")
@PostMapping("/entry/token")
public ResponseResult<ExamInfoVO> getExamByToken(@RequestBody @Validated ExamTokenDTO dto) {
ExamInfoVO result = examInfoService.getExamByToken(dto.getToken());
return ResponseResult.success(result);
}
@ApiOperation("开始考试")
@PostMapping("/start")
public ResponseResult<ExamPaperForAttemptVO> startAttempt(@RequestBody ExamStartAttemptDTO dto) {
ExamPaperForAttemptVO result = examAttemptService.startAttempt(dto);
return ResponseResult.success(result);
}
@ApiOperation("保存答案")
@PostMapping("/saveAnswer")
public ResponseResult<Boolean> saveAnswer(@RequestBody ExamSubmitAnswerDTO dto) {
examAttemptService.saveAnswer(dto);
return ResponseResult.success(true);
}
@ApiOperation("提交试卷")
@PostMapping("/submit")
public ResponseResult<ExamResultVO> submitPaper(@RequestBody ExamSubmitPaperDTO dto) {
ExamResultVO result = examAttemptService.submitPaper(dto);
return ResponseResult.success(result);
}
@ApiOperation("查看答卷详情")
@GetMapping("/detail/{attemptId}")
public ResponseResult<ExamAttemptVO> getAttemptDetail(@PathVariable Long attemptId) {
ExamAttemptVO result = examAttemptService.getAttemptDetail(attemptId);
return ResponseResult.success(result);
}
@ApiOperation("查看考试结果")
@GetMapping("/result/{attemptId}")
public ResponseResult<ExamResultVO> getResult(@PathVariable Long attemptId) {
ExamResultVO result = examAttemptService.getResult(attemptId);
return ResponseResult.success(result);
}
@ApiOperation("我的考试记录")
@GetMapping("/myList")
public ResponseResult<PageInfo<ExamAttemptListVO>> myAttemptList(
@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) {
PartnerUserInfoVO userInfo = PartnerUserHolder.getUser();
PageInfo<ExamAttemptListVO> result = examAttemptService.listByMobile(userInfo.getMobile(), pageNum, pageSize);
return ResponseResult.success(result);
}
}

View File

@@ -45,12 +45,7 @@ public class MiniOpenPreparationController {
@GetMapping("/openingOperationPlan/getPlan")
@ApiOperation("查询开业运营方案")
public ResponseResult<OpeningOperationPlanVO> getPlan(@RequestParam("shopId") Long shopId) {
OpeningOperationPlanVO plan = openingOperationPlanService.getPlanByShopId(shopId);
if (AuditStatusEnum.PASS.getCode().equals(plan.getResultType())) {
return ResponseResult.success(plan);
}
log.info("运营方案待审核或未通过");
return ResponseResult.success(null);
return ResponseResult.success(openingOperationPlanService.getPlanByShopId(shopId));
}
@GetMapping("/firstOrder/get")

View File

@@ -0,0 +1,33 @@
package com.cool.store.controller.webc;
import com.cool.store.response.ReceivingBankResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.ReceivingBankService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Author: WangShuo
* @Date: 2025/08/12/14:32
* @Version 1.0
* @注释:
*/
@RestController
@Api(value = "mini收款银行配置")
@RequestMapping("/mini/receivingBank")
public class MiniReceivingBankController {
@Resource
private ReceivingBankService receivingBankService;
@GetMapping("/getByShopId")
@ApiOperation("根据门店id查询收款银行信息")
public ResponseResult<ReceivingBankResponse> getByShopId(@RequestParam("shopId") Long shopId){
return ResponseResult.success(receivingBankService.getByShopId(shopId));
}
}

View File

@@ -0,0 +1,48 @@
package com.cool.store.controller.webc;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.request.renewal.RenewalApplicationQueryRequest;
import com.cool.store.request.renewal.RenewalFranchiseeConfirmRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.renewal.RenewalApplicationService;
import com.cool.store.vo.PartnerUserInfoVO;
import com.cool.store.vo.renewal.RenewalApplicationDetailVO;
import com.cool.store.vo.renewal.RenewalApplicationListVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
@Api(tags = "mini-续签申请管理")
@RestController
@RequestMapping("/mini/renewal/application")
@RequiredArgsConstructor
@Validated
public class MiniRenewalApplicationController {
private final RenewalApplicationService renewalApplicationService;
@ApiOperation("续签申请列表")
@GetMapping("/list")
public ResponseResult<PageInfo<RenewalApplicationListVO>> queryRenewalApplicationList(RenewalApplicationQueryRequest request) {
return ResponseResult.success(renewalApplicationService.queryRenewalApplicationList(request));
}
@ApiOperation("续签申请详情")
@GetMapping("/detail")
@ApiImplicitParam(name = "renewalId", value = "续签申请ID", required = true, dataType = "Long", paramType = "query")
public ResponseResult<RenewalApplicationDetailVO> getRenewalApplicationDetail(@NotNull(message = "续签申请ID不能为空") Long renewalId) {
return ResponseResult.success(renewalApplicationService.getRenewalApplicationDetail(renewalId));
}
@ApiOperation("加盟商确认续签")
@PostMapping("/franchisee/confirm")
public ResponseResult<Boolean> franchiseeConfirm(@RequestBody @Validated RenewalFranchiseeConfirmRequest request) {
return ResponseResult.success(renewalApplicationService.franchiseeConfirm(request, PartnerUserHolder.getUser()));
}
}

View File

@@ -5,6 +5,7 @@ import com.cool.store.dto.FoodTokenDTO;
import com.cool.store.dto.GetAccessTokenDTO;
import com.cool.store.dto.ModifyPasswordDTO;
import com.cool.store.dto.ShopAccount.ShopAccountDTO;
import com.cool.store.dto.food.DishesDTO;
import com.cool.store.request.GetPasswordDTO;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.*;
@@ -41,6 +42,9 @@ public class MiniShopAccountController {
@Resource
EnterpriseService enterpriseService;
@Resource
LiePinService LocalLiePinService;
@ApiOperation("根据门店shopId查询平台账号")
@GetMapping("/getShopAccountByShopId")
@@ -79,6 +83,18 @@ public class MiniShopAccountController {
return ResponseResult.success(thirdFoodService.getFoodToken(dto));
}
@ApiOperation("获取已购菜品")
@PostMapping("/getPurchasedDishesList")
public ResponseResult<List<DishesDTO>> getPurchasedDishesList(@RequestBody @Validated FoodTokenDTO dto) {
return ResponseResult.success(thirdFoodService.getPurchasedDishesList(dto));
}
@ApiOperation("获取我研发的菜品")
@PostMapping("/getMyDesignDishesList")
public ResponseResult<List<DishesDTO>> getMyDesignDishesList(@RequestBody @Validated FoodTokenDTO dto) {
return ResponseResult.success(thirdFoodService.getMyDesignDishesList(dto));
}
@ApiOperation("获取加密子串")
@PostMapping("/getEncryptedSubstring")
public ResponseResult<String> getEncryptedSubstring(@RequestBody GetPasswordDTO dto) {
@@ -91,6 +107,14 @@ public class MiniShopAccountController {
return ResponseResult.success(accountService.shopIdToYlsCode(shopId));
}
@ApiOperation("获取链接")
@GetMapping("/getPath")
public ResponseResult<String> getPath(@RequestParam(value = "shopCode",required = true) String shopCode) {
return ResponseResult.success(LocalLiePinService.getJumpUrl(shopCode,PartnerUserHolder.getUser().getMobile(),PartnerUserHolder.getUser().getUsername()));
}
@ApiOperation("获取标品登录token")
@GetMapping("/getAccessToken")
public ResponseResult<String> getAccessToken() {

View File

@@ -97,9 +97,9 @@ public class MiniShopController {
@ApiOperation("上传租赁合同")
@PostMapping("/uploadRentContract")
public ResponseResult<Integer> uploadRentContract(@RequestBody @Validated AddRentContractRequest request) {
Long lineId = PartnerUserHolder.getUser().getLineId();
request.setCurLineId(lineId);
return ResponseResult.success(pointService.uploadRentContract(request));
PartnerUserInfoVO user = PartnerUserHolder.getUser();
request.setCurLineId(user.getLineId());
return ResponseResult.success(pointService.uploadRentContract(request,user.getPartnerId(),user.getUsername()));
}
@ApiOperation("获取租赁合同详情")

View File

@@ -6,14 +6,19 @@ import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*;
import com.cool.store.dao.fees.ShopAllocationInfoDAO;
import com.cool.store.dao.fees.WalletPayInfoDAO;
import com.cool.store.dto.BigRegionUserListDTO;
import com.cool.store.dto.OpenCityDTO;
import com.cool.store.dto.ocr.InvoiceDTO;
import com.cool.store.dto.store.StoreUserPositionDTO;
import com.cool.store.dto.store.StoreUserUpdateDTO;
import com.cool.store.dto.wallet.OpenBasicInfoDTO;
import com.cool.store.entity.*;
import com.cool.store.entity.fees.ShopAllocationInfoDO;
import com.cool.store.entity.fees.WalletPayInfoDO;
import com.cool.store.enums.UserRoleEnum;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.IDCardSideEnum;
import com.cool.store.enums.WorkflowSubStageEnum;
import com.cool.store.enums.XGJCollectionStatusEnum;
import com.cool.store.enums.*;
import com.cool.store.enums.point.ShopStageEnum;
import com.cool.store.enums.point.ShopSubStageEnum;
@@ -24,6 +29,7 @@ import com.cool.store.exception.ServiceException;
import com.cool.store.job.XxlJobHandler;
import com.cool.store.mapper.HyOpenAreaInfoMapper;
import com.cool.store.request.ShopListSuccessOpenRequest;
import com.cool.store.request.StoreCodeRequest;
import com.cool.store.request.wallet.CoolOpenBasicInfoRequest;
import com.cool.store.request.xfsgFirstOrderListRequest;
import com.cool.store.request.xgj.FranchiseFeeCallBackRequest;
@@ -31,6 +37,7 @@ import com.cool.store.request.xgj.ReceiptCallBackRequest;
import com.cool.store.request.xgj.ReceiptRequest;
import com.cool.store.response.MiniShopsResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.response.bigdata.ApiResponse;
import com.cool.store.response.caipin.StoreUserResponse;
import com.cool.store.response.xfsgFirstOderListResponse;
import com.cool.store.service.*;
@@ -99,13 +106,14 @@ public class TestController {
@Autowired
StoreService storeService;
@Resource
LinePayDAO linePayDAO;
@Resource
OpenApiService openApiService;
@Resource
private CloseStoreAccountService closeStoreAccountService;
@Resource
private CloseStoreRefundService closeStoreRefundService;
@Resource
LinePayDAO linePayDAO;
@Resource
OpenApiService openApiService;
@Resource
private WalletPayInfoDAO walletPayInfoDAO;
@Resource
@@ -185,7 +193,7 @@ public class TestController {
public ResponseResult<Integer> importCity(MultipartFile file) {
ExcelUtil<OpenCityDTO> util = new ExcelUtil<>(OpenCityDTO.class);
try {
List<OpenCityDTO> lineDOList = util.importExcel(file.getInputStream());
List<OpenCityDTO> lineDOList = util.importExcel(file.getInputStream(),0);
get(lineDOList);
} catch (Exception e) {
e.printStackTrace();
@@ -473,6 +481,12 @@ public class TestController {
return ResponseResult.success(walletService.openOnlineBankAccount(request));
}
@ApiOperation("大区下指定角色的人 只查直接管辖")
@PostMapping("/getRegionUserList")
public ApiResponse<List<BigRegionUserListDTO>> getUserIdByRoleIdAndRegionId(@RequestBody StoreCodeRequest request) {
return userAuthMappingService.getAllBigRegionSpecialRoleUserList(request.getStoreCode(),UserRoleEnum.DELIVERY_SPECIALIST);
}
@GetMapping("/handleStoreLogLai")
public ResponseResult<Boolean> handleStoreLogLai(@RequestParam(value = "flag", required = false) Integer flag ,
@RequestParam(value = "storeCode", required = false) String storeCode) {

View File

@@ -24,6 +24,14 @@ import com.cool.store.enums.tp.TpFormStatusEnum;
import com.cool.store.enums.close.CloseTypeEnum;
import com.cool.store.enums.master.StoreCloseReasonEnum;
import com.cool.store.enums.wallet.WalletTradeModuleEnum;
import com.cool.store.enums.point.ShopStatusEnum;
import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.enums.close.RefundPayStatusEnum;
import com.cool.store.enums.close.XgjRefundPayStatusEnum;
import com.cool.store.enums.master.StoreCloseReasonEnum;
import com.cool.store.enums.wallet.WalletTradeModuleEnum;
import com.cool.store.mapper.ApplyLicenseMapper;
import com.cool.store.mapper.LineInfoMapper;
import com.cool.store.mapper.TrainingExperienceMapper;
@@ -34,6 +42,9 @@ 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.request.xgj.XgjPaymentRequest;
import com.cool.store.request.xfsgFirstOrderListRequest;
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.*;
@@ -45,6 +56,7 @@ import com.cool.store.service.fees.WalletPayInfoService;
import com.cool.store.service.impl.CommonService;
import com.cool.store.service.store.PreAllocationRecordService;
import com.cool.store.service.tp.TpApplyService;
import com.cool.store.service.renewal.RenewalApplicationService;
import com.cool.store.utils.MDCUtils;
import com.cool.store.utils.poi.DateUtils;
import com.cool.store.utils.poi.StringUtils;
@@ -118,6 +130,8 @@ public class XxlJobHandler {
@Resource
private TallyBookService tallyBookService;
@Resource
private RenewalApplicationService renewalApplicationService;
@Resource
ShopAccountDAO accountDAO;
@Resource
ShopAccountDAO shopAccountDAO;
@@ -153,17 +167,19 @@ public class XxlJobHandler {
@Resource
WithdrawApplicationService withdrawApplicationService;
@Resource
CloseUpPlatformDAO closeUpPlatformDAO;
@Resource
CloseUpService closeUpService;
@Resource
BonusDistributionRuleDAO ruleDAO;
@Resource
BonusService bonusService;
@Resource
CloseStoreInfoDAO closeStoreInfoDAO;
@Resource
StoreService storeService;
@Resource
ThirdStoreOpenDataService thirdStoreOpenDataService;
@Resource
CloseUpPlatformDAO closeUpPlatformDAO;
@Resource
CloseUpService closeUpService;
private static final DateTimeFormatter MONTH_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM");
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -910,6 +926,40 @@ public class XxlJobHandler {
}
}
@XxlJob("autoGenerateRenewalApplication")
public void autoGenerateRenewalApplication() {
MDCUtils.put(CommonConstants.REQUEST_ID, UUID.randomUUID().toString());
log.info("------start autoGenerateRenewalApplication------");
try {
renewalApplicationService.autoGenerateRenewalApplications();
XxlJobHelper.handleSuccess();
} catch (Exception e) {
log.error("自动生成续签申请失败", e);
XxlJobHelper.handleFail(e.getMessage());
}
log.info("------end autoGenerateRenewalApplication------");
}
/**
* 门店报表
*/
@XxlJob("saveStoreReport")
public void saveStoreReport() {
MDCUtils.put(CommonConstants.REQUEST_ID, UUID.randomUUID().toString());
log.info("------start saveStoreReport------");
try {
LocalDate now = LocalDate.now();
log.info("统计月份:{}", now.format(MONTH_FORMATTER));
storeService.saveStoreReport(now.format(MONTH_FORMATTER));
log.info("------end saveStoreReport------");
} catch (Exception e) {
log.error("saveStoreReport执行失败", e);
XxlJobHelper.handleFail("执行失败: " + e.getMessage());
}
}
/**
* 未开业门店
*/

View File

@@ -1,6 +1,6 @@
#mysql config
default.datasource.url=jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcollege_intelligent_36?useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
default.datasource.url=jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcollege_intelligent_74?useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
default.datasource.username=coolstore
default.datasource.password=CSCErYcXniNYm7bT
@@ -37,6 +37,19 @@ rocketmq.nameSrvAdder=http://MQ_INST_1748142459508127_BZfpFxuJ.cn-hangzhou.mq-in
rocketmq.topic=zx_simple_message
rocketmq.orderTopic=zx_order_message
#oss配置
#oss.host=https://oss-store.coolcollege.cn/
#oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur
#oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
#oss.endpoint=oss-cn-hangzhou.aliyuncs.com
#oss.bucket=cool-store-hsay
#oss.file.dir=partner/171cddee76471740/
#oss.excelFile.dir=lineExcel/
##cdn地址
#cdn.url=https://testhsaypic.coolstore.cn
#oss配置
#oss.host=https://oss-store.coolcollege.cn/
#oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur
@@ -65,15 +78,15 @@ trtc.sdkAppId=1600026212
trtc.secretKey=e036b654c665f649f053a01ff6f5652a826980027be298d4d49949f6e26434a5
trtc.video.callback.secretKey=ur4wq2iFbRI03Q35
weixin.appId=wx085c84fe42691bf1
weixin.appSecret=58e89c9ec4ade1d094bbe21836a19ec4
weixin.appId=wxd77a2761c1911ee1
weixin.appSecret=fb669b90fcdcdd0e2da21b6e066df83e
weixin.index.url=pages/index/index
signKey=77fea013c3a6459685b83c21a2fc3411
fixMobileOpenid=HSAY5531DA7
#xxljob配置
#xxljob配置
xxl.job.admin.addresses = http://10.6.48.226:10001/xxl-job-admin
xxl.job.admin.addresses = https://tjob.coolstore.cn/xxl-job-admin
xxl.job.executor.appname = ${spring.application.name}
xxl.job.executor.ip =
xxl.job.executor.port = 40301
@@ -85,7 +98,7 @@ exhibition.channel.id=52399
recommended.channel.id=52400
cool.app.id=80685
coolstore.page.domain=https://t2store.coolstore.cn
coolstore.page.domain=https://tstore.coolstore.cn
xfsg.url=https://inf-test.xianfengsg.com/InfService
@@ -96,8 +109,9 @@ aliyun.sms.private.accessKeyId=LTAI5tDp9nFNSca53jjzepE5
aliyun.sms.private.accessKeySecret=oTWhLJ6t6DeIINFTkAzwlY18ORfyYl
mybatis.configuration.variables.enterpriseId=5558ce7a3aa84e3590392fcaa8697ffb
enterprise.dingCorpId=dingef2502a50df74ccc35c2f4657eb6378f
enterprise.dingCorpId=wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg
##qywx.task.notice.url1=https://tstore-api.coolstore.cn/notice?corpId=%s&appType=%s&target=%s
qywx.task.notice.url2=https://tstore-h5.coolstore.cn/?corpId=%s&appType=%s#/notice?target=%s&noticeType=zx&corpId=%s&appType=%s&eid=%s
#机会点地址
@@ -123,14 +137,14 @@ xgj.api.auth.secret=3ba6e4c5632547b8b2b3acefe08667bb
xgj.api.token.url=http://117.139.13.24:29000
#云流水账号
#yls.api.auth.url=http://scm330-test.366ec.net
#yls.api.auth.username=096d4009072c927c
#yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
yls.api.auth.url=http://yuanguiwuliu.com
yls.api.auth.url=http://scm330-test.366ec.net
yls.api.auth.username=096d4009072c927c
yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
#yls.api.auth.url=http://yuanguiwuliu.com
#yls.api.auth.username=096d4009072c927c
#yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
#新掌柜账号
xzg.api.auth.url=http://webapi.zhengxinfood.com
@@ -145,6 +159,14 @@ special.user.id=wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg_woayJeDAAA0TC8mkCJeXouw94hYA-D3
ask.bot.url=https://test.auth.wx.askbot.cn
liePin.appId=1921816018922205184
liePin.secretKey=dns6x4f1p14a36u4t22xvteppmz07ir2
liePin.aesSecretKey=_nkULTpkBHHZeWgQ
liePin.baseUrl=https://open-xhopen-qa53.qa.xunhou.cn
liePin.tenantId=12833
liePin.mobile=13345565081
hqt.token.url=https://tc.cloud.hecom.cn
hqt.token.username=18161486722
hqt.token.grant_type=client_credentials

View File

@@ -70,7 +70,7 @@ signKey=77fea013c3a6459685b83c21a2fc3411
fixMobileOpenid=HSAY5531DA7
#xxljob配置
#xxljob配置
xxl.job.admin.addresses = http://10.6.48.226:10001/xxl-job-admin
xxl.job.admin.addresses = https://tjob.coolstore.cn/xxl-job-admin
xxl.job.executor.appname = ${spring.application.name}
xxl.job.executor.ip =
xxl.job.executor.port = 40301
@@ -121,14 +121,14 @@ xgj.api.auth.secret=3ba6e4c5632547b8b2b3acefe08667bb
xgj.api.token.url=http://117.139.13.24:29000
#云流水账号
#yls.api.auth.url=http://scm330-test.366ec.net
#yls.api.auth.username=096d4009072c927c
#yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
yls.api.auth.url=http://yuanguiwuliu.com
yls.api.auth.url=http://scm330-test.366ec.net
yls.api.auth.username=096d4009072c927c
yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
#yls.api.auth.url=http://yuanguiwuliu.com
#yls.api.auth.username=096d4009072c927c
#yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
#新掌柜账号
xzg.api.auth.url=http://webapi.zhengxinfood.com
@@ -143,6 +143,14 @@ special.user.id=wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg_woayJeDAAA0TC8mkCJeXouw94hYA-D3
ask.bot.url=https://test.auth.wx.askbot.cn
liePin.appId=1921816018922205184
liePin.secretKey=dns6x4f1p14a36u4t22xvteppmz07ir2
liePin.aesSecretKey=_nkULTpkBHHZeWgQ
liePin.baseUrl=https://open-xhopen-qa53.qa.xunhou.cn
liePin.tenantId=12833
liePin.mobile=13345565081
hqt.token.url=https://tc.cloud.hecom.cn
hqt.token.username=18161486722
hqt.token.grant_type=client_credentials