Merge branch 'master' into cc_20250527_desk

# Conflicts:
#	coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java
This commit is contained in:
shuo.wang
2025-05-27 13:59:30 +08:00
52 changed files with 733 additions and 138 deletions

View File

@@ -279,4 +279,6 @@ public class RedisConstant {
public static final String YUN_XUE_TANG_ACCESS_TOKEN = "yun_xue_tang_access_token_";
public static final String SUBMIT_BUILD_KEY = "submit_build_key_";
public static final String GET_AI_MODULE = "get_ai_module_";
}

View File

@@ -16,7 +16,8 @@ public enum AuditTypeEnum {
E_LE_ME(12,"饿了么"),
MEI_TUAN_WAI_MAI(13,"美团外卖"),
YING_ZHANG_TONG(14,"营帐通"),
BUILDINFORMATION(15,"建店资料信息")
BUILDINFORMATION(15,"建店资料信息"),
JINg_DONG_WAI_MAI(16,"京东外卖"),
;
private Integer code;

View File

@@ -86,6 +86,9 @@ public enum MessageEnum {
MESSAGE_57("您有一个门店测量阶段待分配测量员和设计组,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_58("您有一个门店设计阶段待分配设计师,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_59("您有一个门店设计阶段报价任务待领取,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_60("您有一个门店已提交京东建店资料,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
MESSAGE_61("您有一个门店京东外卖初审已通过,请查收","门店名称:${storeName}\n加盟商姓名${partnerUsername}\n加盟商手机号码${partnerMobile}\n"),
;
private String title;

View File

@@ -12,7 +12,8 @@ public enum PlatformBuildEnum {
MEI_TUAN_TUAN_GOU(3,"美团团购"),
E_LE_ME(4,"饿了么外卖"),
MEI_TUAN_WAI_MAI(5,"美团外卖"),
YING_ZHANG_TONG(6,"营帐通");
YING_ZHANG_TONG(6,"营帐通"),
JING_DONG_WAI_MAI(7,"京东外卖"),;
private Integer code;
private String message;
PlatformBuildEnum(Integer code, String message) {

View File

@@ -18,7 +18,7 @@ public enum ShopAccountEnum {
KS("快手团购",OpenStatusEnum.OPENSTATUSENUM_1),
MT("美团外卖",OpenStatusEnum.OPENSTATUSENUM_1),
ELM("饿了么外卖",OpenStatusEnum.OPENSTATUSENUM_1),
JINGDONG("京东外卖",OpenStatusEnum.OPENSTATUSENUM_1),
;

View File

@@ -64,6 +64,11 @@ public enum UserRoleEnum {
OWN_SHOP_OFFICE(480000000L,"自有店财务"),
BRAND_HEAD(490000000L,"品牌负责人"),
QW_SUPERVISION(1725431698852L,"企微督导"),
JING_DONG_OPERATIONS_CUSTOMER(500000000L,"京东运营大区客服"),
JING_DONG_HEADQUARTERS_BUILD_CUSTOMER(510000000L,"京东总部建店客服"),
;
private Long code;

View File

@@ -39,7 +39,7 @@ public enum ShopSubStageEnum {
SHOP_STAGE_20(ShopStageEnum.SHOP_STAGE_3, 200, "美团团购", null),
SHOP_STAGE_21(ShopStageEnum.SHOP_STAGE_3, 210, "饿了么", null),
SHOP_STAGE_22(ShopStageEnum.SHOP_STAGE_3, 220, "快手", null),
SHOP_STAGE_25(ShopStageEnum.SHOP_STAGE_3, 250, "京东外卖", null),
;

View File

@@ -140,6 +140,14 @@ public enum ShopSubStageStatusEnum {
SHOP_SUB_STAGE_STATUS_244(ShopSubStageEnum.SHOP_STAGE_24, 2440, "无需开通", Boolean.TRUE),
SHOP_SUB_STAGE_STATUS_245(ShopSubStageEnum.SHOP_STAGE_24, 2450, "已完成", Boolean.TRUE),
//京东外卖
SHOP_SUB_STAGE_STATUS_250(ShopSubStageEnum.SHOP_STAGE_25, 2500, "待加盟商申请", Boolean.FALSE),
SHOP_SUB_STAGE_STATUS_251(ShopSubStageEnum.SHOP_STAGE_25, 2510, "初审中", Boolean.FALSE),
SHOP_SUB_STAGE_STATUS_253(ShopSubStageEnum.SHOP_STAGE_25, 2530,"待【火码】开通", Boolean.FALSE),
SHOP_SUB_STAGE_STATUS_254(ShopSubStageEnum.SHOP_STAGE_25, 2540,"开通失败", Boolean.FALSE),
SHOP_SUB_STAGE_STATUS_255(ShopSubStageEnum.SHOP_STAGE_25, 2550, "开通成功", Boolean.TRUE),
;
private ShopSubStageEnum shopSubStageEnum;

View File

@@ -109,5 +109,8 @@ public class RedisConstantUtil {
public String submitBuildKey(Long shopId){
return active + "_" + RedisConstant.SUBMIT_BUILD_KEY + eid + ":" + shopId ;
}
public String getAiModuleKey(){
return active + "_" + RedisConstant.GET_AI_MODULE + eid;
}
}

View File

@@ -54,4 +54,11 @@ public class PosAndOrderInfoDAO {
}
return posAndOrderInfoMapper.batchInsert(posAndOrderInfoDOList);
}
//不通用只用于批量云流水修改备注
public Integer batchUpdateYlsRemarkByShopCode(List<String> shopCodeList, String remark){
if(CollectionUtils.isEmpty(shopCodeList)){
return 0;
}
return posAndOrderInfoMapper.batchUpdateYlsRemarkByShopCode(shopCodeList,remark);
}
}

View File

@@ -18,6 +18,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Author suzhuhong
@@ -55,7 +56,7 @@ public class ShopAccountDAO {
}
int batchInsert(List<ShopAccountDO> list){
public int batchInsert(List<ShopAccountDO> list){
if (CollectionUtils.isEmpty(list)){
return CommonConstants.ZERO;
}
@@ -169,4 +170,8 @@ public class ShopAccountDAO {
}
return shopAccountMapper.updateStatusDataHandle(shopIds);
}
public List<Long> getShopId(){
List<ShopAccountDO> shopAccountDOS = shopAccountMapper.selectAll();
return new ArrayList<>(shopAccountDOS.stream().map(ShopAccountDO::getShopId).collect(Collectors.toSet())) ;
}
}

View File

@@ -16,6 +16,8 @@ import java.util.List;
public interface PosAndOrderInfoMapper extends Mapper<PosAndOrderInfoDO> {
Integer batchInsert(@Param("list") List<PosAndOrderInfoDO> posAndOrderInfoDOList);
Integer batchUpdateYlsRemarkByShopCode( @Param("list") List<String> shopCodeList, @Param("remark") String remark);
}

View File

@@ -37,7 +37,10 @@
update_time,
deleted,
two_certificates_one,
legal_is_same_partner
legal_is_same_partner,
single_shop,
commitment_url,
food_shop_list_url
</sql>
<update id="updateByShopId">
update xfsg_license_transact

View File

@@ -30,6 +30,7 @@
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
<result property="poi" column="poi" jdbcType="VARCHAR"/>
<result property="storeId" column="store_id" jdbcType="VARCHAR"/>
<result property="dyMobile" column="dy_mobile" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
@@ -40,6 +41,6 @@
settler_bank_name,
account,store_positioning_url,authorization_url,
create_time,update_time,create_user,
update_user,poi,store_id
update_user,poi,store_id,dy_mobile
</sql>
</mapper>

View File

@@ -26,4 +26,15 @@
values (#{item.shopId},#{item.type},#{item.account},#{item.password},#{item.remark},#{item.createTime},#{item.createUser})
</foreach>
</insert>
<update id="batchUpdateYlsRemarkByShopCode">
UPDATE xfsg_pos_and_order_info a LEFT JOIN xfsg_shop_info b on a.`shop_id` = b.id
SET
a.remark = #{remark}
WHERE
b.`shop_code` in(
<foreach collection="list" item="item" separator=",">
#{item}
</foreach>
) AND a.type = 2
</update>
</mapper>

View File

@@ -0,0 +1,31 @@
package com.cool.store.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Author: WangShuo
* @Date: 2025/05/23/14:59
* @Version 1.0
* @注释:
*/
@Data
public class BatchStatusRefreshDTO {
@NotBlank(message = "来源不能为空")
private String systemSource;
@NotEmpty(message = "门店编码不能为空")
private List<String> shopCode;
@NotNull(message = "开通状态")
private Boolean openStatus;
@ApiModelProperty("修改业务表备注")
@NotBlank
private String remark;
}

View File

@@ -87,4 +87,10 @@ public class LicenseTransactDO {
private Integer syncFlag;
@Column(name = "legal_is_same_partner")
private Boolean legalIsSamePartner;
@Column(name = "single_shop")
private Boolean singleShop;
@Column(name = "commitment_url")
private String commitmentUrl;
@Column(name = "food_shop_list_url")
private String foodShopListUrl;
}

View File

@@ -158,4 +158,10 @@ public class PlatformBuildDO {
@Column(name = "store_id")
private String storeId;
/**
* 抖音核销手机号
*/
@Column(name = "dy_mobile")
private String dyMobile;
}

View File

@@ -81,6 +81,10 @@ public class PlatformBuildRequest {
@Length(max = 250, message = "快手平台账号 长度不能超过250")
private String ksAccount;
@ApiModelProperty("抖音核销手机号")
private String dyMobile;
public PlatformBuildDO toDO() {
PlatformBuildDO platformBuildDO = new PlatformBuildDO();
@@ -99,6 +103,7 @@ public class PlatformBuildRequest {
platformBuildDO.setStorePositioningUrl(this.storePositioningUrl);
platformBuildDO.setAuthorizationUrl(this.authorizationUrl);
platformBuildDO.setKsAccount(this.ksAccount);
platformBuildDO.setDyMobile(this.dyMobile);
return platformBuildDO;
}

View File

@@ -38,7 +38,7 @@ public class ThreeAcceptanceRequest {
private String shopInteriorPhoto;
public Boolean miniCheck(){
if (StringUtils.isAnyBlank(this.ksAccount,this.verificationPhone,this.shopLocationScreenshots)){
if (StringUtils.isAnyBlank(this.shopLocationScreenshots)){
return false;
}
return true;

View File

@@ -126,7 +126,7 @@ public class ZxjpApiRequest {
@ApiModelProperty(value = "门店详细地址")
private String shopAddress;
@ApiModelProperty(value = "核销手机号")
@ApiModelProperty(value = "抖音核销手机号")
private String verificationMobile;
@ApiModelProperty(value = "快手号")

View File

@@ -75,6 +75,16 @@ public class BusinessLicenseRequest {
//@NotBlank(message = "法人手机号不能为空")
private String licenseLegalMobile;
@ApiModelProperty("是否单店使用")
@NotNull(message = "是否单店使用不能为空")
private Boolean singleShop;
@ApiModelProperty("美食城承诺书")
private String commitmentUrl;
@ApiModelProperty("美食城档口列表")
private String foodShopListUrl;
public LicenseTransactDO toLicenseTransactDO(LicenseTransactDO licenseTransactDO) {
if (Objects.isNull(licenseTransactDO)){
licenseTransactDO = new LicenseTransactDO();
@@ -99,6 +109,9 @@ public class BusinessLicenseRequest {
}else if (this.validityType == 1){
licenseTransactDO.setValidity(this.validity);
}
licenseTransactDO.setSingleShop(this.singleShop);
licenseTransactDO.setCommitmentUrl(this.commitmentUrl);
licenseTransactDO.setFoodShopListUrl(this.foodShopListUrl);
return licenseTransactDO;
}

View File

@@ -37,4 +37,6 @@ public class PlatformBuildListResponse {
private Integer mtBuyStageStatus;
@ApiModelProperty("快手")
private Integer ksStageStatus;
@ApiModelProperty("京东外卖")
private Integer JDStageStatus;
}

View File

@@ -100,6 +100,8 @@ public class PlatformBuildResponse {
private String shopProvinceCityDistrict;
@ApiModelProperty("门店详细地址")
private String shopAddress;
@ApiModelProperty("抖音核销手机号")
private String dyMobile;
}

View File

@@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -122,7 +123,14 @@ public class SubmitLicenseResponse {
private StoreDocument storeDocument;
@ApiModelProperty("二证合一标识0否 1 是")
private Integer twoCertificatesOne;
@ApiModelProperty("是否单店使用")
private Boolean singleShop;
@ApiModelProperty("美食城承诺书")
private String commitmentUrl;
@ApiModelProperty("美食城档口列表")
private String foodShopListUrl;
@Data
public static class StoreDocument {
@ApiModelProperty("营业执照拍照上传")
@@ -227,6 +235,9 @@ public class SubmitLicenseResponse {
return new SubmitLicenseResponse();
}
SubmitLicenseResponse submitLicenseResponse = new SubmitLicenseResponse();
submitLicenseResponse.setSingleShop(licenseTransactDO.getSingleShop());
submitLicenseResponse.setCommitmentUrl(licenseTransactDO.getCommitmentUrl());
submitLicenseResponse.setFoodShopListUrl(licenseTransactDO.getFoodShopListUrl());
submitLicenseResponse.setLegalIsSamePartner(licenseTransactDO.getLegalIsSamePartner());
submitLicenseResponse.setLicenseLegalIdCardNo(licenseTransactDO.getLicenseLegalIdCardNo());
submitLicenseResponse.setLicenseLegalIdCardFront(licenseTransactDO.getLicenseLegalIdCardFront());

View File

@@ -31,5 +31,5 @@ public interface DataHandlerServer {
//处理2024年10-12月数据
Boolean dataHandlerV20241012(List<Map<String, Object>> dataMapList, String originalFilename, LoginUserInfo user,
ImportTaskDO task);
Integer JingDongStageHandler();
}

View File

@@ -186,4 +186,18 @@ public interface DeskService {
*/
PageInfo<PreparationCommonPendingVO> measurePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user,String keyword);
/**
* 营业执照
*/
PageInfo<PreparationCommonPendingVO> businessLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* 食品安全许可证
*/
PageInfo<PreparationCommonPendingVO> foodLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
/**
* 京东外卖
*/
PageInfo<PreparationCommonPendingVO> JingDongPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user);
}

View File

@@ -112,4 +112,12 @@ public interface LineService {
Integer updateRegionId(Long regionId,Long lineId);
Boolean hasRegionId(Long lineId);
/**
* @Auther: wangshuo
* @Date: 2025/5/27
* @description:小程序ai模块是否展示
*/
Boolean getAiModule();
Boolean setAiModule(Boolean flag);
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.service;
import com.cool.store.dto.BatchStatusRefreshDTO;
import com.cool.store.dto.StatusRefreshDTO;
/**
@@ -17,5 +18,11 @@ public interface OpenApiService {
*/
Boolean statusRefresh(StatusRefreshDTO statusRefreshDTO);
/**
* @Auther: wangshuo
* @Date: 2025/5/23
* @description:不是对外回调接口针对于已经在oa走完数据的我们手动调用接口批量修改数据只做云流水别的别用
*/
Boolean batchStatusRefreshYls(BatchStatusRefreshDTO batchStatusRefreshDTO);
}

View File

@@ -3,6 +3,9 @@ package com.cool.store.service;
import com.cool.store.request.PostAndOrderRequest;
import com.cool.store.response.PosAndOrderResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author EDY

View File

@@ -1,14 +1,12 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*;
import com.cool.store.dto.*;
import com.cool.store.entity.*;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.FileTypeEnum;
import com.cool.store.enums.ImportTaskStatusEnum;
import com.cool.store.enums.PosAndOrderEnum;
import com.cool.store.enums.*;
import com.cool.store.enums.point.ShopStageEnum;
import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
@@ -23,6 +21,7 @@ import com.cool.store.utils.poi.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -911,6 +910,59 @@ public class DataHandlerServerImpl implements DataHandlerServer {
return null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer JingDongStageHandler() {
List<ShopStageInfoDO> subStages = shopStageInfoDAO.getSubStages(ShopSubStageEnum.SHOP_STAGE_19.getShopSubStage());
Set<Long> lineIds = subStages.stream().map(ShopStageInfoDO::getLineId).collect(Collectors.toSet());
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(new ArrayList<>(lineIds));
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line));
List<ShopStageInfoDO> initList = new ArrayList<>();
List<ShopAccountDO> initAccountList = new ArrayList<>();
ShopSubStageEnum shopSubStageEnum = ShopSubStageEnum.SHOP_STAGE_25;
List<Long> shopIds = shopAccountDAO.getShopId();
for (ShopStageInfoDO shopStageInfoDO : subStages) {
LineInfoDO lineInfoDO = lineMap.get(shopStageInfoDO.getLineId());
if (Objects.isNull(lineInfoDO)) {
log.info("线索不存在:{}", shopStageInfoDO.getShopId());
continue;
}
if (shopStageInfoDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus())) {
ShopStageInfoDO shopStageInfo = getShopStageInfoDO(shopSubStageEnum, shopStageInfoDO, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00);
initList.add(shopStageInfo);
}
if (!shopStageInfoDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus())) {
ShopStageInfoDO shopStageInfo = getShopStageInfoDO(shopSubStageEnum, shopStageInfoDO, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_250);
initList.add(shopStageInfo);
}
if (shopIds.contains(shopStageInfoDO.getShopId())) {
ShopAccountDO shopAccountDO = new ShopAccountDO();
shopAccountDO.setShopId(shopStageInfoDO.getShopId());
shopAccountDO.setSystemName(ShopAccountEnum.JINGDONG.getSystemName());
shopAccountDO.setBoundPhone(lineInfoDO.getMobile());
shopAccountDO.setStatus(ShopAccountEnum.JINGDONG.getInitStatus().getCode());
initAccountList.add(shopAccountDO);
}
}
shopAccountDAO.batchInsert(initAccountList);
return shopStageInfoDAO.batchInsert(initList);
}
private static @NotNull ShopStageInfoDO getShopStageInfoDO(ShopSubStageEnum shopSubStageEnum, ShopStageInfoDO shopStageInfoDO, ShopSubStageStatusEnum shopSubStageStatus) {
ShopStageEnum shopStageEnum = shopSubStageEnum.getShopStageEnum();
ShopStageInfoDO shopStageInfo = new ShopStageInfoDO();
shopStageInfo.setLineId(shopStageInfoDO.getLineId());
shopStageInfo.setShopId(shopStageInfoDO.getShopId());
shopStageInfo.setShopStage(shopStageEnum.getShopStage());
shopStageInfo.setShopSubStage(shopSubStageEnum.getShopSubStage());
shopStageInfo.setShopSubStageStatus(shopSubStageStatus.getShopSubStageStatus());
shopStageInfo.setRemark(shopSubStageEnum.getShopSubStageName() + CommonConstants.PATH_BAR + shopSubStageStatus.getShopSubStageStatusName());
shopStageInfo.setIsTerminated(Boolean.FALSE);
shopStageInfo.setPlanCompleteTime(null);
return shopStageInfo;
}
private static boolean check(ImportOaOldShopDataDTO dto, List<ImportOaOldShopDataErrorDTO> errorList) {
if (StringUtil.isBlank(dto.getShopCode())) {
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO();

View File

@@ -53,7 +53,7 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD_HH_MM_SS;
public class DeskServiceImpl implements DeskService {
@Resource
private SignFranchiseDAO signFranchiseDAO;
private SignFranchiseDAO signFranchiseDAO;
@Resource
DecorationMeasureDAO decorationMeasureDAO;
@Resource
@@ -244,15 +244,21 @@ public class DeskServiceImpl implements DeskService {
PageInfo<PreparationCommonPendingVO> pageInfo = new PageInfo<>();
List<Integer> subStageStatusList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(userRoleIds)) {
if (userRoleIds.contains(UserRoleEnum.JOIN_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) {
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus());
}
if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) {
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus());
}
if (!subStageStatusList.isEmpty()) {
//督导代填
if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) {
pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7,
subStageStatusList, Boolean.TRUE,keyword);
Arrays.asList(SHOP_SUB_STAGE_STATUS_71.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_74.getShopSubStageStatus()), Boolean.FALSE);
} else {
if (userRoleIds.contains(UserRoleEnum.JOIN_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) {
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus());
}
if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) {
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus());
}
if (!subStageStatusList.isEmpty()) {
pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7,
subStageStatusList, Boolean.TRUE);
}
}
}
return pageInfo;
@@ -342,7 +348,7 @@ public class DeskServiceImpl implements DeskService {
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds);
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line));
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet));
@@ -355,7 +361,7 @@ public class DeskServiceImpl implements DeskService {
if (lineInfoDO == null) {
continue;
}
SignFranchiseDO signFranchiseDO = signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(),new SignFranchiseDO());
SignFranchiseDO signFranchiseDO = signTypeMap.getOrDefault(preparationCommonPendingVO.getShopId(), new SignFranchiseDO());
preparationCommonPendingVO.setSignType(signFranchiseDO.getSignType());
preparationCommonPendingVO.setPartnerName(lineInfoDO.getUsername());
preparationCommonPendingVO.setPartnerPhone(lineInfoDO.getMobile());
@@ -429,6 +435,10 @@ public class DeskServiceImpl implements DeskService {
@Override
public PageInfo<PreparationCommonPendingVO> buildInformationPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user,String keyword) {
List<Long> userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId());
if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) {
return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_15,
Collections.singletonList(SHOP_SUB_STAGE_STATUS_150.getShopSubStageStatus()), Boolean.FALSE );
}
//如果不是财务角色或者即是财务又是自有店财务 则不需要标识
Boolean ownShopFlag = null;
if (userRoleIds.contains(UserRoleEnum.FINANCE.getCode())&&userRoleIds.contains(UserRoleEnum.OWN_SHOP_OFFICE.getCode())){
@@ -490,7 +500,7 @@ public class DeskServiceImpl implements DeskService {
List<LineInfoDO> lineInfoDOS = lineInfoDAO.getByLineIds(lineIds);
Map<Long, LineInfoDO> lineMap = lineInfoDOS.stream().collect(Collectors.toMap(LineInfoDO::getId, line -> line));
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Set<Long> regionIdSet = list.stream().map(PreparationCommonPendingVO::getRegionId).collect(Collectors.toSet());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(new ArrayList<>(regionIdSet));
@@ -514,6 +524,23 @@ public class DeskServiceImpl implements DeskService {
return new PageInfo<>();
}
@Override
public PageInfo<PreparationCommonPendingVO> businessLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_3,
Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_30.getShopSubStageStatus()), Boolean.FALSE );
}
@Override
public PageInfo<PreparationCommonPendingVO> foodLicensePendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
return commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_4,
Collections.singletonList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_40.getShopSubStageStatus()), Boolean.FALSE );
}
@Override
public PageInfo<PreparationCommonPendingVO> JingDongPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
return commonPlatformBuild(pageNum, pageSize, user, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_251.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_253.getShopSubStageStatus()));
}
/**
* 通用查询
@@ -557,7 +584,7 @@ public class DeskServiceImpl implements DeskService {
List<PlanLineDTO> lines = lineInfoDAO.getLines(lineIds);
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
//将shopInfoList 转为map
Map<Long, ShopInfoDO> shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getId, shop -> shop));
//将lines 转为map
@@ -653,7 +680,7 @@ public class DeskServiceImpl implements DeskService {
Map<Long, PlanLineDTO> lineMap = lines.stream().collect(Collectors.toMap(PlanLineDTO::getLineId, line -> line));
List<SignFranchiseDO> signType = signFranchiseDAO.getSignType(shopIds);
Map<Long,SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
Map<Long, SignFranchiseDO> signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto));
List<Long> regionIds = shopInfoList.stream().map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList());
List<String> developmentManagers = shopInfoList.stream().filter(x -> StringUtil.isNotEmpty(x.getShopManagerUserId())).map(ShopInfoDO::getShopManagerUserId).distinct().collect(Collectors.toList());

View File

@@ -3,6 +3,7 @@ package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*;
import com.cool.store.entity.*;
@@ -13,6 +14,8 @@ import com.cool.store.mapper.IntentAgreementMapper;
import com.cool.store.mapper.JoinIntentionMapper;
import com.cool.store.request.*;
import com.cool.store.service.*;
import com.cool.store.utils.RedisConstantUtil;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil;
import com.cool.store.utils.UUIDUtils;
import com.cool.store.utils.poi.DateUtils;
@@ -22,9 +25,11 @@ import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -37,6 +42,10 @@ import java.util.stream.Collectors;
@Service
public class LineServiceImpl implements LineService {
@Autowired
private RedisUtilPool redisUtilPool;
@Autowired
private RedisConstantUtil redisConstantUtil;
@Resource
ShopInfoDAO shopInfoDAO;
@Resource
@@ -666,6 +675,24 @@ public class LineServiceImpl implements LineService {
return false;
}
@Override
public Boolean getAiModule() {
String key =redisConstantUtil.getAiModuleKey();
String value = redisUtilPool.getString(key);
if (StringUtils.isEmpty(value)){
return true;
}else {
return Boolean.valueOf(value);
}
}
@Override
public Boolean setAiModule(Boolean flag) {
String key =redisConstantUtil.getAiModuleKey();
redisUtilPool.setString(key,flag.toString());
return true;
}
/**
* 计算预期时间
* @param startTime

View File

@@ -1,8 +1,10 @@
package com.cool.store.service.impl;
import com.cool.store.dao.PosAndOrderInfoDAO;
import com.cool.store.dao.ShopAccountDAO;
import com.cool.store.dao.ShopInfoDAO;
import com.cool.store.dao.ShopStageInfoDAO;
import com.cool.store.dto.BatchStatusRefreshDTO;
import com.cool.store.dto.StatusRefreshDTO;
import com.cool.store.entity.ShopAccountDO;
import com.cool.store.entity.ShopInfoDO;
@@ -15,13 +17,16 @@ import com.cool.store.exception.ServiceException;
import com.cool.store.request.PostAndOrderRequest;
import com.cool.store.service.OpenApiService;
import com.cool.store.service.PosAndOrderInfoService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
@@ -30,6 +35,7 @@ import java.util.Objects;
* @Version 1.0
*/
@Slf4j
@Service
public class OpenApiServiceImpl implements OpenApiService {
@@ -41,7 +47,8 @@ public class OpenApiServiceImpl implements OpenApiService {
ShopStageInfoDAO shopStageInfoDAO;
@Resource
PosAndOrderInfoService posAndOrderInfoService;
@Resource
PosAndOrderInfoDAO posAndOrderInfoDAO;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -79,4 +86,26 @@ public class OpenApiServiceImpl implements OpenApiService {
return Boolean.TRUE;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean batchStatusRefreshYls(BatchStatusRefreshDTO batchStatusRefreshDTO) {
if (CollectionUtils.isEmpty(batchStatusRefreshDTO.getShopCode())){
log.info("数据处理 门店编码为空");
return null;
}
for (String shopCode : batchStatusRefreshDTO.getShopCode()){
StatusRefreshDTO statusRefreshDTO = new StatusRefreshDTO();
statusRefreshDTO.setShopCode(shopCode);
statusRefreshDTO.setSystemSource(batchStatusRefreshDTO.getSystemSource());
statusRefreshDTO.setOpenStatus(batchStatusRefreshDTO.getOpenStatus());
this.statusRefresh(statusRefreshDTO);
}
List<String> shopCodeList = new ArrayList<>();
for (String shopCode : batchStatusRefreshDTO.getShopCode()){
shopCodeList.add(StringUtils.substringAfter(shopCode, "_"));
}
posAndOrderInfoDAO.batchUpdateYlsRemarkByShopCode(shopCodeList,batchStatusRefreshDTO.getRemark());
return true;
}
}

View File

@@ -126,6 +126,7 @@ public class OperationLogServiceImpl implements OperationLogService {
|| operationLogDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_201.getShopSubStageStatus())
|| operationLogDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_213.getShopSubStageStatus())
|| operationLogDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_221.getShopSubStageStatus())
|| operationLogDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_253.getShopSubStageStatus())
) {
auditInfoResponse.setExecute(AuditExecuteEnum.HEADQUARTERS.getCode());
}else {

View File

@@ -231,6 +231,30 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
return platformBuildDAO.updateByShopIdAndTypeSelective(platformBuild);
}
}
//京东外卖
if (type.equals(PlatformBuildEnum.JING_DONG_WAI_MAI.getCode())) {
ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_25);
if (!shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_250.getShopSubStageStatus())
&& !shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_254.getShopSubStageStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
}
List<EnterpriseUserDO> jdUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.JING_DONG_OPERATIONS_CUSTOMER, regionId);
List<String> jdUserIds = new ArrayList<>();
if (Objects.nonNull(jdUser)) {
jdUserIds.addAll(jdUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
}
commonService.sendQWMessage(jdUserIds,
MessageEnum.MESSAGE_60,
map);
if (Objects.isNull(platformBuildDO)) {
extracted(partnerUserInfoVO, shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_250, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_251,
jdUser);
} else {
extracted(partnerUserInfoVO, shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_254, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_251,
jdUser);
return platformBuildDAO.updateByShopIdAndTypeSelective(platformBuild);
}
}
return platformBuildDAO.insertSelective(platformBuild);
}
@@ -321,6 +345,8 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
dto.setElMeStageStatus(stageDTO.getShopSubStageStatus());
} else if (stageDTO.getShopSubStage().equals(ShopSubStageEnum.SHOP_STAGE_22.getShopSubStage())) {
dto.setKsStageStatus(stageDTO.getShopSubStageStatus());
}else if (stageDTO.getShopSubStage().equals(ShopSubStageEnum.SHOP_STAGE_25.getShopSubStage())) {
dto.setJDStageStatus(stageDTO.getShopSubStageStatus());
}
}
}
@@ -377,7 +403,11 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
ShopAuditInfoDO auditInfo = shopAuditInfoDAO.getAuditInfo(platformBuildDO.getAuditId());
doSomething(platformBuildResponse, trial, auditInfo);
} else {
} else if (type.equals(PlatformBuildEnum.JING_DONG_WAI_MAI.getCode())) {
OperationLogDO trial = operationLogDAO.getByCondition(shopId, SHOP_SUB_STAGE_STATUS_251.getShopSubStageStatus());
ShopAuditInfoDO auditInfo = shopAuditInfoDAO.getAuditInfo(platformBuildDO.getAuditId());
doSomething(platformBuildResponse, trial, auditInfo);
}else {
ShopAuditInfoDO auditInfo = shopAuditInfoDAO.getAuditInfo(platformBuildDO.getAuditId());
if (Objects.nonNull(auditInfo)) {
if (auditInfo.getResultType().equals(AuditResultTypeEnum.PASS.getCode())) {
@@ -494,6 +524,27 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
}
return CommonConstants.ONE;
}
if (type.equals(PlatformBuildEnum.JING_DONG_WAI_MAI.getCode())) {
ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_25);
if (!shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_251.getShopSubStageStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
}
ShopAuditInfoDO shopAuditInfoDO = PlatformBuildAuditRequest.convert(request, AuditTypeEnum.JINg_DONG_WAI_MAI);
doThing(platformBuildDO, request, shopAuditInfoDO, shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_251, SHOP_SUB_STAGE_STATUS_253, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_254);
if (request.getResultType().equals(AuditResultTypeEnum.PASS.getCode())) {
List<EnterpriseUserDO> elmUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.JING_DONG_HEADQUARTERS_BUILD_CUSTOMER, regionId);
List<String> elmUserIds = new ArrayList<>();
if (Objects.nonNull(elmUser)) {
elmUserIds.addAll(elmUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
}
operationLogService.addOperationLog(shopId, SHOP_SUB_STAGE_STATUS_253, request.getOperateUserId(),
elmUser, OperationTypeEnum.OPERATION_TYPE_1, null, OperationStatusEnum.NOT_PROCESSED);
commonService.sendQWMessage(elmUserIds,
MessageEnum.MESSAGE_61,
map);
}
return CommonConstants.ONE;
}
return 0;
}
@@ -519,6 +570,15 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
ShopAuditInfoDO shopAuditInfoDO = PlatformBuildAuditRequest.convert(request, AuditTypeEnum.MEI_TUAN_WAI_MAI);
return doThing(platformBuildDO, request, shopAuditInfoDO, shopId, SHOP_SUB_STAGE_STATUS_193, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_195, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_194);
}
if (type.equals(PlatformBuildEnum.JING_DONG_WAI_MAI.getCode())) {
ShopStageInfoDO shopSubStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_25);
if (!shopSubStageInfo.getShopSubStageStatus().equals(SHOP_SUB_STAGE_STATUS_253.getShopSubStageStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
}
ShopAuditInfoDO shopAuditInfoDO = PlatformBuildAuditRequest.convert(request, AuditTypeEnum.JINg_DONG_WAI_MAI);
return doThing(platformBuildDO, request, shopAuditInfoDO, shopId, SHOP_SUB_STAGE_STATUS_253, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_255, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_254);
}
return 0;
}

View File

@@ -251,6 +251,7 @@ public class PreparationServiceImpl implements PreparationService {
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_200);
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_210);
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_220);
list.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_250);
shopStageInfoDAO.batchUpdateShopStageStatus(shopId, list);
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId());

View File

@@ -761,6 +761,8 @@ public class ShopServiceImpl implements ShopService {
case SHOP_SUB_STAGE_STATUS_214:
case SHOP_SUB_STAGE_STATUS_220:
case SHOP_SUB_STAGE_STATUS_222:
case SHOP_SUB_STAGE_STATUS_250:
case SHOP_SUB_STAGE_STATUS_254:
return Collections.singletonList(new UserDTO(lineInfo.getUsername(), lineInfo.getMobile()));
case SHOP_SUB_STAGE_STATUS_11:
@@ -836,18 +838,22 @@ public class ShopServiceImpl implements ShopService {
return getUsersByRoleAndRegion(DOU_YIN_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_191:
case SHOP_SUB_STAGE_STATUS_193:
return getUsersByRoleAndRegion(UserRoleEnum.MEI_TUAN_OPERATIONS_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_193:
return getUsersByRoleAndRegion(UserRoleEnum.MEI_TUAN_HEADQUARTERS_BUILD_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_201:
return getUsersByRoleAndRegion(UserRoleEnum.MEI_TUAN_BUY_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_211:
case SHOP_SUB_STAGE_STATUS_213:
return getUsersByRoleAndRegion(UserRoleEnum.E_L_ME_TUAN_OPERATIONS_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_213:
return getUsersByRoleAndRegion(UserRoleEnum.E_L_ME_HEADQUARTERS_BUILD_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_221:
return getUsersByRoleAndRegion(UserRoleEnum.KUAI_SHOU_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_251:
return getUsersByRoleAndRegion(UserRoleEnum.JING_DONG_OPERATIONS_CUSTOMER, shopInfo.getRegionId());
case SHOP_SUB_STAGE_STATUS_253:
return getUsersByRoleAndRegion(UserRoleEnum.JING_DONG_HEADQUARTERS_BUILD_CUSTOMER, shopInfo.getRegionId());
default:
return Collections.emptyList();

View File

@@ -330,94 +330,113 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
public Boolean auditApprove(AuditApproveRequest request, LoginUserInfo user) {
log.info("SignFranchiseServiceImpl auditApprove request{}", JSONObject.toJSONString(request));
Long shopId = request.getShopId();
ShopSubStageStatusEnum shopSubStageStatusEnum = null;
if (request.getAuditResult() == 1) {
shopSubStageStatusEnum = SHOP_SUB_STAGE_STATUS_84;
} else if (request.getAuditResult() == 0) {
shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85;
}
ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO();
shopAuditInfoDO.setShopId(shopId);
shopAuditInfoDO.setAuditType(AuditTypeEnum.SIGN_FRANCHISE.getCode());
shopAuditInfoDO.setSubmittedUserId(user.getUserId());
shopAuditInfoDO.setSubmittedUserName(user.getName());
//驳回
if (Constants.ZERO_INTEGER.equals(request.getAuditResult())) {
shopAuditInfoDO.setResultType(Constants.ONE_INTEGER);
shopAuditInfoDO.setRejectReason(request.getCause());
Map<String, String> requestMap = new HashMap<>();
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId);
LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
shopStageInfoDAO.updateShopStageInfo(shopId, shopSubStageStatusEnum);
Set<String> auditFranchiseFeeUsers = new HashSet<>();
List<EnterpriseUserDO> branchUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.JOIN_OFFICE, shopInfoDO.getRegionId());
if (Objects.nonNull(branchUser)) {
Set<String> branchUserIds = branchUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toSet());
auditFranchiseFeeUsers.addAll(branchUserIds);
}
List<EnterpriseUserDO> regionUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(REGION_OFFICE, shopInfoDO.getRegionId());
if (Objects.nonNull(regionUser)) {
Set<String> regionUserIds = regionUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toSet());
auditFranchiseFeeUsers.addAll(regionUserIds);
}
requestMap.put("storeName", shopInfoDO.getShopName());
requestMap.put("partnerName", lineInfo.getUsername());
requestMap.put("partnerMobile", lineInfo.getMobile());
requestMap.put("lineId", String.valueOf(lineInfo.getId()));
requestMap.put("shopId", String.valueOf(shopInfoDO.getId()));
commonService.sendMessage(new ArrayList<>(auditFranchiseFeeUsers), MessageEnum.MESSAGE_20, requestMap);
} else if (Constants.ONE_INTEGER.equals(request.getAuditResult())) {
shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER);
shopAuditInfoDO.setPassReason(request.getCause());
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
//更新状态为加盟商
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
//暂时去掉
lineInfoDO.setJoinStatus(CommonConstants.TWO);
lineInfoMapper.insertOrUpdate(lineInfoDO);
shopStageInfoDAO.updateShopStageInfo(shopId, shopSubStageStatusEnum);
//初始化数据
preparationService.contractAndBuildStoreCompletion(request.getShopId());
//判断是否是老店新开
SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId);
log.info("加盟合同审批时签约类型:{}",SignTypeEnum.getDescByCode(signFranchiseDO.getSignType()));
Boolean sendNotice = Boolean.TRUE;
if (SignTypeEnum.OLD_NEW_OPEN.getCode().equals(signFranchiseDO.getSignType())||SignTypeEnum.DIRECT_SALES_TO_JOINING.getCode().equals(signFranchiseDO.getSignType())){
//老店新开时装修与开业直接完成
shopStageInfoDAO.batchUpdateByShopIdsAndSubStageStatus(Arrays.asList(shopId),Arrays.asList(
SHOP_SUB_STAGE_STATUS_863,SHOP_SUB_STAGE_STATUS_91,SHOP_SUB_STAGE_STATUS_112,SHOP_SUB_STAGE_STATUS_123,SHOP_SUB_STAGE_STATUS_143
));
//老店新开 不需要装修与开业 无需发送通知
sendNotice = Boolean.FALSE;
}
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT);
if (sendNotice){
HashMap<String, String> map = new HashMap<>();
map.put("partnerUsername", lineInfoDO.getUsername());
map.put("partnerMobile", lineInfoDO.getMobile());
map.put("storeName", shopInfoDO.getShopName());
List<EnterpriseUserDO> userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId());
List<String> finances = new ArrayList<>();
if (Objects.nonNull(userDOList)) {
finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
String lockKey = "auditApproveSignFranchise:" + request.getShopId();
//流水
String lockValue = UUID.randomUUID().toString();
boolean acquired = false;
try {
//10s过期
acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS);
if (Boolean.TRUE.equals(acquired)) {
ShopSubStageStatusEnum shopSubStageStatusEnum = null;
if (request.getAuditResult() == 1) {
shopSubStageStatusEnum = SHOP_SUB_STAGE_STATUS_84;
} else if (request.getAuditResult() == 0) {
shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85;
}
ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO();
shopAuditInfoDO.setShopId(shopId);
shopAuditInfoDO.setAuditType(AuditTypeEnum.SIGN_FRANCHISE.getCode());
shopAuditInfoDO.setSubmittedUserId(user.getUserId());
shopAuditInfoDO.setSubmittedUserName(user.getName());
//驳回
if (Constants.ZERO_INTEGER.equals(request.getAuditResult())) {
shopAuditInfoDO.setResultType(Constants.ONE_INTEGER);
shopAuditInfoDO.setRejectReason(request.getCause());
Map<String, String> requestMap = new HashMap<>();
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId);
LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
shopStageInfoDAO.updateShopStageInfo(shopId, shopSubStageStatusEnum);
Set<String> auditFranchiseFeeUsers = new HashSet<>();
List<EnterpriseUserDO> branchUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.JOIN_OFFICE, shopInfoDO.getRegionId());
if (Objects.nonNull(branchUser)) {
Set<String> branchUserIds = branchUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toSet());
auditFranchiseFeeUsers.addAll(branchUserIds);
}
List<EnterpriseUserDO> regionUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(REGION_OFFICE, shopInfoDO.getRegionId());
if (Objects.nonNull(regionUser)) {
Set<String> regionUserIds = regionUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toSet());
auditFranchiseFeeUsers.addAll(regionUserIds);
}
requestMap.put("storeName", shopInfoDO.getShopName());
requestMap.put("partnerName", lineInfo.getUsername());
requestMap.put("partnerMobile", lineInfo.getMobile());
requestMap.put("lineId", String.valueOf(lineInfo.getId()));
requestMap.put("shopId", String.valueOf(shopInfoDO.getId()));
commonService.sendMessage(new ArrayList<>(auditFranchiseFeeUsers), MessageEnum.MESSAGE_20, requestMap);
} else if (Constants.ONE_INTEGER.equals(request.getAuditResult())) {
shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER);
shopAuditInfoDO.setPassReason(request.getCause());
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
//更新状态为加盟商
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
//暂时去掉
lineInfoDO.setJoinStatus(CommonConstants.TWO);
lineInfoMapper.insertOrUpdate(lineInfoDO);
shopStageInfoDAO.updateShopStageInfo(shopId, shopSubStageStatusEnum);
//初始化数据
preparationService.contractAndBuildStoreCompletion(request.getShopId());
//判断是否是老店新开
SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId);
log.info("加盟合同审批时签约类型:{}", SignTypeEnum.getDescByCode(signFranchiseDO.getSignType()));
Boolean sendNotice = Boolean.TRUE;
if (SignTypeEnum.OLD_NEW_OPEN.getCode().equals(signFranchiseDO.getSignType()) || SignTypeEnum.DIRECT_SALES_TO_JOINING.getCode().equals(signFranchiseDO.getSignType())) {
//老店新开时装修与开业直接完成
shopStageInfoDAO.batchUpdateByShopIdsAndSubStageStatus(Arrays.asList(shopId), Arrays.asList(
SHOP_SUB_STAGE_STATUS_863, SHOP_SUB_STAGE_STATUS_91, SHOP_SUB_STAGE_STATUS_112, SHOP_SUB_STAGE_STATUS_123, SHOP_SUB_STAGE_STATUS_143
));
//老店新开 不需要装修与开业 无需发送通知
sendNotice = Boolean.FALSE;
}
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT);
if (sendNotice) {
HashMap<String, String> map = new HashMap<>();
map.put("partnerUsername", lineInfoDO.getUsername());
map.put("partnerMobile", lineInfoDO.getMobile());
map.put("storeName", shopInfoDO.getShopName());
List<EnterpriseUserDO> userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId());
List<String> finances = new ArrayList<>();
if (Objects.nonNull(userDOList)) {
finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
}
List<String> liGuiNeiQinList = enterpriseUserRoleDao.selectUserIdsByRoleIdList(Arrays.asList(UserRoleEnum.CONSTRUCTION_CUSTOMER.getCode()));
commonService.sendQWMessage(liGuiNeiQinList,
MessageEnum.MESSAGE_57,
map);
commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getInvestmentManager()),
MessageEnum.MESSAGE_26,
map);
}
}
shopAuditInfoMapper.insertSelective(shopAuditInfoDO);
Long auditId = shopAuditInfoDO.getId();
signFranchiseMapper.updateAuditByShopId(auditId, shopId);
//审批记录表记录
List<OperationLogDO> operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, OperationTypeEnum.OPERATION_TYPE_1.getCode());
operationLogService.batchUpdateProcessed(operationLogs, auditId, user.getUserId(), request.getCause());
return true;
} else {
throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION);
}
} finally {
if (Boolean.TRUE.equals(acquired)) {
String currentValue = redisUtilPool.getString(lockKey);
if (lockValue.equals(currentValue)) {
redisUtilPool.delKey(lockKey);
}
List<String> liGuiNeiQinList = enterpriseUserRoleDao.selectUserIdsByRoleIdList(Arrays.asList(UserRoleEnum.CONSTRUCTION_CUSTOMER.getCode()));
commonService.sendQWMessage(liGuiNeiQinList,
MessageEnum.MESSAGE_57,
map);
commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getInvestmentManager()),
MessageEnum.MESSAGE_26,
map);
}
}
shopAuditInfoMapper.insertSelective(shopAuditInfoDO);
Long auditId = shopAuditInfoDO.getId();
signFranchiseMapper.updateAuditByShopId(auditId, shopId);
//审批记录表记录
List<OperationLogDO> operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, OperationTypeEnum.OPERATION_TYPE_1.getCode());
operationLogService.batchUpdateProcessed(operationLogs, auditId, user.getUserId(), request.getCause());
return true;
}
public AddSignFranchiseResponse from(SignFranchiseDO signFranchiseDO,
@@ -538,9 +557,9 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
if (Objects.nonNull(franchiseFeeDO)) {
addSignFranchiseResponse.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee());
addSignFranchiseResponse.setBigYearFranchiseFee(Convert.digitToChinese( new BigDecimal(franchiseFeeDO.getYearFranchiseFee())));
addSignFranchiseResponse.setBigYearFranchiseFee(Convert.digitToChinese(new BigDecimal(franchiseFeeDO.getYearFranchiseFee())));
addSignFranchiseResponse.setLoanMargin(franchiseFeeDO.getLoanMargin());
addSignFranchiseResponse.setBigLoanMargin(Convert.digitToChinese( new BigDecimal(franchiseFeeDO.getLoanMargin())));
addSignFranchiseResponse.setBigLoanMargin(Convert.digitToChinese(new BigDecimal(franchiseFeeDO.getLoanMargin())));
addSignFranchiseResponse.setFirstYearStartTime(franchiseFeeDO.getFirstYearStartTime());
addSignFranchiseResponse.setFirstYearEndTime(franchiseFeeDO.getFirstYearEndTime());
addSignFranchiseResponse.setFirstYearFee(franchiseFeeDO.getFirstYearFee());
@@ -552,7 +571,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
addSignFranchiseResponse.setThirdYearEndTime(franchiseFeeDO.getThirdYearEndTime());
addSignFranchiseResponse.setThirdYearFee(franchiseFeeDO.getThirdYearFee());
addSignFranchiseResponse.setPerformanceBond(franchiseFeeDO.getPerformanceBond());
addSignFranchiseResponse.setBigPerformanceBond(Convert.digitToChinese( new BigDecimal(franchiseFeeDO.getPerformanceBond())));
addSignFranchiseResponse.setBigPerformanceBond(Convert.digitToChinese(new BigDecimal(franchiseFeeDO.getPerformanceBond())));
}
return addSignFranchiseResponse;
}

View File

@@ -9,6 +9,7 @@ import com.cool.store.entity.*;
import com.cool.store.enums.DownSystemTypeEnum;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.FranchiseBrandEnum;
import com.cool.store.enums.PlatformBuildEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ApplyLicenseMapper;
import com.cool.store.mapper.SignFranchiseMapper;
@@ -64,6 +65,8 @@ public class SyncDataServiceImpl implements SyncDataService {
private PointInfoDAO pointInfoDAO;
@Resource
private EnterpriseUserDAO enterpriseUserDAO;
@Resource
private PlatformBuildDAO platformBuildDAO;
@Override
public ZxjpApiRequest getData(Long shopId, DownSystemTypeEnum systemType) {
@@ -99,6 +102,10 @@ public class SyncDataServiceImpl implements SyncDataService {
String investmentManager = enterpriseUserDAO.getUserName(shopInfo.getInvestmentManager());
QualificationsInfoDO qualificationsInfoDO = qualificationsInfoDAO.getByLineId(lineId);
//抖音
PlatformBuildDO dyPlatformBuildDO = platformBuildDAO.selectOneByShopId(shopId, PlatformBuildEnum.DOU_YIN.getCode());
//快手
PlatformBuildDO ksPlatformBuildDO = platformBuildDAO.selectOneByShopId(shopId, PlatformBuildEnum.KUAI_SHOU.getCode());
request.setPartnerIdCardNo(qualificationsInfoDO.getIdCardNo());
request.setShopAddress(shopInfo.getDetailAddress());
@@ -154,7 +161,8 @@ public class SyncDataServiceImpl implements SyncDataService {
request.setDeclareGoodsLogisticsWarehouseName(warehouseInfoDO.getWarehouseName());
}
request.setDeclareGoodsType(orderSysInfoDO.getDeclareGoodsType());
request.setDeclareGoodsDate(JSONUtils.parseToListOrMap(orderSysInfoDO.getDeclareGoodsDate(), new TypeReference<List<DeclareGoodsDateDTO>>() {}));
request.setDeclareGoodsDate(JSONUtils.parseToListOrMap(orderSysInfoDO.getDeclareGoodsDate(), new TypeReference<List<DeclareGoodsDateDTO>>() {
}));
request.setReceivingFirmName(orderSysInfoDO.getReceivingFirmName());
request.setReceivingMSBankAccount(orderSysInfoDO.getReceivingMsBankAccount());
request.setReceivingMSBankBranch(orderSysInfoDO.getReceivingMsBankBranch());
@@ -167,8 +175,12 @@ public class SyncDataServiceImpl implements SyncDataService {
request.setShopInteriorPhoto(getUrlList(acceptanceInfoDO.getShopInteriorPhoto()));
request.setShopLocationScreenshots(getUrl(acceptanceInfoDO.getShopLocationScreenshots()));
request.setVerificationMobile(acceptanceInfoDO.getVerificationMobile());
request.setKsAccount(acceptanceInfoDO.getKsAccount());
}
if (dyPlatformBuildDO != null) {
request.setVerificationMobile(dyPlatformBuildDO.getDyMobile());
}
if (ksPlatformBuildDO != null) {
request.setKsAccount(ksPlatformBuildDO.getKsAccount());
}
if (buildInformationDO != null) {
request.setBusinessHours(buildInformationDO.getBusinessHours());
@@ -219,7 +231,7 @@ public class SyncDataServiceImpl implements SyncDataService {
request.setShopProvince(pointInfo.getProvince());
request.setShopCity(pointInfo.getCity());
}
log.info("/pushData 数据 {}",JSONObject.toJSONString(request));
log.info("/pushData 数据 {}", JSONObject.toJSONString(request));
return request;
}

View File

@@ -123,4 +123,9 @@ public class DataHandlerController {
dataHandlerServer.dataHandlerV20241012(dataMapList, file.getOriginalFilename(), CurrentUserHolder.getUser(), importTaskDO);
return ResponseResult.success(true);
}
@GetMapping("/JingDongStageHandler")
@ApiOperation("京东阶段处理")
public ResponseResult<Integer> JingDongStageHandler() {
return ResponseResult.success(dataHandlerServer.JingDongStageHandler());
}
}

View File

@@ -226,4 +226,27 @@ public class DeskController {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.measurePendingList(pageNumber, pageSize, userInfo,keyword));
}
@ApiOperation("待处理-营业执照")
@GetMapping("/businessLicensePendingList")
public ResponseResult<PageInfo<PreparationCommonPendingVO>> businessLicensePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.businessLicensePendingList(pageNumber,pageSize,userInfo));
}
@ApiOperation("待处理-食品许可证")
@GetMapping("/foodLicensePendingList")
public ResponseResult<PageInfo<PreparationCommonPendingVO>> foodLicensePendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.foodLicensePendingList(pageNumber,pageSize,userInfo));
}
@ApiOperation("待处理-京东外卖")
@GetMapping("/JingDongPendingList")
public ResponseResult<PageInfo<PreparationCommonPendingVO>> JingDongPendingList(@RequestParam(value = "pageNumber",required = true,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = true,defaultValue = "10")Integer pageSize) {
LoginUserInfo userInfo = CurrentUserHolder.getUser();
return ResponseResult.success(deskService.JingDongPendingList(pageNumber,pageSize,userInfo));
}
}

View File

@@ -190,5 +190,16 @@ public class LineInfoController {
public ResponseResult<Boolean> hasLineRegion(@RequestParam("lineId")Long lineId) {
return ResponseResult.success(lineService.hasRegionId(lineId));
}
@ApiOperation("获取ai模块是否展示true展示false不展示")
@GetMapping("/getAiModule")
public ResponseResult<Boolean> getAiModule() {
return ResponseResult.success(lineService.getAiModule());
}
@ApiOperation("设置ai模块是否展示true展示false不展示")
@GetMapping("/setAiModule")
public ResponseResult<Boolean> setAiModule(@RequestParam("flag") Boolean flag) {
return ResponseResult.success(lineService.setAiModule(flag));
}
}

View File

@@ -1,10 +1,7 @@
package com.cool.store.controller.webb;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.dto.AskBotTokenDTO;
import com.cool.store.dto.GetAccessTokenDTO;
import com.cool.store.dto.StatusRefreshDTO;
import com.cool.store.dto.StoreDTO;
import com.cool.store.dto.*;
import com.cool.store.request.OpenApiStoreRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.response.bigdata.ApiResponse;

View File

@@ -2,19 +2,21 @@ package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.request.LicenseListRequest;
import com.cool.store.request.license.BusinessLicenseRequest;
import com.cool.store.request.license.FoodLicenseRequest;
import com.cool.store.response.LicenseListResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.response.SubmitLicenseResponse;
import com.cool.store.service.ApplyLicenseService;
import com.cool.store.vo.PartnerUserInfoVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
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 org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -60,4 +62,22 @@ public class PCApplyLicenseController {
LoginUserInfo user = CurrentUserHolder.getUser();
return ResponseResult.success(applyLicenseService.licenseExamine(shopId, status, result, user));
}
@ApiOperation("证照办理提交-营业执照")
@PostMapping("/submitBusinessLicense")
public ResponseResult submitBusinessLicense(@RequestBody @Validated BusinessLicenseRequest request) {
PartnerUserInfoVO user = PartnerUserHolder.getUser();
return ResponseResult.success(applyLicenseService.submitBusinessLicense(request,user));
}
@ApiOperation("证照办理提交-食品许可证")
@PostMapping("/submitFoodLicense")
public ResponseResult submitFoodLicense(@RequestBody FoodLicenseRequest request) {
PartnerUserInfoVO user = PartnerUserHolder.getUser();
return ResponseResult.success(applyLicenseService.submitFoodLicense(request,user));
}
}

View File

@@ -0,0 +1,51 @@
package com.cool.store.controller.webb;
import com.cool.store.entity.BankdocDO;
import com.cool.store.entity.BanktypeDO;
import com.cool.store.request.BankRequest;
import com.cool.store.request.BranchBankPageRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.BankService;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author Fun Li 2023/8/10 14:20
* @version 1.0
*/
@RestController
@RequestMapping("/pc/bank")
@Api(tags = "PC银行信息")
@Slf4j
public class PCBankController {
@Autowired
private BankService bankService;
@ApiOperation("银行类型")
@GetMapping("/listBank")
public ResponseResult<List<BanktypeDO>> listBank() {
List<BanktypeDO> result = bankService.listBank();
return ResponseResult.success(result);
}
@ApiOperation("添加银行")
@PostMapping("/addBank")
public ResponseResult<Boolean> listBank(@RequestBody(required = true) BankRequest bankRequest) {
return ResponseResult.success( bankService.addBank(bankRequest.getName()));
}
@ApiOperation("支行列表查询")
@PostMapping("/listBranchBank")
public ResponseResult<PageInfo<BankdocDO>> listBranchBank(@RequestBody @Validated BranchBankPageRequest request) {
return ResponseResult.success(bankService.listBranchBank(request));
}
}

View File

@@ -1,14 +1,13 @@
package com.cool.store.controller.webb;
import com.cool.store.request.BuildInformationRequest;
import com.cool.store.response.BuildInformationResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.BuildInformationService;
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 org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -31,4 +30,16 @@ public class PCBuildInformationController {
return ResponseResult.success(buildInformationService.getBuildInformation(shopId));
}
@ApiOperation("提交/修改")
@PostMapping("/submitOrUpdate")
public ResponseResult<Integer> submitBuildInformation(@RequestBody @Validated BuildInformationRequest request) {
return ResponseResult.success(buildInformationService.submitOrUpdate(request));
}
@ApiOperation("获取加盟类型 1 - 个人加盟 2- 企业加盟")
@GetMapping("/getJoinType")
public ResponseResult<Integer> getJoinType(@RequestParam(value = "lineId", required = true) Long lineId) {
return ResponseResult.success(buildInformationService.getJoinType(lineId));
}
}

View File

@@ -44,4 +44,12 @@ public class PCLinePayController {
return ResponseResult.success(linePayService.getAmount(lineId));
}
@ApiOperation("缴纳意向金/加盟费")
@PostMapping("/submitPayInfo")
public ResponseResult<Long> submitPayInfo(@RequestBody LinePaySubmitRequest request){
PartnerUserInfoVO partnerUser = PartnerUserHolder.getUser();
return ResponseResult.success(linePayService.submitPayInfo(request, partnerUser));
}
}

View File

@@ -1,8 +1,14 @@
package com.cool.store.controller.webb;
import com.cool.store.dto.ocr.InvoiceDTO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.IDCardSideEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.AliyunService;
import com.cool.store.vo.BusinessLicenseInfoVO;
import com.cool.store.vo.FoodLicenseVO;
import com.cool.store.vo.IdentityCardInfoVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -34,6 +40,37 @@ public class PCOcrController {
return ResponseResult.success(aliyunService.getRecognizeInvoiceWithOptions(imageUrl));
}
@GetMapping(path = "/getBusinessLicenseInfo")
@ApiOperation("根据营业证照解析获取数据")
public ResponseResult<BusinessLicenseInfoVO> getBusinessLicenseInfo(@RequestParam(value = "imageUrl")String imageUrl){
try {
BusinessLicenseInfoVO businessLicenseInfo = aliyunService.getBusinessLicenseInfo(imageUrl);
return ResponseResult.success(businessLicenseInfo);
} catch (Exception e) {
throw new ServiceException(ErrorCodeEnum.BUSINESS_LICENSE_PARSE_FAIL);
}
}
@GetMapping(path = "/getFoodBusinessLicense")
@ApiOperation("根据食营证照解析获取数据")
public ResponseResult<FoodLicenseVO> getFoodLicense(@RequestParam(value = "imageUrl")String imageUrl){
try {
FoodLicenseVO businessLicenseInfo = aliyunService.getFoodLicense(imageUrl);
return ResponseResult.success(businessLicenseInfo);
} catch (Exception e) {
throw new ServiceException(ErrorCodeEnum.FOOD_BUSINESS_LICENSE_PARSE_FAIL);
}
}
@GetMapping(path = "/getIdentityCardInfo")
@ApiOperation("根据身份证正面解析获取数据")
public ResponseResult<IdentityCardInfoVO> getIdentityCardInfo(@RequestParam(value = "faceImageUrl")String faceImageUrl,
@RequestParam("side") IDCardSideEnum sideEnum){
try {
IdentityCardInfoVO identityCardInfo = aliyunService.getIdentityCardInfo(faceImageUrl, sideEnum);
return ResponseResult.success(identityCardInfo);
} catch (Exception e) {
throw new ServiceException(ErrorCodeEnum.IDENTITY_CARD_PARSE_FAIL);
}
}
}

View File

@@ -85,6 +85,8 @@ public class PCPlatformBuildController {
shopSubStageList.add(ShopSubStageEnum.SHOP_STAGE_21.getShopSubStage());
}else if (type.equals(PlatformBuildEnum.MEI_TUAN_WAI_MAI.getCode())) {
shopSubStageList.add(ShopSubStageEnum.SHOP_STAGE_19.getShopSubStage());
}else if (type.equals(PlatformBuildEnum.JING_DONG_WAI_MAI.getCode())) {
shopSubStageList.add(ShopSubStageEnum.SHOP_STAGE_25.getShopSubStage());
}
return ResponseResult.success(operationLogService.getAuditInfo(shopId, shopSubStageList));
}

View File

@@ -1,12 +1,15 @@
package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.BatchStatusRefreshDTO;
import com.cool.store.dto.TransferLogDTO;
import com.cool.store.dto.UserDTO;
import com.cool.store.request.*;
import com.cool.store.response.BranchShopDetailResponse;
import com.cool.store.response.BranchShopResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.response.bigdata.ApiResponse;
import com.cool.store.service.OpenApiService;
import com.cool.store.service.ShopService;
import com.cool.store.service.TransferLogService;
import com.cool.store.vo.shop.MiniShopPageVO;
@@ -38,6 +41,8 @@ public class PCShopController {
private ShopService shopService;
@Resource
private TransferLogService transferLogService;
@Resource
private OpenApiService openApiService;
@ApiOperation("获取店铺列表")
@GetMapping("/getShopList")
@@ -152,4 +157,23 @@ public class PCShopController {
@RequestParam("subStage")Integer subStage) {
return ResponseResult.success(shopService.getSubStageHandle(shopId,subStage));
}
/**
* @Auther: wangshuo
* @Date: 2025/5/23
* @description:不是对外回调接口针对于已经在oa走完数据的我们手动调用接口批量修改数据只做云流水别的别用
*/
@ApiOperation("批量修改门店云流水开通状态")
@PostMapping("/batchStatusRefreshYls")
public ApiResponse<Boolean> batchStatusRefreshYls(@RequestBody @Validated BatchStatusRefreshDTO batchStatusRefreshDTO) {
return ApiResponse.success(openApiService.batchStatusRefreshYls(batchStatusRefreshDTO));
}
@ApiOperation("获取店铺所属品牌")
@GetMapping("/getFranchiseBrandName")
public ResponseResult<String> getFranchiseBrandName(@RequestParam(name = "shopId")Long shopId) {
return ResponseResult.success(shopService.getFranchiseBrandName(shopId));
}
}

View File

@@ -80,6 +80,18 @@ public class LineController {
public ResponseResult<PageInfo<UserDTO>> getAllUser(@RequestBody GetUserDTO dto) {
return ResponseResult.success(userAuthMappingService.getAllUser(dto.getKeyword(),dto.getPageNum(),dto.getPageSize()));
}
@ApiOperation("获取ai模块是否展示true展示false不展示")
@GetMapping("/getAiModule")
public ResponseResult<Boolean> getAiModule() {
return ResponseResult.success(lineService.getAiModule());
}
@ApiOperation("设置ai模块是否展示true展示false不展示")
@GetMapping("/setAiModule")
public ResponseResult<Boolean> setAiModule(@RequestParam("flag") Boolean flag) {
return ResponseResult.success(lineService.setAiModule(flag));
}
}