Merge branch 'cc_20250710_userRegion' into 'master'

Cc 20250710 user region

See merge request hangzhou/java/custom_zxjp!131
This commit is contained in:
苏竹红
2025-07-17 08:54:21 +00:00
43 changed files with 795 additions and 50 deletions

View File

@@ -286,6 +286,7 @@ public enum ErrorCodeEnum {
PRODUCTS_RECORD_NOT_EXIST(1511033,"预炸记录不存在!",null), PRODUCTS_RECORD_NOT_EXIST(1511033,"预炸记录不存在!",null),
PRODUCTS_DISCARDED(1511034,"产品已报销,无法操作",null), PRODUCTS_DISCARDED(1511034,"产品已报销,无法操作",null),
PRODUCTS_SALES_COMPLETED(1511034,"含有销售完成的产品,无法批量报销",null), PRODUCTS_SALES_COMPLETED(1511034,"含有销售完成的产品,无法批量报销",null),
STORE_IS_EXIST(1511035,"该门店已存在",null),
; ;

View File

@@ -1,6 +1,7 @@
package com.cool.store.enums; package com.cool.store.enums;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -13,7 +14,7 @@ public enum ExtendFieldTypeEnum {
TEST_STORE_MANAGER_MOBILE("extend_field_1746670633436","店长手机号"), TEST_STORE_MANAGER_MOBILE("extend_field_1746670633436","店长手机号"),
TEST_SIGNATORY_NAME_1("extend_field_1746670645231","签约人1名称"), TEST_SIGNATORY_NAME_1("extend_field_1746670645231","签约人1名称"),
TEST_SIGNATORY_MOBILE_1("extend_field_1746670652805","签约人2手机号"), TEST_SIGNATORY_MOBILE_1("extend_field_1746670652805","签约人1手机号"),
TEST_SIGNATORY_NAME_2("extend_field_1746670671614","签约人2名称"), TEST_SIGNATORY_NAME_2("extend_field_1746670671614","签约人2名称"),
TEST_SIGNATORY_MOBILE_2("extend_field_1746670686307","签约人2手机号"), TEST_SIGNATORY_MOBILE_2("extend_field_1746670686307","签约人2手机号"),
TEST_ORDER_NAME("extend_field_1747103227333","订单小程序名称"), TEST_ORDER_NAME("extend_field_1747103227333","订单小程序名称"),
@@ -22,7 +23,7 @@ public enum ExtendFieldTypeEnum {
TEST_BRAND("extend_field_1749177175079","品牌"), TEST_BRAND("extend_field_1749177175079","品牌"),
ONLINE_STORE_MANAGER_MOBILE("extend_field_1746598536903","店长手机号"), ONLINE_STORE_MANAGER_MOBILE("extend_field_1746598536903","店长手机号"),
ONLINE_SIGNATORY_NAME_1("extend_field_1746598562255","签约人1名称"), ONLINE_SIGNATORY_NAME_1("extend_field_1746598562255","签约人1名称"),
ONLINE_SIGNATORY_MOBILE_1("extend_field_1746598570479","签约人2手机号"), ONLINE_SIGNATORY_MOBILE_1("extend_field_1746598570479","签约人1手机号"),
ONLINE_SIGNATORY_NAME_2("extend_field_1746598584139","签约人2名称"), ONLINE_SIGNATORY_NAME_2("extend_field_1746598584139","签约人2名称"),
ONLINE_SIGNATORY_MOBILE_2("extend_field_1746598594140","签约人2手机号"), ONLINE_SIGNATORY_MOBILE_2("extend_field_1746598594140","签约人2手机号"),
ONLINE_ORDER_NAME("extend_field_1746599049206","订单小程序名称"), ONLINE_ORDER_NAME("extend_field_1746599049206","订单小程序名称"),
@@ -38,7 +39,34 @@ public enum ExtendFieldTypeEnum {
this.key = key; this.key = key;
this.msg = msg; this.msg = msg;
} }
public static Map<String, ExtendFieldTypeEnum> getConfigMapByActive(String active){
Map<String, ExtendFieldTypeEnum> configMap =new HashMap<>();
switch (active){
case "online":
configMap.put(ONLINE_STORE_MANAGER_MOBILE.getMsg(),ONLINE_STORE_MANAGER_MOBILE);
configMap.put(ONLINE_SIGNATORY_NAME_1.getMsg(),ONLINE_SIGNATORY_NAME_1);
configMap.put(ONLINE_SIGNATORY_MOBILE_1.getMsg(),ONLINE_SIGNATORY_MOBILE_1);
configMap.put(ONLINE_SIGNATORY_NAME_2.getMsg(),ONLINE_SIGNATORY_NAME_2);
configMap.put(ONLINE_SIGNATORY_MOBILE_2.getMsg(),ONLINE_SIGNATORY_MOBILE_2);
configMap.put(ONLINE_ORDER_NAME.getMsg(),ONLINE_ORDER_NAME);
configMap.put(ONLINE_JOIN_MODE.getMsg(),ONLINE_JOIN_MODE);
configMap.put(ONLINE_STORE_TYPE.getMsg(),ONLINE_STORE_TYPE);
configMap.put(ONLINE_BRAND.getMsg(),ONLINE_BRAND);
break;
default:
configMap.put(TEST_STORE_MANAGER_MOBILE.getMsg(),TEST_STORE_MANAGER_MOBILE);
configMap.put(TEST_SIGNATORY_NAME_1.getMsg(),TEST_SIGNATORY_NAME_1);
configMap.put(TEST_SIGNATORY_MOBILE_1.getMsg(),TEST_SIGNATORY_MOBILE_1);
configMap.put(TEST_SIGNATORY_NAME_2.getMsg(),TEST_SIGNATORY_NAME_2);
configMap.put(TEST_SIGNATORY_MOBILE_2.getMsg(),TEST_SIGNATORY_MOBILE_2);
configMap.put(TEST_ORDER_NAME.getMsg(),TEST_ORDER_NAME);
configMap.put(TEST_JOIN_MODE.getMsg(),TEST_JOIN_MODE);
configMap.put(TEST_STORE_TYPE.getMsg(),TEST_STORE_TYPE);
configMap.put(TEST_BRAND.getMsg(),TEST_BRAND);
break;
}
return configMap;
}
public static Map<String, ExtendFieldTypeEnum> configMap(){ public static Map<String, ExtendFieldTypeEnum> configMap(){
return Arrays.stream(ExtendFieldTypeEnum.values()) return Arrays.stream(ExtendFieldTypeEnum.values())
.collect(Collectors.toMap( .collect(Collectors.toMap(

View File

@@ -15,6 +15,7 @@ public enum RocketMqTagEnum {
USER_EVENT("user_event","钉钉通讯录变更事件"), USER_EVENT("user_event","钉钉通讯录变更事件"),
DEPT_EVENT("dept_event","部门事件"), DEPT_EVENT("dept_event","部门事件"),
STORE_DING_QUEUE("store_ding_queue", "微应用钉钉消息发送"), STORE_DING_QUEUE("store_ding_queue", "微应用钉钉消息发送"),
ZXJP_CREATE_STORE("zxjp_create_store", "正新鸡排招商创建门店"),
PARTNER_LICENSE_SYNC_QUEUE("partner_license_sync_queue", "招商证照信息同步"); PARTNER_LICENSE_SYNC_QUEUE("partner_license_sync_queue", "招商证照信息同步");
; ;

View File

@@ -69,6 +69,7 @@ public enum UserRoleEnum {
JING_DONG_OPERATIONS_CUSTOMER(500000000L,"京东运营大区客服"), JING_DONG_OPERATIONS_CUSTOMER(500000000L,"京东运营大区客服"),
JING_DONG_HEADQUARTERS_BUILD_CUSTOMER(510000000L,"京东总部建店客服"), JING_DONG_HEADQUARTERS_BUILD_CUSTOMER(510000000L,"京东总部建店客服"),
FRANCHISEES(530000000L,"加盟商")
; ;
private Long code; private Long code;

View File

@@ -65,4 +65,14 @@ public class BigRegionDAO {
return bigRegionMapper.queryBigRegion(queryBigRegionRequest); return bigRegionMapper.queryBigRegion(queryBigRegionRequest);
} }
public BigRegionDO getByRegionId(Long regionId){
if (regionId==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
Example example = new Example(BigRegionDO.class);
example.createCriteria().andEqualTo("regionId", regionId);
example.setOrderByClause("id ASC limit 1");
return bigRegionMapper.selectOneByExample(example);
}
} }

View File

@@ -1,13 +1,16 @@
package com.cool.store.dao; package com.cool.store.dao;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.dto.RegionNode; import com.cool.store.dto.RegionNode;
import com.cool.store.entity.RegionDO; import com.cool.store.entity.RegionDO;
import com.cool.store.mapper.RegionMapper; import com.cool.store.mapper.RegionMapper;
import com.cool.store.response.RegionResponse;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections; import java.util.Collections;
@@ -29,6 +32,9 @@ public class RegionDao {
public RegionNode getRegionByRegionId( String regionId) { public RegionNode getRegionByRegionId( String regionId) {
if (StringUtils.isBlank(regionId)) {
return null;
}
return regionMapper.getRegionByRegionId( regionId); return regionMapper.getRegionByRegionId( regionId);
} }
@@ -187,4 +193,24 @@ public class RegionDao {
} }
return regionMapper.getRegionByStoreId(storeId); return regionMapper.getRegionByStoreId(storeId);
} }
public List<RegionResponse> getSubRegionByParentIdAndRegionType (Long regionId, String regionType){
if (Objects.isNull(regionId)|| StringUtils.isBlank(regionType)){
return Lists.newArrayList();
}
return regionMapper.getSubRegionByParentIdAndRegionType(regionId, regionType);
}
public List<RegionDO> getRegionByNameListAndIsPath (List<String> name){
if (CollectionUtils.isEmpty(name)){
return Lists.newArrayList();
}
return regionMapper.getRegionByNameListAndIsPath(name);
}
public List<RegionDO> getSubRegionByParentIdsAndRegionType (List<Long> parentIdList, String regionType){
if (CollectionUtils.isEmpty(parentIdList)|| StringUtils.isBlank(regionType)){
return Lists.newArrayList();
}
return regionMapper.getSubRegionByParentIdsAndRegionType(parentIdList, regionType);
}
} }

View File

@@ -2,6 +2,7 @@ package com.cool.store.dao;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.FranchiseReportDTO; import com.cool.store.dto.FranchiseReportDTO;
import com.cool.store.dto.IsCreateStoreDTO;
import com.cool.store.dto.LicenseSyncDTO; import com.cool.store.dto.LicenseSyncDTO;
import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.Preparation.PreparationDTO;
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
@@ -307,4 +308,30 @@ public class ShopInfoDAO {
example.createCriteria().andEqualTo("lineId", lineId).andIn("shopStatus", shopStatus).andEqualTo("deleted", false); example.createCriteria().andEqualTo("lineId", lineId).andIn("shopStatus", shopStatus).andEqualTo("deleted", false);
return shopInfoMapper.selectByExample(example); return shopInfoMapper.selectByExample(example);
} }
/**
* @Auther: wangshuo
* @Date: 2025/7/11
* @description:查询建店资料完成并且已经在标品已经建店是门店
*/
public List<IsCreateStoreDTO> selectIsCreateStore(){
return shopInfoMapper.selectIsCreateStore();
}
/**
* @Auther: wangshuo
* @Date: 2025/7/11
* @description: 查询未建店
*/
public List<ShopInfoDO> selectByNotCreateStore(List<Long> isCreateShopIds){
Example example = new Example(ShopInfoDO.class);
example.createCriteria().
andNotIn("id", isCreateShopIds).andNotEqualTo("shopStatus", 2).andEqualTo("deleted", false)
.andNotEqualTo("regionId",459);
return shopInfoMapper.selectByExample(example);
}
public Integer updateManagerRegionId(List<ShopInfoDO> shopList){
if (CollectionUtils.isEmpty(shopList)){
return 0;
}
return shopInfoMapper.updateManagerRegionId(shopList);
}
} }

View File

@@ -2,6 +2,7 @@ package com.cool.store.mapper;
import com.cool.store.dto.RegionNode; import com.cool.store.dto.RegionNode;
import com.cool.store.entity.RegionDO; import com.cool.store.entity.RegionDO;
import com.cool.store.response.RegionResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -110,4 +111,11 @@ public interface RegionMapper {
List<RegionDO> getFightRegionByRegionIds(@Param("regionIds") List<String> regionIds); List<RegionDO> getFightRegionByRegionIds(@Param("regionIds") List<String> regionIds);
RegionDO getRegionInfoBySynDingDeptId(@Param("synDingDeptId") Long synDingDeptId); RegionDO getRegionInfoBySynDingDeptId(@Param("synDingDeptId") Long synDingDeptId);
List<RegionResponse> getSubRegionByParentIdAndRegionType( @Param("regionId")Long regionId, @Param("regionType")String regionType);
List<RegionDO> getRegionByNameListAndIsPath(@Param("regionNameList") List<String> regionNameList);
List<RegionDO> getSubRegionByParentIdsAndRegionType( @Param("parentIds")List<Long> parentIds, @Param("regionType")String regionType);
} }

View File

@@ -1,6 +1,7 @@
package com.cool.store.mapper; package com.cool.store.mapper;
import com.cool.store.dto.FranchiseReportDTO; import com.cool.store.dto.FranchiseReportDTO;
import com.cool.store.dto.IsCreateStoreDTO;
import com.cool.store.dto.LicenseSyncDTO; import com.cool.store.dto.LicenseSyncDTO;
import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.Preparation.PreparationDTO;
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
@@ -142,4 +143,7 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
Integer updateShopCity(@Param("list") List<ShopInfoDO> list); Integer updateShopCity(@Param("list") List<ShopInfoDO> list);
List<FranchiseReportDTO> getShopFranchiseReportList(@Param("request") FranchiseReportRequest request); List<FranchiseReportDTO> getShopFranchiseReportList(@Param("request") FranchiseReportRequest request);
List<IsCreateStoreDTO> selectIsCreateStore();
Integer updateManagerRegionId(@Param("list") List<ShopInfoDO> shopList);
} }

View File

@@ -15,13 +15,16 @@
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="group_name" jdbcType="VARCHAR" property="groupName" /> <result column="group_name" jdbcType="VARCHAR" property="groupName" />
<result column="store_manage_region_id" jdbcType="BIGINT" property="storeManageRegionId" />
</resultMap> </resultMap>
<select id="queryAllBigRegion" resultType="com.cool.store.dto.region.BigRegionDTO"> <select id="queryAllBigRegion" resultType="com.cool.store.dto.region.BigRegionDTO">
select DISTINCT select DISTINCT
region_id as regionId, region_id as regionId,
region_name as regionName region_name as regionName,
group_name as groupName,
store_manage_region_id as storeManageRegionId
FROM `xfsg_big_region` FROM `xfsg_big_region`
<where> <where>
<if test="keyword!=null and keyword !=''"> <if test="keyword!=null and keyword !=''">

View File

@@ -420,6 +420,34 @@
</if> </if>
</select> </select>
<select id="getSubRegionByParentIdAndRegionType" resultType="com.cool.store.response.RegionResponse">
select
<include refid="fields"></include>
from region_${enterpriseId}
where deleted = 0
and parent_id = #{regionId}
and region_type = #{regionType}
</select>
<select id="getRegionByNameListAndIsPath" resultType="com.cool.store.entity.RegionDO">
select <include refid="fields"/>
from region_${enterpriseId}
where deleted = 0
<if test="regionNameList != null and regionNameList.size() >0">
and name in (
<foreach collection="regionNameList" separator="," item="region">#{region}</foreach>
)
</if>
and region_type = 'path'
</select>
<select id="getSubRegionByParentIdsAndRegionType" resultType="com.cool.store.entity.RegionDO">
select
<include refid="fields"></include>
from region_${enterpriseId}
where deleted = 0
and parent_id in
<foreach collection="parentIds" open="(" close=")" separator="," item="region">#{region}</foreach>
and region_type = #{regionType}
</select>
</mapper> </mapper>

View File

@@ -35,6 +35,7 @@
<result column="city_code" jdbcType="INTEGER" property="cityCode"/> <result column="city_code" jdbcType="INTEGER" property="cityCode"/>
<result column="district" jdbcType="VARCHAR" property="district"/> <result column="district" jdbcType="VARCHAR" property="district"/>
<result column="district_code" jdbcType="INTEGER" property="districtCode"/> <result column="district_code" jdbcType="INTEGER" property="districtCode"/>
<result column="manager_region_id" jdbcType="BIGINT" property="managerRegionId"/>
</resultMap> </resultMap>
<sql id="allColumn"> <sql id="allColumn">
@@ -43,7 +44,7 @@
shop_code, store_num, shop_manager_user_id, supervisor_user_id, shop_code, store_num, shop_manager_user_id, supervisor_user_id,
plan_open_time, cur_progress, shop_type, shop_stage, deleted, create_time, update_time, plan_open_time, cur_progress, shop_type, shop_stage, deleted, create_time, update_time,
join_mode,detail_address,franchise_brand,development_manager,want_shop_area_id,investment_manager,shop_status,create_user_id,update_user_id,store_type join_mode,detail_address,franchise_brand,development_manager,want_shop_area_id,investment_manager,shop_status,create_user_id,update_user_id,store_type
, province,province_code,city,city_code,district,district_code , province,province_code,city,city_code,district,district_code,manager_region_id
</sql> </sql>
<insert id="batchAddShop" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> <insert id="batchAddShop" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
@@ -301,7 +302,8 @@
a.join_mode as joinMode, a.join_mode as joinMode,
a.franchise_brand as franchiseBrand, a.franchise_brand as franchiseBrand,
a.shop_status as shopStatus, a.shop_status as shopStatus,
a.detail_address as shopAddress a.detail_address as shopAddress,
a.manager_region_id as managerRegionId
from xfsg_shop_info a left join xfsg_line_info b on a.line_id = b.id from xfsg_shop_info a left join xfsg_line_info b on a.line_id = b.id
<if test="request.contractStartTime !=null and request.contractEndTime != null"> <if test="request.contractStartTime !=null and request.contractEndTime != null">
left join xfsg_sign_franchise c on a.id = c.shop_id left join xfsg_sign_franchise c on a.id = c.shop_id
@@ -541,6 +543,21 @@
and xsi.shop_name Like concat("%",#{keyWord},"%") or xsi.store_num Like concat("%",#{keyWord},"%") and xsi.shop_name Like concat("%",#{keyWord},"%") or xsi.store_num Like concat("%",#{keyWord},"%")
</if> </if>
</select> </select>
<select id="selectIsCreateStore" resultType="com.cool.store.dto.IsCreateStoreDTO">
SELECT a.shop_name as shopName,a.id as shopId, c.id as `pid`,c.name as pidName
FROM xfsg_shop_info a
LEFT JOIN store_${enterpriseId} b ON a.shop_code = b.store_num
LEFT JOIN region_${enterpriseId} c on b.region_id = c.`id`
WHERE b.store_num is not null
and a.shop_code is not null
and a.deleted =0
and a.shop_status != 2
and a.shop_code != ""
and c.deleted = 0
and b.is_delete = 'effective'
and a.region_id != 459
</select>
<update id="batchUpdate" parameterType="list"> <update id="batchUpdate" parameterType="list">
<foreach collection="list" item="item" index="index" open="" close="" separator=";"> <foreach collection="list" item="item" index="index" open="" close="" separator=";">
@@ -563,4 +580,9 @@
update xfsg_shop_info set shop_name = #{item.shopName}, province =#{item.province}, city = #{item.city}, district=#{item.district}, detail_address = #{item.detailAddress} where id = #{item.id} update xfsg_shop_info set shop_name = #{item.shopName}, province =#{item.province}, city = #{item.city}, district=#{item.district}, detail_address = #{item.detailAddress} where id = #{item.id}
</foreach> </foreach>
</update> </update>
<update id="updateManagerRegionId">
<foreach collection="list" item="item" separator=";">
update xfsg_shop_info set manager_region_id = #{item.managerRegionId} where id = #{item.id}
</foreach>
</update>
</mapper> </mapper>

View File

@@ -76,7 +76,7 @@
<select id="getByStoreNum" resultMap="BaseResultMap"> <select id="getByStoreNum" resultMap="BaseResultMap">
select * select *
from store_${enterpriseId} from store_${enterpriseId}
where store_num = #{storeNum} where store_num = #{storeNum} and is_delete = 'effective'
</select> </select>
<select id="listByMobile" resultMap="BaseResultMap"> <select id="listByMobile" resultMap="BaseResultMap">

View File

@@ -16,10 +16,14 @@ public class ImportOaOldShopDataErrorDTO {
@ExcelProperty(value = "门店编码", order = 1) @ExcelProperty(value = "门店编码", order = 1)
@ColumnWidth(30) @ColumnWidth(30)
private String shopCode; private String shopCode;
@ExcelProperty(value = "错误原因", order = 2) @ExcelProperty(value = "门店", order = 2)
@ColumnWidth(30)
private String shopName;
@ExcelProperty(value = "错误原因", order =3)
@ColumnWidth(40) @ColumnWidth(40)
private String errorReason; private String errorReason;
public ImportOaOldShopDataErrorDTO() { public ImportOaOldShopDataErrorDTO() {
} }

View File

@@ -0,0 +1,21 @@
package com.cool.store.dto;
import lombok.Data;
/**
* @Author: WangShuo
* @Date: 2025/07/11/16:02
* @Version 1.0
* @注释:
*/
@Data
public class IsCreateStoreDTO {
private String shopName;
private Long shopId;
private Long pid;
private String pidName;
}

View File

@@ -53,5 +53,7 @@ public class PreparationDTO {
private Long pointId; private Long pointId;
private Long managerRegionId;
} }

View File

@@ -14,4 +14,6 @@ public class BigRegionDTO {
private String regionName; private String regionName;
private String groupName;
private Long storeManageRegionId;
} }

View File

@@ -60,6 +60,17 @@ public class BigRegionDO {
//集团名称 //集团名称
@Column(name = "group_name") @Column(name = "group_name")
private String groupName; private String groupName;
//区域对应的管理区域
@Column(name = "store_manage_region_id")
private Long storeManageRegionId;
public Long getStoreManageRegionId() {
return storeManageRegionId;
}
public void setStoreManageRegionId(Long storeManageRegionId) {
this.storeManageRegionId = storeManageRegionId;
}
public String getGroupName() { public String getGroupName() {
return groupName; return groupName;

View File

@@ -149,4 +149,7 @@ public class ShopInfoDO {
//区code //区code
@Column(name = "district_code") @Column(name = "district_code")
private Integer districtCode; private Integer districtCode;
//所属管理区域
@Column(name = "manager_region_id")
private Long managerRegionId;
} }

View File

@@ -44,6 +44,10 @@ public class AddBranchShopRequest {
@ApiModelProperty("所属大区") @ApiModelProperty("所属大区")
private Long regionId; private Long regionId;
@NotNull
@ApiModelProperty("所属管理区域id")
private Long managerRegionId;
public ShopInfoDO toDO(AddBranchShopRequest request, LineInfoDO lineInfo) { public ShopInfoDO toDO(AddBranchShopRequest request, LineInfoDO lineInfo) {
ShopInfoDO shopInfoDO = new ShopInfoDO(); ShopInfoDO shopInfoDO = new ShopInfoDO();
shopInfoDO.setLineId(request.getLineId()); shopInfoDO.setLineId(request.getLineId());
@@ -60,6 +64,7 @@ public class AddBranchShopRequest {
shopInfoDO.setShopStage(ShopStageEnum.SHOP_STAGE_1.getShopStage()); shopInfoDO.setShopStage(ShopStageEnum.SHOP_STAGE_1.getShopStage());
shopInfoDO.setPartnerId(lineInfo.getPartnerId()); shopInfoDO.setPartnerId(lineInfo.getPartnerId());
shopInfoDO.setFranchiseBrand(request.getFranchiseBrand()); shopInfoDO.setFranchiseBrand(request.getFranchiseBrand());
shopInfoDO.setManagerRegionId(request.getManagerRegionId());
return shopInfoDO; return shopInfoDO;
} }
} }

View File

@@ -141,6 +141,11 @@ public class AddSignFranchiseRequest {
@ApiModelProperty("区code") @ApiModelProperty("区code")
private Integer districtCode; private Integer districtCode;
@NotNull(message = "所属管理区域id不能为空")
@ApiModelProperty("所属管理区域id")
private Long managerRegionId;
public SignFranchiseDO toSignFranchiseDO() { public SignFranchiseDO toSignFranchiseDO() {
SignFranchiseDO signFranchiseDO = new SignFranchiseDO(); SignFranchiseDO signFranchiseDO = new SignFranchiseDO();

View File

@@ -36,5 +36,7 @@ public class BranchShopDetailRequest {
@ApiModelProperty("店铺类型0-无展示门店、1-餐厅店、2-普通门店") @ApiModelProperty("店铺类型0-无展示门店、1-餐厅店、2-普通门店")
@NotNull(message = "门店类型不能为空") @NotNull(message = "门店类型不能为空")
private Integer storeType; private Integer storeType;
@ApiModelProperty("所属管理区域id")
private Long managerRegionId;
} }

View File

@@ -0,0 +1,99 @@
package com.cool.store.request;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.userholder.CurrentUser;
import lombok.Data;
import java.util.List;
/**
* @ClassName StoreRequestBody
* @Description 用一句话描述什么
*/
@Data
public class StoreRequestBody {
private String store_id;
private String store_name;
private String store_num;
/**
* 门头照
*/
private String avatar;
private String store_area;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区
*/
private String county;
private String store_address;
private String location_address;
/**
* 经纬度
*/
private String longitude_latitude;
private String telephone;
private String device_id;
private String remark;
/**
* 营业时间
*/
private String business_hours;
/**
* 门店面积
*/
private String store_acreage;
/**
* 门店带宽
*/
private String store_bandwidth;
/**
* 门店分组id
*/
private String group_ids;
/**
* 门店状态open营业、closed闭店、not_open未开业
*/
private String store_status;
/**
* 动态扩展字段
*/
private String extend_field;
/**
* 门店证照列表
*/
private List<JSONObject> storeLicenseInstances;
/**
* 第三方管理唯一key
*/
private String thirdDeptId;
private String openDate;
/**
* 品牌id
*/
private Long brandId;
private String eid;
//加盟商手机号
private String partnerMobile;
private String partnerName;
//加盟商职位 id
private Long partnerRoleId;
}

View File

@@ -229,5 +229,10 @@ public class AddSignFranchiseResponse {
@ApiModelProperty("区code") @ApiModelProperty("区code")
private Integer districtCode; private Integer districtCode;
@ApiModelProperty("所属管理区域id")
private Long managerRegionId;
@ApiModelProperty("所属管理区域name")
private String managerRegionName;
} }

View File

@@ -73,4 +73,11 @@ public class BranchShopDetailResponse {
@ApiModelProperty("店铺类型0-无展示门店、1-餐厅店、2-普通门店") @ApiModelProperty("店铺类型0-无展示门店、1-餐厅店、2-普通门店")
private Integer storeType; private Integer storeType;
@ApiModelProperty("所属管理区域id")
private Long managerRegionId;
@ApiModelProperty("所属管理区域name")
private String managerRegionName;
} }

View File

@@ -55,6 +55,12 @@ public class BranchShopResponse {
private Date createTime; private Date createTime;
@ApiModelProperty("开业活动完成时间") @ApiModelProperty("开业活动完成时间")
private Date openingActivityEndTime; private Date openingActivityEndTime;
@ApiModelProperty("所属管理区域id")
private Long managerRegionId;
@ApiModelProperty("所属管理区域name")
private String managerRegionName;
public void setDays() { public void setDays() {
if (this.openingActivityEndTime==null){ if (this.openingActivityEndTime==null){

View File

@@ -0,0 +1,18 @@
package com.cool.store.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: WangShuo
* @Date: 2025/07/11/11:25
* @Version 1.0
* @注释:
*/
@Data
public class RegionResponse {
@ApiModelProperty("区域id")
private String regionId;
@ApiModelProperty("区域名称")
private String name;
}

View File

@@ -62,6 +62,13 @@ public class MiniShopPageVO {
private String wantRegionName; private String wantRegionName;
@ApiModelProperty("门店状态'0.跟进中 1.已完成 2.已放弃',") @ApiModelProperty("门店状态'0.跟进中 1.已完成 2.已放弃',")
private Integer shopStatus; private Integer shopStatus;
@ApiModelProperty("所属管理区域id")
private Long managerRegionId;
@ApiModelProperty("所属管理区域name")
private String managerRegionName;
public MiniShopPageVO(Long shopId, String shopName, String shopCode, Boolean flag, Long pointId, Long regionId, String regionName) { public MiniShopPageVO(Long shopId, String shopName, String shopCode, Boolean flag, Long pointId, Long regionId, String regionName) {
this.shopId = shopId; this.shopId = shopId;
this.shopName = shopName; this.shopName = shopName;
@@ -101,6 +108,8 @@ public class MiniShopPageVO {
miniShopPageVO.setWantRegionName(wantRegionMap.get(shopInfo.getWantShopAreaId())); miniShopPageVO.setWantRegionName(wantRegionMap.get(shopInfo.getWantShopAreaId()));
} }
miniShopPageVO.setShopStatus(shopInfo.getShopStatus()); miniShopPageVO.setShopStatus(shopInfo.getShopStatus());
miniShopPageVO.setManagerRegionId(shopInfo.getManagerRegionId());
miniShopPageVO.setManagerRegionName(regionNameMap.getOrDefault(shopInfo.getManagerRegionId(), ""));
resultList.add(miniShopPageVO); resultList.add(miniShopPageVO);
} }

View File

@@ -76,4 +76,11 @@ public interface DataHandlerServer {
*/ */
Boolean batchStatusRefreshYls(BatchStatusRefreshDTO batchStatusRefreshDTO); Boolean batchStatusRefreshYls(BatchStatusRefreshDTO batchStatusRefreshDTO);
/**
* @Auther: wangshuo
* @Date: 2025/7/11
* @description:处理老数据 已经建店并且在标品中也建店的数据 处理所属管理区域
*/
void dataHandlerCreateStore();
} }

View File

@@ -1,6 +1,7 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.entity.RegionDO; import com.cool.store.entity.RegionDO;
import com.cool.store.response.RegionResponse;
import com.cool.store.vo.RegionPathNameVO; import com.cool.store.vo.RegionPathNameVO;
import java.util.List; import java.util.List;
@@ -40,4 +41,11 @@ public interface RegionService {
*/ */
List<String> getSubRegionIdsByRegionIds(List<String> regionIds); List<String> getSubRegionIdsByRegionIds(List<String> regionIds);
/**
* @Auther: wangshuo
* @Date: 2025/7/11
* @description:获取管理区域下的所有子区域(门店-大区,加盟分部)
*/
List<RegionResponse> getSubRegionByParentId(Long regionId);
} }

View File

@@ -0,0 +1,12 @@
package com.cool.store.service;
/**
* @Author: WangShuo
* @Date: 2025/07/10/17:14
* @Version 1.0
* @注释:
*/
public interface SyncMainSysServer {
void syncStore(Long shopId);
}

View File

@@ -3,9 +3,11 @@ package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo; import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.dto.*; import com.cool.store.dto.*;
import com.cool.store.dto.region.BigRegionDTO;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.enums.*; import com.cool.store.enums.*;
import com.cool.store.enums.point.PayBusinessTypeEnum; import com.cool.store.enums.point.PayBusinessTypeEnum;
@@ -14,6 +16,7 @@ import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.*; import com.cool.store.mapper.*;
import com.cool.store.request.QueryBigRegionRequest;
import com.cool.store.service.*; import com.cool.store.service.*;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.utils.easyExcel.EasyExcelUtil; import com.cool.store.utils.easyExcel.EasyExcelUtil;
@@ -46,6 +49,12 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD;
@Service @Service
@Slf4j @Slf4j
public class DataHandlerServerImpl implements DataHandlerServer { public class DataHandlerServerImpl implements DataHandlerServer {
@Resource
private RegionMapper regionMapper;
@Resource
private BigRegionDAO bigRegionDAO;
@Resource
private RegionDao regionDao;
@Resource @Resource
private LinePayService linePayService; private LinePayService linePayService;
@Resource @Resource
@@ -88,6 +97,8 @@ public class DataHandlerServerImpl implements DataHandlerServer {
private ShopAccountDAO shopAccountDAO; private ShopAccountDAO shopAccountDAO;
@Resource @Resource
private SignFranchiseDAO signFranchiseDAO; private SignFranchiseDAO signFranchiseDAO;
@Resource
private EnterpriseUserDAO enterpriseUserDAO;
@Value("${mybatis.configuration.variables.enterpriseId}") @Value("${mybatis.configuration.variables.enterpriseId}")
private String eid; private String eid;
@@ -1143,6 +1154,97 @@ public class DataHandlerServerImpl implements DataHandlerServer {
return true; return true;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void dataHandlerCreateStore() {
//已经创建了的门店
List<IsCreateStoreDTO> isCreateStore = shopInfoDAO.selectIsCreateStore( );
List<ShopInfoDO> updateList = new ArrayList<>();
for (IsCreateStoreDTO isCreateStoreDTO:isCreateStore){
ShopInfoDO shopInfoDO = new ShopInfoDO();
shopInfoDO.setId(isCreateStoreDTO.getShopId());
shopInfoDO.setManagerRegionId(isCreateStoreDTO.getPid());
updateList.add(shopInfoDO);
}
List<BigRegionDTO> bigRegionDTOS = bigRegionDAO.queryAllBigRegion(null);
Map<Long, BigRegionDTO> bigRegionDTOMap = bigRegionDTOS.stream().collect(Collectors.toMap(BigRegionDTO::getRegionId, x -> x));
//XX大区 正烧鸡
List<Long> storeManageIds = bigRegionDTOS.stream().filter(x -> x.getStoreManageRegionId() != null).map(BigRegionDTO::getStoreManageRegionId).collect(Collectors.toList());
//加盟分部
List<Long> branchStoreManageIds = bigRegionDTOS.stream().filter(x -> x.getStoreManageRegionId() == null).map(BigRegionDTO::getRegionId).collect(Collectors.toList());
//查询门店-XX大区下面的管理督导
List<RegionDO> manageRegionList = regionDao.getSubRegionByParentIdsAndRegionType(storeManageIds, "path");
Map<String, RegionDO> manageRegionMap = manageRegionList.stream().collect(Collectors.toMap(regionDO -> regionDO.getName(), Function.identity()));
//查询加盟分部下的管理督导
List<RegionDO> branchStoreManageList = regionDao.getSubRegionByParentIdsAndRegionType(branchStoreManageIds, "path");
Map<String, RegionDO> branchStoreManageMap = branchStoreManageList.stream().collect(Collectors.toMap(regionDO -> regionDO.getName(), Function.identity()));
List<Long> isShopIds = isCreateStore.stream().map(IsCreateStoreDTO::getShopId).collect(Collectors.toList());
//未建店
List<ShopInfoDO> shopInfoDOS = shopInfoDAO.selectByNotCreateStore(isShopIds);
//List<ShopInfoDO> shopInfoDOS = Collections.singletonList(shopInfoDAO.getShopInfo(414L));
Set<String> investUserIds = shopInfoDOS.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toSet());
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(investUserIds));
List<ImportOaOldShopDataErrorDTO> errorList = new ArrayList<>();
for (ShopInfoDO shopInfoDO : shopInfoDOS){
String name = userNameMap.getOrDefault(shopInfoDO.getInvestmentManager(),"");
if (StringUtils.isBlank(name)){
log.info("门店招商经理未找到 shopId{}",shopInfoDO.getId());
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(shopInfoDO.getShopCode(), "门店招商经理未找到");
errorDTO.setShopName(shopInfoDO.getShopName());
errorList.add(errorDTO);
continue;
}
BigRegionDTO bigRegionDTO = bigRegionDTOMap.get(shopInfoDO.getRegionId());
RegionDO regionDO;
if (bigRegionDTO==null){
log.info("门店所属大区未找到 shopId{}",shopInfoDO.getId());
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(shopInfoDO.getShopCode(), "门店所属大区未找到");
errorDTO.setShopName(shopInfoDO.getShopName());
errorList.add(errorDTO);
continue;
}
if (bigRegionDTO.getStoreManageRegionId()!=null){
regionDO = manageRegionMap.get(name);
}else{
regionDO= branchStoreManageMap.get(name);
}
if (Objects.isNull(regionDO)||!Long.valueOf(regionDO.getParentId()).equals(bigRegionDTO.getStoreManageRegionId())){
log.info("门店所属管理区域未找到 shopId{}",shopInfoDO.getId());
ImportOaOldShopDataErrorDTO errorDTO = new ImportOaOldShopDataErrorDTO(shopInfoDO.getShopCode(), "门店所属管理区域未找到");
errorDTO.setShopName(shopInfoDO.getShopName());
errorList.add(errorDTO);
continue;
}
shopInfoDO.setManagerRegionId(regionDO.getId());
updateList.add(shopInfoDO);
}
shopInfoDAO.updateManagerRegionId(updateList);
if (CollectionUtils.isNotEmpty(errorList)) {
String url = null;
try {
url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null,
FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()),
FileTypeEnum.IMPORT_OA_OLD_SHOP_STAGE_DATA.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()));
} catch (Exception e) {
log.info("导出同步门店数据错误列表失败 errorList:{}", JSONObject.toJSONString(errorList));
}
ImportTaskDO importTaskDO = new ImportTaskDO();
importTaskDO.setFileName("同步门店数据错误列表");
importTaskDO.setFileType(FileTypeEnum.IMPORT_FITMENT_SHOP_STAGE.getFileType());
importTaskDO.setIsImport(true);
importTaskDO.setFileUrl(url);
importTaskDO.setStatus(ImportTaskStatusEnum.ERROR.getCode());
importTaskDO.setCreateUserId(CurrentUserHolder.getUserId());
importTaskDO.setCreateName(CurrentUserHolder.getUser().getName());
importTaskDO.setCreateTime(System.currentTimeMillis());
importTaskMapper.insert(eid, importTaskDO);
}
}
private static @NotNull ShopStageInfoDO getShopStageInfoDO(ShopSubStageEnum shopSubStageEnum, ShopStageInfoDO shopStageInfoDO, ShopSubStageStatusEnum shopSubStageStatus) { private static @NotNull ShopStageInfoDO getShopStageInfoDO(ShopSubStageEnum shopSubStageEnum, ShopStageInfoDO shopStageInfoDO, ShopSubStageStatusEnum shopSubStageStatus) {
ShopStageEnum shopStageEnum = shopSubStageEnum.getShopStageEnum(); ShopStageEnum shopStageEnum = shopSubStageEnum.getShopStageEnum();
ShopStageInfoDO shopStageInfo = new ShopStageInfoDO(); ShopStageInfoDO shopStageInfo = new ShopStageInfoDO();

View File

@@ -12,10 +12,7 @@ import com.cool.store.mapper.FranchiseFeeMapper;
import com.cool.store.mapper.SignFranchiseMapper; import com.cool.store.mapper.SignFranchiseMapper;
import com.cool.store.request.AuditRequest; import com.cool.store.request.AuditRequest;
import com.cool.store.request.OrderSysInfoRequest; import com.cool.store.request.OrderSysInfoRequest;
import com.cool.store.service.OperationLogService; import com.cool.store.service.*;
import com.cool.store.service.OrderSysInfoService;
import com.cool.store.service.SignFranchiseService;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.StringUtils;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@@ -40,6 +37,8 @@ import static com.cool.store.enums.point.ShopSubStageStatusEnum.*;
public class OrderSysInfoServiceImpl implements OrderSysInfoService { public class OrderSysInfoServiceImpl implements OrderSysInfoService {
@Resource
private SyncMainSysServer syncMainSysServer;
@Resource @Resource
FranchiseFeeMapper franchiseFeeMapper; FranchiseFeeMapper franchiseFeeMapper;
@Resource @Resource
@@ -246,12 +245,14 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService {
if (!flag && SHOP_SUB_STAGE_STATUS_154.equals(nowStatus)) { if (!flag && SHOP_SUB_STAGE_STATUS_154.equals(nowStatus)) {
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), SHOP_SUB_STAGE_STATUS_156); shopStageInfoDAO.updateShopStageInfo(request.getShopId(), SHOP_SUB_STAGE_STATUS_156);
stageCompletion(request.getShopId()); stageCompletion(request.getShopId());
syncMainSysServer.syncStore(request.getShopId());
return CommonConstants.ONE; return CommonConstants.ONE;
} else { } else {
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), nextStatus); shopStageInfoDAO.updateShopStageInfo(request.getShopId(), nextStatus);
if (SHOP_SUB_STAGE_STATUS_156.equals(nextStatus)){ if (SHOP_SUB_STAGE_STATUS_156.equals(nextStatus)){
stageCompletion(request.getShopId()); stageCompletion(request.getShopId());
syncMainSysServer.syncStore(request.getShopId());
} }
return CommonConstants.ONE; return CommonConstants.ONE;
} }

View File

@@ -3,13 +3,16 @@ package com.cool.store.service.impl;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.BigRegionDAO;
import com.cool.store.dao.RegionAreaConfigDao; import com.cool.store.dao.RegionAreaConfigDao;
import com.cool.store.dao.RegionDao; import com.cool.store.dao.RegionDao;
import com.cool.store.entity.BigRegionDO;
import com.cool.store.entity.RegionDO; import com.cool.store.entity.RegionDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.ThirdRegionTypeEnum; import com.cool.store.enums.ThirdRegionTypeEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.RegionMapper; import com.cool.store.mapper.RegionMapper;
import com.cool.store.response.RegionResponse;
import com.cool.store.service.RegionService; import com.cool.store.service.RegionService;
import com.cool.store.utils.RedisConstantUtil; import com.cool.store.utils.RedisConstantUtil;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
@@ -48,6 +51,8 @@ public class RegionServiceImpl implements RegionService {
@Resource @Resource
private RegionAreaConfigDao regionAreaConfigDao; private RegionAreaConfigDao regionAreaConfigDao;
@Resource
private BigRegionDAO bigRegionDAO;
@Override @Override
public RegionPathNameVO getAllRegionName(Long regionId) { public RegionPathNameVO getAllRegionName(Long regionId) {
@@ -158,4 +163,19 @@ public class RegionServiceImpl implements RegionService {
} }
return regionIds; return regionIds;
} }
@Override
public List<RegionResponse> getSubRegionByParentId(Long regionId) {
if (Objects.isNull(regionId)){
return Lists.newArrayList();
}
BigRegionDO byRegionId = bigRegionDAO.getByRegionId(regionId);
if (byRegionId.getStoreManageRegionId()==null){
regionId=byRegionId.getRegionId();
}else {
regionId=byRegionId.getStoreManageRegionId();
}
return regionMapper.getSubRegionByParentIdAndRegionType(regionId,"path");
}
} }

View File

@@ -196,6 +196,7 @@ public class ShopServiceImpl implements ShopService {
List<ShopStageInfoDO> subStageList = shopStageInfoDAO.getSubStageList(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); List<ShopStageInfoDO> subStageList = shopStageInfoDAO.getSubStageList(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage());
Map<Long, ShopStageInfoDO> stageMap = subStageList.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, Function.identity())); Map<Long, ShopStageInfoDO> stageMap = subStageList.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, Function.identity()));
List<Long> regionIds = shopList.stream().map(ShopInfoDO::getRegionId).collect(Collectors.toList()); List<Long> regionIds = shopList.stream().map(ShopInfoDO::getRegionId).collect(Collectors.toList());
regionIds.addAll(Optional.of(shopList).orElse(Collections.emptyList()).stream().map(ShopInfoDO::getManagerRegionId).collect(Collectors.toList()));
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(regionIds); Map<Long, String> regionNameMap = regionDao.getRegionNameMap(regionIds);
List<String> investmentManagerIds = shopList.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toList()); List<String> investmentManagerIds = shopList.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toList());
Map<String, EnterpriseUserDO> userInfoMap = enterpriseUserDAO.getUserInfoMap(investmentManagerIds); Map<String, EnterpriseUserDO> userInfoMap = enterpriseUserDAO.getUserInfoMap(investmentManagerIds);
@@ -390,10 +391,15 @@ public class ShopServiceImpl implements ShopService {
} }
EnterpriseUserDO invest = enterpriseUserDAO.getUserInfoById(shopInfo.getInvestmentManager()); EnterpriseUserDO invest = enterpriseUserDAO.getUserInfoById(shopInfo.getInvestmentManager());
List<ScheduleDTO> shopContractActualCompletionTime = shopStageInfoDAO.getScheduleList(Collections.singletonList(shopId)); List<ScheduleDTO> shopContractActualCompletionTime = shopStageInfoDAO.getScheduleList(Collections.singletonList(shopId));
RegionNode shopRegion = regionMapper.getRegionByRegionId(shopInfo.getRegionId().toString()); RegionDO shopRegion = regionDao.getRegionById(shopInfo.getRegionId());
RegionDO mapperRegionByRegionId = regionDao.getRegionById(shopInfo.getManagerRegionId());
String wantShopArea = hyOpenAreaInfoDAO.selectNameMapById(shopInfo.getWantShopAreaId()); String wantShopArea = hyOpenAreaInfoDAO.selectNameMapById(shopInfo.getWantShopAreaId());
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(shopInfo.getWantShopAreaId()); HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(shopInfo.getWantShopAreaId());
BranchShopDetailResponse response = new BranchShopDetailResponse(); BranchShopDetailResponse response = new BranchShopDetailResponse();
response.setManagerRegionId(shopInfo.getManagerRegionId());
if (Objects.nonNull(mapperRegionByRegionId)) {
response.setManagerRegionName(mapperRegionByRegionId.getName());
}
response.setUsername(lineInfo.getUsername()); response.setUsername(lineInfo.getUsername());
response.setMobile(lineInfo.getMobile()); response.setMobile(lineInfo.getMobile());
response.setShopId(shopId); response.setShopId(shopId);
@@ -433,6 +439,7 @@ public class ShopServiceImpl implements ShopService {
shopInfo.setJoinMode(request.getJoinMode()); shopInfo.setJoinMode(request.getJoinMode());
shopInfo.setFranchiseBrand(request.getFranchiseBrand()); shopInfo.setFranchiseBrand(request.getFranchiseBrand());
shopInfo.setStoreType(request.getStoreType()); shopInfo.setStoreType(request.getStoreType());
shopInfo.setManagerRegionId(request.getManagerRegionId());
return shopInfoDAO.updateShopInfo(shopInfo); return shopInfoDAO.updateShopInfo(shopInfo);
} }
@@ -514,6 +521,7 @@ public class ShopServiceImpl implements ShopService {
return new PageInfo<>(); return new PageInfo<>();
} }
List<Long> regionIds = preparations.stream().map(PreparationDTO::getRegionId).collect(Collectors.toList()); List<Long> regionIds = preparations.stream().map(PreparationDTO::getRegionId).collect(Collectors.toList());
regionIds.addAll(Optional.of(preparations).orElse(Collections.emptyList()).stream().map(PreparationDTO::getManagerRegionId).collect(Collectors.toList()));
List<Long> wantShopAreaIds = preparations.stream().map(PreparationDTO::getWantShopAreaId).collect(Collectors.toList()); List<Long> wantShopAreaIds = preparations.stream().map(PreparationDTO::getWantShopAreaId).collect(Collectors.toList());
List<String> investmentManagerIds = preparations.stream().map(PreparationDTO::getInvestmentManager).collect(Collectors.toList()); List<String> investmentManagerIds = preparations.stream().map(PreparationDTO::getInvestmentManager).collect(Collectors.toList());
List<Long> shopIds = preparations.stream().map(PreparationDTO::getId).collect(Collectors.toList()); List<Long> shopIds = preparations.stream().map(PreparationDTO::getId).collect(Collectors.toList());
@@ -548,6 +556,8 @@ public class ShopServiceImpl implements ShopService {
response.setShopStatus(ShopStatusEnum.getDesc(dto.getShopStatus())); response.setShopStatus(ShopStatusEnum.getDesc(dto.getShopStatus()));
response.setCreateTime(dto.getCreateTime()); response.setCreateTime(dto.getCreateTime());
response.setDays(); response.setDays();
response.setManagerRegionId(dto.getManagerRegionId());
response.setManagerRegionName(regionNameMap.getOrDefault(dto.getManagerRegionId(), ""));
responses.add(response); responses.add(response);
} }
pageInfo.setList(responses); pageInfo.setList(responses);

View File

@@ -44,6 +44,8 @@ import static com.cool.store.enums.point.ShopSubStageStatusEnum.*;
@Slf4j @Slf4j
public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResultService { public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResultService {
@Resource
private RegionDao regionDao;
@Resource @Resource
private PointInfoDAO pointInfoDAO; private PointInfoDAO pointInfoDAO;
@Resource @Resource
@@ -267,6 +269,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
private void updateShopAndPoint(AddSignFranchiseRequest request, ShopInfoDO shopInfoDO, PointInfoDO pointInfoById) { private void updateShopAndPoint(AddSignFranchiseRequest request, ShopInfoDO shopInfoDO, PointInfoDO pointInfoById) {
//店铺信息 //店铺信息
shopInfoDO.setManagerRegionId(request.getManagerRegionId());
shopInfoDO.setRegionId(request.getRegionId()); shopInfoDO.setRegionId(request.getRegionId());
shopInfoDO.setShopName(request.getShopName()); shopInfoDO.setShopName(request.getShopName());
shopInfoDO.setDetailAddress(request.getDetailAddress()); shopInfoDO.setDetailAddress(request.getDetailAddress());
@@ -460,7 +463,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
//证照办理 //证照办理
LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectByShopId(shopId); LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectByShopId(shopId);
RegionDO regionInfo = regionMapper.getByRegionId(shopInfoDO.getRegionId()); RegionDO regionInfo = regionDao.selectById(shopInfoDO.getRegionId());
RegionDO managerRegion = regionDao.selectById(shopInfoDO.getManagerRegionId());
// if (Objects.nonNull(pointInfoDO)) { // if (Objects.nonNull(pointInfoDO)) {
// // addSignFranchiseResponse.setStoreAddress(pointInfoDO.getAddress()); // // addSignFranchiseResponse.setStoreAddress(pointInfoDO.getAddress());
@@ -478,6 +484,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
addSignFranchiseResponse.setProvinceCode(shopInfoDO.getProvinceCode()); addSignFranchiseResponse.setProvinceCode(shopInfoDO.getProvinceCode());
addSignFranchiseResponse.setCityCode(shopInfoDO.getCityCode()); addSignFranchiseResponse.setCityCode(shopInfoDO.getCityCode());
addSignFranchiseResponse.setDistrictCode(shopInfoDO.getDistrictCode()); addSignFranchiseResponse.setDistrictCode(shopInfoDO.getDistrictCode());
addSignFranchiseResponse.setManagerRegionId(shopInfoDO.getManagerRegionId());
if (Objects.nonNull(managerRegion)){
addSignFranchiseResponse.setManagerRegionName(managerRegion.getName());
}
if (Objects.nonNull(signFranchiseDO)) { if (Objects.nonNull(signFranchiseDO)) {
addSignFranchiseResponse.setId(signFranchiseDO.getId()); addSignFranchiseResponse.setId(signFranchiseDO.getId());
addSignFranchiseResponse.setShopId(signFranchiseDO.getShopId()); addSignFranchiseResponse.setShopId(signFranchiseDO.getShopId());

View File

@@ -0,0 +1,147 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dao.*;
import com.cool.store.entity.*;
import com.cool.store.enums.*;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.FranchiseFeeMapper;
import com.cool.store.mapper.SignFranchiseMapper;
import com.cool.store.mq.producer.SimpleMessageService;
import com.cool.store.request.StoreRequestBody;
import com.cool.store.service.OperationLogService;
import com.cool.store.service.SyncMainSysServer;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.utils.poi.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import static com.cool.store.enums.AuditExecuteEnum.FRANCHISEES;
import static com.cool.store.enums.ExtendFieldTypeEnum.*;
/**
* @Author: WangShuo
* @Date: 2025/07/10/17:14
* @Version 1.0
* @注释:
*/
@Service
@Slf4j
public class SyncMainSysServerImpl implements SyncMainSysServer {
@Resource
private BigRegionDAO bigRegionDAO;
@Value("${spring.profiles.active}")
private String active;
@Resource
private SimpleMessageService simpleMessageService;
@Resource
private SignFranchiseMapper signFranchiseMapper;
@Resource
private BuildInformationDAO buildInformationDAO;
@Resource
private PointInfoDAO pointInfoDAO;
@Resource
FranchiseFeeMapper franchiseFeeMapper;
@Resource
private OperationLogDAO operationLogDAO;
@Resource
private OrderSysInfoDAO orderSysInfoDAO;
@Resource
private ShopStageInfoDAO shopStageInfoDAO;
@Resource
private PreparationServiceImpl preparationService;
@Resource
private UserAuthMappingService userAuthMappingService;
@Resource
private CommonService commonService;
@Resource
private ShopInfoDAO shopInfoDAO;
@Resource
private LineInfoDAO lineInfoDAO;
@Value("${mybatis.configuration.variables.enterpriseId}")
private String eid;
@Resource
private StoreDao storeDao;
@Override
@Async
public void syncStore(Long shopId) {
StoreRequestBody requestBody = new StoreRequestBody();
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
StoreDO storeDO = storeDao.getByStoreNum(shopInfo.getShopCode());
if (Objects.nonNull(storeDO)) {
throw new ServiceException(ErrorCodeEnum.STORE_IS_EXIST);
}
LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfo.getLineId());
PointInfoDO pointInfoDO = pointInfoDAO.getPointInfoById(shopInfo.getPointId());
BuildInformationDO buildInformationDO = buildInformationDAO.selectOneByShopId(shopId);
SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId);
requestBody.setStore_name(shopInfo.getShopName());
requestBody.setStore_num(shopInfo.getShopCode());
requestBody.setProvince(shopInfo.getProvince());
requestBody.setCity(shopInfo.getCity());
requestBody.setCounty(shopInfo.getDistrict());
requestBody.setLocation_address(shopInfo.getDetailAddress());
requestBody.setStore_address(shopInfo.getDetailAddress());
if (shopInfo.getManagerRegionId() == null) {
BigRegionDO byRegionId = bigRegionDAO.getByRegionId(shopInfo.getRegionId());
if (byRegionId != null) {
requestBody.setStore_area(byRegionId.getStoreManageRegionId() == null
? shopInfo.getRegionId().toString() : shopInfo.getManagerRegionId().toString());
} else {
requestBody.setStore_area(shopInfo.getRegionId().toString());
}
} else {
requestBody.setStore_area(shopInfo.getManagerRegionId().toString());
}
//未开业
requestBody.setStore_status("not_open");
if (pointInfoDO != null) {
requestBody.setStore_acreage(pointInfoDO.getPointArea());
requestBody.setLongitude_latitude(pointInfoDO.getLongitude() + "," + pointInfoDO.getLatitude());
}
requestBody.setTelephone(buildInformationDO.getBusinessMobile());
if (StringUtils.isNotBlank(buildInformationDO.getBusinessHours())) {
try {
String[] times = buildInformationDO.getBusinessHours().split("~");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
LocalTime startTime = LocalTime.parse(times[0], formatter);
LocalTime endTime = LocalTime.parse(times[1], formatter);
String startMillis = String.valueOf(startTime.toSecondOfDay() * 1000L);
String endMillis = String.valueOf(endTime.toSecondOfDay() * 1000L);
requestBody.setBusiness_hours(startMillis + "," + endMillis);
} catch (Exception e) {
log.info("时间转换异常:{},shopId:{},time:{}", e.getMessage(), shopId.toString(), buildInformationDO.getBusinessHours());
}
}
Map<String, ExtendFieldTypeEnum> configMapByActive = ExtendFieldTypeEnum.getConfigMapByActive(active);
Map<String, String> extendField = new HashMap<>();
extendField.put(configMapByActive.get(ONLINE_STORE_MANAGER_MOBILE.getMsg()).getKey(), "");
extendField.put(configMapByActive.get(ONLINE_SIGNATORY_NAME_1.getMsg()).getKey(), signFranchiseDO.getPartnershipSignatoryFirst());
extendField.put(configMapByActive.get(ONLINE_SIGNATORY_MOBILE_1.getMsg()).getKey(), lineInfoDO.getMobile());
extendField.put(configMapByActive.get(ONLINE_SIGNATORY_NAME_2.getMsg()).getKey(), signFranchiseDO.getPartnershipSignatorySecond());
extendField.put(configMapByActive.get(ONLINE_SIGNATORY_MOBILE_2.getMsg()).getKey(), signFranchiseDO.getPartnershipSignatorySecondMobile());
extendField.put(configMapByActive.get(ONLINE_ORDER_NAME.getMsg()).getKey(), buildInformationDO.getCShopName());
extendField.put(configMapByActive.get(ONLINE_JOIN_MODE.getMsg()).getKey(), JoinModeEnum.getByCode(shopInfo.getJoinMode()));
extendField.put(configMapByActive.get(ONLINE_STORE_TYPE.getMsg()).getKey(), StoreTypeEnum.getMessage(shopInfo.getStoreType()));
extendField.put(configMapByActive.get(ONLINE_BRAND.getMsg()).getKey(), FranchiseBrandEnum.getDescByCode(shopInfo.getFranchiseBrand()));
requestBody.setExtend_field(JSONObject.toJSONString(extendField));
requestBody.setEid(eid);
requestBody.setPartnerName(lineInfoDO.getUsername());
requestBody.setPartnerMobile(lineInfoDO.getMobile());
requestBody.setPartnerRoleId(UserRoleEnum.FRANCHISEES.getCode());
simpleMessageService.send(JSONObject.toJSONString(requestBody), RocketMqTagEnum.ZXJP_CREATE_STORE);
}
}

View File

@@ -177,4 +177,11 @@ public class DataHandlerController {
public ResponseResult<Boolean> franchiseFeeDateHandler(@RequestParam("pageSize") Integer pageSize, @RequestParam("pageNum") Integer pageNum){ public ResponseResult<Boolean> franchiseFeeDateHandler(@RequestParam("pageSize") Integer pageSize, @RequestParam("pageNum") Integer pageNum){
return ResponseResult.success(dataHandlerServer.franchiseFeeDateHandler(pageSize,pageNum)); return ResponseResult.success(dataHandlerServer.franchiseFeeDateHandler(pageSize,pageNum));
} }
@ApiOperation("门店数据初始化")
@GetMapping("/dataHandlerCreateStore")
public ResponseResult<Boolean> dataHandlerCreateStore(){
dataHandlerServer.dataHandlerCreateStore();
return ResponseResult.success(true);
}
} }

View File

@@ -50,6 +50,8 @@ import java.util.stream.Collectors;
@RequestMapping("/pc/test") @RequestMapping("/pc/test")
public class PCTestController { public class PCTestController {
@Resource
private SyncMainSysServer syncMainSysServer;
@Resource @Resource
private CommonService commonService; private CommonService commonService;
@Resource @Resource
@@ -80,6 +82,12 @@ public class PCTestController {
@Resource @Resource
LinePayDAO linePayDAO; LinePayDAO linePayDAO;
@GetMapping("/syncStore")
public ResponseResult<Boolean> syncStore(@RequestParam("shopId")Long shopId){
syncMainSysServer.syncStore(shopId);
return ResponseResult.success(Boolean.TRUE);
}
@GetMapping("/sendMessage") @GetMapping("/sendMessage")
public ResponseResult<Boolean> sendMessage(@RequestParam("lineId")Long lineId, public ResponseResult<Boolean> sendMessage(@RequestParam("lineId")Long lineId,
@RequestParam("pointId")Long pointId, @RequestParam("pointId")Long pointId,

View File

@@ -1,6 +1,7 @@
package com.cool.store.controller.webb; package com.cool.store.controller.webb;
import com.cool.store.entity.RegionDO; import com.cool.store.entity.RegionDO;
import com.cool.store.response.RegionResponse;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.RegionService; import com.cool.store.service.RegionService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -46,4 +47,11 @@ public class RegionController {
return ResponseResult.success(regionService.getBelongWarRegionName(regionId)); return ResponseResult.success(regionService.getBelongWarRegionName(regionId));
} }
@ApiOperation("获取管理下级区域")
@GetMapping("/getSubRegionByParentId")
public ResponseResult<List<RegionResponse>> getSubRegionByParentId(@RequestParam(value = "regionId", required = true) Long regionId) {
return ResponseResult.success(regionService.getSubRegionByParentId(regionId));
}
} }

View File

@@ -26,10 +26,11 @@ mybatis.configuration.map-underscore-to-camel-case=true
isv.domain=https://abstore-isv.coolstore.cn/isv isv.domain=https://abstore-isv.coolstore.cn/isv
#rocketmq \u914D\u7F6E #rocketmq \u914D\u7F6E
rocketmq.accessKey=LTAI5tJbgtyoHUvofTaeP1RP rocketmq.accessKey=LTAI5tGBwmXwZkMuHK4MudMJ
rocketmq.secretKey=myg755iCx0j4PyQkHMaUVeOr0bw1tA rocketmq.secretKey=bnZoUMRQ9834STgz5E291YrqlBu6yn
rocketmq.nameSrvAdder=http://MQ_INST_1947409023213164_BX3sLZnA.cn-hangzhou.mq-internal.aliyuncs.com:8080 rocketmq.nameSrvAdder=http://MQ_INST_1748142459508127_BZfpFxuJ.cn-hangzhou.mq-internal.aliyuncs.com:8080
rocketmq.topic=simple_message rocketmq.topic=zx_simple_message
rocketmq.orderTopic=zx_order_message
#oss配置 #oss配置
oss.host=https://oss-store.coolcollege.cn/ oss.host=https://oss-store.coolcollege.cn/

View File

@@ -4,8 +4,8 @@ default.datasource.url=jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3
default.datasource.username=coolstore default.datasource.username=coolstore
default.datasource.password=CSCErYcXniNYm7bT default.datasource.password=CSCErYcXniNYm7bT
redis.host.uri=http://userInfo:Cx111111@tstore-coolcollege.redis.rds.aliyuncs.com:6379/0 #redis
redis.isv.host.uri=http://userInfo:Cx111111@tstore-coolcollege.redis.rds.aliyuncs.com:6379/2 redis.host.uri=http://userInfo:Cx111111@tstore-coolcollege-open.redis.rds.aliyuncs.com:6379/0
#pagehelper #pagehelper
pagehelper.helper-dialect=mysql pagehelper.helper-dialect=mysql
@@ -26,56 +26,57 @@ mybatis.configuration.map-underscore-to-camel-case=true
isv.domain=https://abstore-isv.coolstore.cn/isv isv.domain=https://abstore-isv.coolstore.cn/isv
#rocketmq \u914D\u7F6E #rocketmq \u914D\u7F6E
rocketmq.accessKey=zK2oVEz4G1ts23d2 rocketmq.accessKey=LTAI5tGBwmXwZkMuHK4MudMJ
rocketmq.secretKey=0UstLCS0mh2ASgBh rocketmq.secretKey=bnZoUMRQ9834STgz5E291YrqlBu6yn
rocketmq.nameSrvAdder=http://rmq-cn-9lb38l1rx04.cn-hangzhou.rmq.aliyuncs.com:8080 rocketmq.nameSrvAdder=http://MQ_INST_1748142459508127_BZfpFxuJ.cn-hangzhou.mq.aliyuncs.com:8080
rocketmq.topic=simple_message rocketmq.topic=zx_simple_message
rocketmq.orderTopic=zx_order_message
#oss配置 #oss配置
oss.host=https://oss-store.coolcollege.cn/ #oss.host=https://oss-store.coolcollege.cn/
oss.accessKeyId=LTAI5t6Zk3Y3vyrMXC87jGYB #oss.accessKeyId=LTAI5t6Zk3Y3vyrMXC87jGYB
oss.accessKeySecret=6Gw06jtW5xNKWqbhnt1KmVZx1z9Dev #oss.accessKeySecret=6Gw06jtW5xNKWqbhnt1KmVZx1z9Dev
oss.endpoint=oss-cn-hangzhou.aliyuncs.com #oss.endpoint=oss-cn-hangzhou.aliyuncs.com
oss.bucket=cool-store-hsay #oss.bucket=cool-store-hsay
oss.file.dir=partner/171cddee76471740/ #oss.file.dir=partner/171cddee76471740/
oss.excelFile.dir=lineExcel/ oss.excelFile.dir=lineExcel/
oss.accessKeyId=LTAI5tGBwmXwZkMuHK4MudMJ
oss.accessKeySecret=bnZoUMRQ9834STgz5E291YrqlBu6yn
oss.bucket=store-ossfile
oss.file.dir=eid/${mybatis.configuration.variables.enterpriseId}/
oss.endpoint=oss-cn-hangzhou.aliyuncs.com
oss.host=https://oss-cool.coolstore.cn/
#cdn地址 #cdn地址
cdn.url=https://testhsaypic.coolstore.cn cdn.url=https://oss-cool.coolstore.cn
#TRTC #TRTC
trtc.sdkAppId=1600026212 trtc.sdkAppId=1600026212
trtc.secretKey=e036b654c665f649f053a01ff6f5652a826980027be298d4d49949f6e26434a5 trtc.secretKey=e036b654c665f649f053a01ff6f5652a826980027be298d4d49949f6e26434a5
trtc.video.callback.secretKey=ur4wq2iFbRI03Q35 trtc.video.callback.secretKey=ur4wq2iFbRI03Q35
weixin.appId=wx997f2206e276e513 weixin.appId=wxd77a2761c1911ee1
weixin.appSecret=2ddea4374abeace05e83c948392c2952 weixin.appSecret=fb669b90fcdcdd0e2da21b6e066df83e
weixin.index.url=pages/index/index weixin.index.url=pages/index/index
signKey=77fea013c3a6459685b83c21a2fc3411 signKey=77fea013c3a6459685b83c21a2fc3411
fixMobileOpenid=HSAY5531DA7 fixMobileOpenid=HSAY5531DA7
#xxljob配置 #xxljob配置
#xxljob配置 #xxljob配置
xxl.job.admin.addresses= xxl.job.admin.addresses = http://10.6.48.226:10001/xxl-job-admin
xxl.job.executor.appname = ${spring.application.name} xxl.job.executor.appname = ${spring.application.name}
xxl.job.executor.ip = xxl.job.executor.ip =
xxl.job.executor.port=31001 xxl.job.executor.port = 40301
xxl.job.executor.logpath = logs/xxl-job/jobhandler xxl.job.executor.logpath = logs/xxl-job/jobhandler
xxl.job.executor.logretentiondays=3 xxl.job.executor.logretentiondays = 30
xxl.job.accessToken = 25365115eed84e9ba5e0040abb255a09 xxl.job.accessToken = 25365115eed84e9ba5e0040abb255a09
exhibition.channel.id=52399 exhibition.channel.id=52399
recommended.channel.id=52400 recommended.channel.id=52400
wx.pay.privateKeyPath=D:\\weixin\\apiclient_key.pem
aliyun.accessKeyId=LTAI5tQ6QBnWaB5LaJYz6zcD
aliyun.accessKeySecret=spqsOgtfr54cwK861O3N3fInydTgjA
cool.app.id=80685 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 xfsg.url=https://inf-test.xianfengsg.com/InfService
@@ -84,6 +85,51 @@ aliyun.sms.accessKeySecret=WIMjO4BjVg3YAHwmplq86yOyS2HMpa
aliyun.sms.signName=酷店掌 aliyun.sms.signName=酷店掌
mybatis.configuration.variables.enterpriseId=5558ce7a3aa84e3590392fcaa8697ffb mybatis.configuration.variables.enterpriseId=5558ce7a3aa84e3590392fcaa8697ffb
enterprise.dingCorpId=ding0006ae30cf81071ea1320dcb25e91351 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 qywx.task.notice.url2=https://tstore-h5.coolstore.cn/?corpId=%s&appType=%s#/notice?target=%s&noticeType=zx&corpId=%s&appType=%s&eid=%s
#机会点地址
third.party.appKey=IGSAEQoakR2HEaYx
third.party.appSecret=aPsA99K1obFeFm3m
zx.opportunity.url=https://snp.wenmatech.com/
#大数据地址
zx.big.data.url=https://ds.zhengxinfood.com/
zx.big.data.appKey=ff203b5567744feaaae49fb86f58c5bf
zx.big.data.appSecret=35b8b9a400b4430fa022190be0913cd6
#火吗POS
api.auth.url=https://api.hmdzg.top
api.auth.username=VA59C0ubfcpcVpl
api.auth.secret=H9YKHF6R7N16Fvy
#新管家账号
xgj.api.auth.url=http://117.139.13.24:11180
xgj.api.auth.username=6446346061e043e392dd53c9c8d1af0b
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.username=096d4009072c927c
yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6
#新掌柜账号
xzg.api.auth.url=http://webapi.zhengxinfood.com
zx.food.url=https://datacenter.zhengxinfood.com
cool.api.appKey=k8J7fG2qR5tY9vX3
cool.api.secret=wP4sN6dL8zK2xM9c
#maozhejun userID
special.user.id=wpayJeDAAAhGIFgUJpJN-zg39JuNbYhg_woayJeDAAA0TC8mkCJeXouw94hYA-D3Q
ask.bot.url=https://test.auth.wx.askbot.cn