Merge #118 into master from cc_20260506_newsign
feat:addShopDecorationLog * cc_20260506_newsign: (14 commits squashed) - feat:新签调整 - feat:招商 - feat:招商 - feat:招商 - feat:招商 - feat:id - feat:招商副总裁审核 - feat:招商经理 - feat:招商经理 - feat:招商大区总审核 或者 分部内勤审核 其他状态不能审核 - feat:SHOP_SUB_STAGE_STATUS_150_5 - feat:建店代办处理 - feat:addShopDecorationLog - feat:addShopDecorationLog Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com> Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com> CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/118
This commit is contained in:
@@ -9,7 +9,8 @@ package com.cool.store.enums;
|
|||||||
public enum AuditExecuteEnum {
|
public enum AuditExecuteEnum {
|
||||||
FRANCHISEES(0, "加盟商提交"),
|
FRANCHISEES(0, "加盟商提交"),
|
||||||
OPERATION(1, "运营初审"),
|
OPERATION(1, "运营初审"),
|
||||||
HEADQUARTERS(2, "总部受理");
|
HEADQUARTERS(2, "总部受理"),
|
||||||
|
MANAGER(3, "待招商副总裁审核");
|
||||||
private int code;
|
private int code;
|
||||||
private String desc;
|
private String desc;
|
||||||
AuditExecuteEnum(int code, String desc) {
|
AuditExecuteEnum(int code, String desc) {
|
||||||
|
|||||||
@@ -75,9 +75,13 @@ public enum UserRoleEnum {
|
|||||||
INVESTMENT_MANGER(1765266125369L, "招商经理"),
|
INVESTMENT_MANGER(1765266125369L, "招商经理"),
|
||||||
OPERATION_GENERAL_CONSULTANT(1764642515446L,"运营片区总顾问"),
|
OPERATION_GENERAL_CONSULTANT(1764642515446L,"运营片区总顾问"),
|
||||||
ORDER_GROUP(1766387359609L,"订单组"),
|
ORDER_GROUP(1766387359609L,"订单组"),
|
||||||
|
|
||||||
|
DELIVERY_SPECIALIST(1767591430954L,"外卖专员"),
|
||||||
AI_STORE_TYPE_APPROVE(1774252055402L,"AI店型订单审核"),
|
AI_STORE_TYPE_APPROVE(1774252055402L,"AI店型订单审核"),
|
||||||
DEVICE_SHIPMENT_HM(1775108261858L,"设备发货-火码"),
|
DEVICE_SHIPMENT_HM(1775108261858L,"设备发货-火码"),
|
||||||
DEVICE_SHIPMENT_CG(1775108280524L,"设备发货-采购")
|
DEVICE_SHIPMENT_CG(1775108280524L,"设备发货-采购"),
|
||||||
|
OPERATION_VICE_PRESIDENT(1778035765077L, "运营副总裁"),
|
||||||
|
INVESTMENT_PRESIDENT(1778053561302L, "招商副总裁"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private Long code;
|
private Long code;
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ public enum ShopSubStageStatusEnum {
|
|||||||
|
|
||||||
//上传租赁合同
|
//上传租赁合同
|
||||||
SHOP_SUB_STAGE_STATUS_20(ShopSubStageEnum.SHOP_STAGE_2, 200, "待加盟商上传", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_20(ShopSubStageEnum.SHOP_STAGE_2, 200, "待加盟商上传", Boolean.FALSE),
|
||||||
SHOP_SUB_STAGE_STATUS_21(ShopSubStageEnum.SHOP_STAGE_2, 210, "待招商经理审核", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_21(ShopSubStageEnum.SHOP_STAGE_2, 210, "待招商片区老总审核", Boolean.FALSE),
|
||||||
|
SHOP_SUB_STAGE_STATUS_21_5(ShopSubStageEnum.SHOP_STAGE_2, 215, "待分部内勤审核", Boolean.FALSE),
|
||||||
SHOP_SUB_STAGE_STATUS_22(ShopSubStageEnum.SHOP_STAGE_2, 220, "审核未通过", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_22(ShopSubStageEnum.SHOP_STAGE_2, 220, "审核未通过", Boolean.FALSE),
|
||||||
SHOP_SUB_STAGE_STATUS_23(ShopSubStageEnum.SHOP_STAGE_2, 230, "审核通过", Boolean.TRUE),
|
SHOP_SUB_STAGE_STATUS_23(ShopSubStageEnum.SHOP_STAGE_2, 230, "审核通过", Boolean.TRUE),
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ public enum ShopSubStageStatusEnum {
|
|||||||
//加盟合同签约
|
//加盟合同签约
|
||||||
SHOP_SUB_STAGE_STATUS_80(ShopSubStageEnum.SHOP_STAGE_8, 800, "待加盟内勤/大区内勤提交", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_80(ShopSubStageEnum.SHOP_STAGE_8, 800, "待加盟内勤/大区内勤提交", Boolean.FALSE),
|
||||||
SHOP_SUB_STAGE_STATUS_83(ShopSubStageEnum.SHOP_STAGE_8, 830, "待分部内勤审核", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_83(ShopSubStageEnum.SHOP_STAGE_8, 830, "待分部内勤审核", Boolean.FALSE),
|
||||||
|
SHOP_SUB_STAGE_STATUS_83_2(ShopSubStageEnum.SHOP_STAGE_8, 832, "待招商副总裁审核", Boolean.FALSE),
|
||||||
SHOP_SUB_STAGE_STATUS_83_5(ShopSubStageEnum.SHOP_STAGE_8, 835, "待财务审核", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_83_5(ShopSubStageEnum.SHOP_STAGE_8, 835, "待财务审核", Boolean.FALSE),
|
||||||
SHOP_SUB_STAGE_STATUS_84(ShopSubStageEnum.SHOP_STAGE_8, 840, "已签约", Boolean.TRUE),
|
SHOP_SUB_STAGE_STATUS_84(ShopSubStageEnum.SHOP_STAGE_8, 840, "已签约", Boolean.TRUE),
|
||||||
SHOP_SUB_STAGE_STATUS_85(ShopSubStageEnum.SHOP_STAGE_8, 850, "审核失败", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_85(ShopSubStageEnum.SHOP_STAGE_8, 850, "审核失败", Boolean.FALSE),
|
||||||
@@ -90,7 +92,7 @@ public enum ShopSubStageStatusEnum {
|
|||||||
//平台资料提交
|
//平台资料提交
|
||||||
SHOP_SUB_STAGE_STATUS_150(ShopSubStageEnum.SHOP_STAGE_15, 1500, "待加盟商提交", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_150(ShopSubStageEnum.SHOP_STAGE_15, 1500, "待加盟商提交", Boolean.FALSE),
|
||||||
// 2025-12-26 加盟开店管理流程调整,新增“待运营顾问审核”,删除1520、1530、1540、1550阶段,
|
// 2025-12-26 加盟开店管理流程调整,新增“待运营顾问审核”,删除1520、1530、1540、1550阶段,
|
||||||
SHOP_SUB_STAGE_STATUS_150_5(ShopSubStageEnum.SHOP_STAGE_15, 1505, "待运营顾问审核", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_150_5(ShopSubStageEnum.SHOP_STAGE_15, 1505, "待招商经理审核", Boolean.FALSE),
|
||||||
SHOP_SUB_STAGE_STATUS_151(ShopSubStageEnum.SHOP_STAGE_15, 1510, "待圆规物流填写", Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_151(ShopSubStageEnum.SHOP_STAGE_15, 1510, "待圆规物流填写", Boolean.FALSE),
|
||||||
// ----- 以下子阶段删除 -----
|
// ----- 以下子阶段删除 -----
|
||||||
SHOP_SUB_STAGE_STATUS_152(ShopSubStageEnum.SHOP_STAGE_15, 1520, "待财务填写",Boolean.FALSE),
|
SHOP_SUB_STAGE_STATUS_152(ShopSubStageEnum.SHOP_STAGE_15, 1520, "待财务填写",Boolean.FALSE),
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.cool.store.dao;
|
||||||
|
|
||||||
|
import com.cool.store.entity.ShopDecorationLogDO;
|
||||||
|
import com.cool.store.mapper.ShopDecorationLogMapper;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店装修修改记录 DAO
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public class ShopDecorationLogDAO {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ShopDecorationLogMapper shopDecorationLogMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插入修改记录
|
||||||
|
*/
|
||||||
|
public int insert(ShopDecorationLogDO record) {
|
||||||
|
return shopDecorationLogMapper.insertSelective(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过门店ID查询所有修改记录(按时间倒序)
|
||||||
|
*/
|
||||||
|
public List<ShopDecorationLogDO> listByShopIdOrderByTimeDesc(Long shopId) {
|
||||||
|
return shopDecorationLogMapper.listByShopIdOrderByTimeDesc(shopId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -270,10 +270,11 @@ public class ShopStageInfoDAO {
|
|||||||
return shopStageInfoMapper.updateShopStageAndAuditInfo(shopId, shopStageInfo.getShopSubStageEnum().getShopSubStage(), shopStageInfo.getShopSubStageStatus(), isTerminated, remark, auditId);
|
return shopStageInfoMapper.updateShopStageAndAuditInfo(shopId, shopStageInfo.getShopSubStageEnum().getShopSubStage(), shopStageInfo.getShopSubStageStatus(), isTerminated, remark, auditId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Page<RentInfoToDoVO> getRentContractToDoPage(String userId, Integer pageNum, Integer pageSize) {
|
public Page<RentInfoToDoVO> getRentContractToDoPage(String userId, Integer pageNum, Integer pageSize,List<String> authRegionIds) {
|
||||||
PageHelper.startPage(pageNum, pageSize);
|
PageHelper.startPage(pageNum, pageSize);
|
||||||
ShopSubStageStatusEnum shopSubStageStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21;
|
ShopSubStageStatusEnum shopSubStageStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21;
|
||||||
return shopStageInfoMapper.getRentContractToDoPage(userId, shopSubStageStatus.getShopSubStageEnum().getShopSubStage(), shopSubStageStatus.getShopSubStageStatus());
|
return shopStageInfoMapper.getRentContractToDoPage(userId, shopSubStageStatus.getShopSubStageEnum().getShopSubStage(),
|
||||||
|
shopSubStageStatus.getShopSubStageStatus(),authRegionIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ShopStageInfoDO> getShopIdListByStageStatus(Integer shopSubStageStatus) {
|
public List<ShopStageInfoDO> getShopIdListByStageStatus(Integer shopSubStageStatus) {
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.cool.store.mapper;
|
||||||
|
|
||||||
|
import com.cool.store.entity.ShopDecorationLogDO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import tk.mybatis.mapper.common.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店装修修改记录表 Mapper
|
||||||
|
*/
|
||||||
|
public interface ShopDecorationLogMapper extends Mapper<ShopDecorationLogDO> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过门店ID查询所有修改记录(按时间倒序)
|
||||||
|
*/
|
||||||
|
List<ShopDecorationLogDO> listByShopIdOrderByTimeDesc(@Param("shopId") Long shopId);
|
||||||
|
}
|
||||||
@@ -116,7 +116,10 @@ public interface ShopStageInfoMapper extends Mapper<ShopStageInfoDO> {
|
|||||||
* @param userId
|
* @param userId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Page<RentInfoToDoVO> getRentContractToDoPage(@Param("userId") String userId, @Param("shopSubStage")Integer shopSubStage, @Param("shopSubStageStatus") Integer shopSubStageStatus);
|
Page<RentInfoToDoVO> getRentContractToDoPage(@Param("userId") String userId,
|
||||||
|
@Param("shopSubStage")Integer shopSubStage,
|
||||||
|
@Param("shopSubStageStatus") Integer shopSubStageStatus,
|
||||||
|
@Param("authRegionIds") List<String> authRegionIds);
|
||||||
|
|
||||||
List<ShopStageInfoDO> getShopIdListByStageStatus(@Param("shopSubStageStatus") Integer shopSubStageStatus);
|
List<ShopStageInfoDO> getShopIdListByStageStatus(@Param("shopSubStageStatus") Integer shopSubStageStatus);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.cool.store.mapper.ShopDecorationLogMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.cool.store.entity.ShopDecorationLogDO">
|
||||||
|
<id column="id" jdbcType="BIGINT" property="id" />
|
||||||
|
<result column="shop_id" jdbcType="BIGINT" property="shopId" />
|
||||||
|
<result column="old_data" jdbcType="VARCHAR" property="oldData" />
|
||||||
|
<result column="new_data" jdbcType="VARCHAR" property="newData" />
|
||||||
|
<result column="operator" jdbcType="VARCHAR" property="operator" />
|
||||||
|
<result column="operator_time" jdbcType="TIMESTAMP" property="operatorTime" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="listByShopIdOrderByTimeDesc" resultMap="BaseResultMap">
|
||||||
|
SELECT * FROM zxjp_shop_decoration_log
|
||||||
|
WHERE shop_id = #{shopId}
|
||||||
|
ORDER BY operator_time DESC
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@@ -244,8 +244,17 @@
|
|||||||
inner join xfsg_line_info b on a.line_id = b.id
|
inner join xfsg_line_info b on a.line_id = b.id
|
||||||
left join xfsg_shop_info c on a.shop_id = c.id
|
left join xfsg_shop_info c on a.shop_id = c.id
|
||||||
where c.deleted=0
|
where c.deleted=0
|
||||||
and a.shop_sub_stage = #{shopSubStage} and a.shop_sub_stage_status = #{shopSubStageStatus} and a.deleted = 0 and
|
and a.shop_sub_stage = #{shopSubStage}
|
||||||
b.deleted = 0 and b.development_manager = #{userId}
|
and a.shop_sub_stage_status = #{shopSubStageStatus}
|
||||||
|
and a.deleted = 0
|
||||||
|
and b.deleted = 0
|
||||||
|
<if test="authRegionIds != null and authRegionIds.size() > 0">
|
||||||
|
and c.invest_region_id in
|
||||||
|
<foreach collection="authRegionIds" item="regionId" index="index" open="(" separator="," close=")">
|
||||||
|
#{regionId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
order by a.id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,8 @@
|
|||||||
<select id="selectByShopIds" resultType="com.cool.store.entity.SignFranchiseDO">
|
<select id="selectByShopIds" resultType="com.cool.store.entity.SignFranchiseDO">
|
||||||
select contract_code,shop_id,sign_type,contract_start_time,contract_end_time,contract_amount,create_time,
|
select contract_code,shop_id,sign_type,contract_start_time,contract_end_time,contract_amount,create_time,
|
||||||
partnership_signatory_first,partnership_signatory_second ,partnership_signatory_second_id_number,partnership_signatory_second_mobile,
|
partnership_signatory_first,partnership_signatory_second ,partnership_signatory_second_id_number,partnership_signatory_second_mobile,
|
||||||
introduction_award,introduce_store,introducer,protective_distance,partnership_signatory_first_which_store
|
introduction_award,introduce_store,introducer,protective_distance,partnership_signatory_first_which_store,
|
||||||
|
display_cabinets_num
|
||||||
from xfsg_sign_franchise
|
from xfsg_sign_franchise
|
||||||
where 1=1
|
where 1=1
|
||||||
<if test="list !=null and list.size >0">
|
<if test="list !=null and list.size >0">
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
package com.cool.store.entity;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店装修修改记录表
|
||||||
|
*/
|
||||||
|
@Table(name = "zxjp_shop_decoration_log")
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ShopDecorationLogDO {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店ID
|
||||||
|
*/
|
||||||
|
@Column(name = "shop_id")
|
||||||
|
@ApiModelProperty("门店ID")
|
||||||
|
private Long shopId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改前数据(JSON格式)
|
||||||
|
*/
|
||||||
|
@Column(name = "old_data", columnDefinition = "json")
|
||||||
|
@ApiModelProperty("修改前数据")
|
||||||
|
private String oldData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改后数据(JSON格式)
|
||||||
|
*/
|
||||||
|
@Column(name = "new_data", columnDefinition = "json")
|
||||||
|
@ApiModelProperty("修改后数据")
|
||||||
|
private String newData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改人
|
||||||
|
*/
|
||||||
|
@Column(name = "operator")
|
||||||
|
@ApiModelProperty("修改人")
|
||||||
|
private String operator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改时间
|
||||||
|
*/
|
||||||
|
@Column(name = "operator_time")
|
||||||
|
@ApiModelProperty("修改时间")
|
||||||
|
private Date operatorTime;
|
||||||
|
}
|
||||||
@@ -184,4 +184,10 @@ public class SignFranchiseDO {
|
|||||||
@Column(name = "contract_service_life")
|
@Column(name = "contract_service_life")
|
||||||
private Integer contractServiceLife;
|
private Integer contractServiceLife;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 展示柜数量
|
||||||
|
*/
|
||||||
|
@Column(name = "display_cabinets_num")
|
||||||
|
private Integer displayCabinetsNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -249,6 +249,9 @@ public class AddSignFranchiseRequest {
|
|||||||
@ApiModelProperty("特殊情况说明")
|
@ApiModelProperty("特殊情况说明")
|
||||||
private String specialInstruction;
|
private String specialInstruction;
|
||||||
|
|
||||||
|
@ApiModelProperty("展示柜数量")
|
||||||
|
private Integer displayCabinetsNum;
|
||||||
|
|
||||||
private Date firstYearStartTime;
|
private Date firstYearStartTime;
|
||||||
|
|
||||||
private Date firstYearEndTime;
|
private Date firstYearEndTime;
|
||||||
@@ -299,6 +302,7 @@ public class AddSignFranchiseRequest {
|
|||||||
signFranchiseDO.setDiscountAmount(this.discountAmount);
|
signFranchiseDO.setDiscountAmount(this.discountAmount);
|
||||||
signFranchiseDO.setCurrency(this.currency);
|
signFranchiseDO.setCurrency(this.currency);
|
||||||
signFranchiseDO.setContractServiceLife(this.contractServiceLife);
|
signFranchiseDO.setContractServiceLife(this.contractServiceLife);
|
||||||
|
signFranchiseDO.setDisplayCabinetsNum(this.displayCabinetsNum);
|
||||||
return signFranchiseDO;
|
return signFranchiseDO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.cool.store.request;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店装修修改记录 Request
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel
|
||||||
|
public class ShopDecorationLogRequest {
|
||||||
|
|
||||||
|
@ApiModelProperty("门店ID")
|
||||||
|
@NotNull(message = "门店ID不能为空")
|
||||||
|
private Long shopId;
|
||||||
|
|
||||||
|
@ApiModelProperty("装修等级")
|
||||||
|
private String decorationLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("装修设计要求")
|
||||||
|
private String decorationRequirement;
|
||||||
|
|
||||||
|
@ApiModelProperty("装修属性 0-新开店 1-老店新开 2-老店翻新 3-迁址")
|
||||||
|
private Integer shopDecorationAttributes;
|
||||||
|
|
||||||
|
@ApiModelProperty("特殊说明")
|
||||||
|
private String specialInstruction;
|
||||||
|
}
|
||||||
@@ -44,6 +44,8 @@ public class StoreMasterDTO {
|
|||||||
private String bloc;
|
private String bloc;
|
||||||
@ApiModelProperty("所属大区")
|
@ApiModelProperty("所属大区")
|
||||||
private Long branch;
|
private Long branch;
|
||||||
|
@ApiModelProperty("所属招商大区")
|
||||||
|
private Long investRegionId;
|
||||||
@ApiModelProperty("加盟督导-人")
|
@ApiModelProperty("加盟督导-人")
|
||||||
private String joinSupervision;
|
private String joinSupervision;
|
||||||
@ApiModelProperty("管理督导-组织")
|
@ApiModelProperty("管理督导-组织")
|
||||||
|
|||||||
@@ -357,4 +357,7 @@ public class AddSignFranchiseResponse {
|
|||||||
|
|
||||||
@ApiModelProperty("特殊情况说明")
|
@ApiModelProperty("特殊情况说明")
|
||||||
private String specialInstruction;
|
private String specialInstruction;
|
||||||
|
|
||||||
|
@ApiModelProperty("展示柜数量")
|
||||||
|
private Integer displayCabinetsNum;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.cool.store.response;
|
||||||
|
|
||||||
|
import com.cool.store.request.ShopDecorationLogRequest;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店装修修改记录 Response
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel
|
||||||
|
public class ShopDecorationLogResponse {
|
||||||
|
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("门店ID")
|
||||||
|
private Long shopId;
|
||||||
|
|
||||||
|
@ApiModelProperty("修改前数据")
|
||||||
|
private ShopDecorationLogRequest oldData;
|
||||||
|
|
||||||
|
@ApiModelProperty("修改后数据")
|
||||||
|
private ShopDecorationLogRequest newData;
|
||||||
|
|
||||||
|
@ApiModelProperty("修改人")
|
||||||
|
private String operator;
|
||||||
|
|
||||||
|
@ApiModelProperty("修改时间")
|
||||||
|
private String operatorTime;
|
||||||
|
}
|
||||||
@@ -5,7 +5,12 @@ import com.cool.store.context.LoginUserInfo;
|
|||||||
import com.cool.store.request.AuditApproveRequest;
|
import com.cool.store.request.AuditApproveRequest;
|
||||||
import com.cool.store.request.BuildInformationRequest;
|
import com.cool.store.request.BuildInformationRequest;
|
||||||
import com.cool.store.request.BuildSettlerRequest;
|
import com.cool.store.request.BuildSettlerRequest;
|
||||||
|
import com.cool.store.request.ShopDecorationLogRequest;
|
||||||
import com.cool.store.response.BuildInformationResponse;
|
import com.cool.store.response.BuildInformationResponse;
|
||||||
|
import com.cool.store.response.ShopDecorationLogResponse;
|
||||||
|
import com.cool.store.response.ShopDecorationLogResponse;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author EDY
|
* @author EDY
|
||||||
@@ -33,4 +38,5 @@ public interface BuildInformationService {
|
|||||||
* 开票信息企业校验
|
* 开票信息企业校验
|
||||||
*/
|
*/
|
||||||
Boolean companyInvoiceVerify(Long shopId);
|
Boolean companyInvoiceVerify(Long shopId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ import com.cool.store.entity.ShopInfoDO;
|
|||||||
import com.cool.store.request.*;
|
import com.cool.store.request.*;
|
||||||
import com.cool.store.response.AddSignFranchiseResponse;
|
import com.cool.store.response.AddSignFranchiseResponse;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
|
import com.cool.store.response.ShopDecorationLogResponse;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface SignFranchiseService {
|
public interface SignFranchiseService {
|
||||||
/**
|
/**
|
||||||
@@ -27,7 +30,7 @@ public interface SignFranchiseService {
|
|||||||
/**
|
/**
|
||||||
* 装修信息修改
|
* 装修信息修改
|
||||||
*/
|
*/
|
||||||
Boolean decorationUpdate(SignFranchiseDecorationRequest request);
|
Boolean decorationUpdate(SignFranchiseDecorationRequest request, LoginUserInfo user);
|
||||||
|
|
||||||
|
|
||||||
AddSignFranchiseResponse getSignFranchise(Long shopId);
|
AddSignFranchiseResponse getSignFranchise(Long shopId);
|
||||||
@@ -39,6 +42,20 @@ public interface SignFranchiseService {
|
|||||||
*/
|
*/
|
||||||
Boolean auditApprove(AuditApproveRequest request, LoginUserInfo user);
|
Boolean auditApprove(AuditApproveRequest request, LoginUserInfo user);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 副总裁审核
|
||||||
|
* @param request
|
||||||
|
* @param user
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean managerAuditApprove(AuditApproveRequest request, LoginUserInfo user);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 财务审核
|
||||||
|
* @param request
|
||||||
|
* @param user
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
Boolean financeAuditApprove(AuditApproveRequest request, LoginUserInfo user);
|
Boolean financeAuditApprove(AuditApproveRequest request, LoginUserInfo user);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -69,4 +86,15 @@ public interface SignFranchiseService {
|
|||||||
Boolean assignOperationConsultant(AssignOperationConsultantRequest request);
|
Boolean assignOperationConsultant(AssignOperationConsultantRequest request);
|
||||||
|
|
||||||
ContractCallbackDTO pushContractRequest(ShopInfoDO shopInfoDO, Long shopId);
|
ContractCallbackDTO pushContractRequest(ShopInfoDO shopInfoDO, Long shopId);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增门店装修修改记录
|
||||||
|
*/
|
||||||
|
Boolean addShopDecorationLog(ShopDecorationLogRequest request, String userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过shopId查询所有的修改记录(按时间倒序)
|
||||||
|
*/
|
||||||
|
List<ShopDecorationLogResponse> listShopDecorationLog(Long shopId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,15 +3,20 @@ package com.cool.store.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollStreamUtil;
|
import cn.hutool.core.collection.CollStreamUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.cool.store.constants.CommonConstants;
|
import com.cool.store.constants.CommonConstants;
|
||||||
import com.cool.store.constants.RedisConstant;
|
import com.cool.store.constants.RedisConstant;
|
||||||
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.dao.ShopDecorationLogDAO;
|
||||||
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.ShopSubStageEnum;
|
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.request.ShopDecorationLogRequest;
|
||||||
|
import com.cool.store.response.ShopDecorationLogResponse;
|
||||||
|
import com.cool.store.utils.poi.DateUtils;
|
||||||
import com.cool.store.mapper.ApplyLicenseMapper;
|
import com.cool.store.mapper.ApplyLicenseMapper;
|
||||||
import com.cool.store.mapper.WarehouseInfoMapper;
|
import com.cool.store.mapper.WarehouseInfoMapper;
|
||||||
import com.cool.store.request.AuditApproveRequest;
|
import com.cool.store.request.AuditApproveRequest;
|
||||||
@@ -94,6 +99,8 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
private SignFranchiseService signFranchiseService;
|
private SignFranchiseService signFranchiseService;
|
||||||
@Resource
|
@Resource
|
||||||
private ApplyLicenseMapper applyLicenseMapper;
|
private ApplyLicenseMapper applyLicenseMapper;
|
||||||
|
@Resource
|
||||||
|
private ShopDecorationLogDAO shopDecorationLogDAO;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -152,7 +159,7 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
map.put("partnerUsername", lineInfoDO.getUsername());
|
map.put("partnerUsername", lineInfoDO.getUsername());
|
||||||
map.put("partnerMobile", lineInfoDO.getMobile());
|
map.put("partnerMobile", lineInfoDO.getMobile());
|
||||||
map.put("storeName", shopInfoDO.getShopName());
|
map.put("storeName", shopInfoDO.getShopName());
|
||||||
commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getOperationsConsultant()),
|
commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getInvestmentManager()),
|
||||||
MessageEnum.MESSAGE_54,
|
MessageEnum.MESSAGE_54,
|
||||||
map);
|
map);
|
||||||
return buildInformationDAO.insertSelective(buildInformationDO);
|
return buildInformationDAO.insertSelective(buildInformationDO);
|
||||||
@@ -183,7 +190,7 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
map.put("partnerUsername", lineInfoDO.getUsername());
|
map.put("partnerUsername", lineInfoDO.getUsername());
|
||||||
map.put("partnerMobile", lineInfoDO.getMobile());
|
map.put("partnerMobile", lineInfoDO.getMobile());
|
||||||
map.put("storeName", shopInfoDO.getShopName());
|
map.put("storeName", shopInfoDO.getShopName());
|
||||||
commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getOperationsConsultant()),
|
commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getInvestmentManager()),
|
||||||
MessageEnum.MESSAGE_54,
|
MessageEnum.MESSAGE_54,
|
||||||
map);
|
map);
|
||||||
}
|
}
|
||||||
@@ -205,13 +212,13 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
private void insertOperations(ShopInfoDO shopInfoDO, String userId, String userName) {
|
private void insertOperations(ShopInfoDO shopInfoDO, String userId, String userName) {
|
||||||
List<OperationLogDO> operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(shopInfoDO.getId(), SHOP_SUB_STAGE_STATUS_150_5, OperationTypeEnum.OPERATION_TYPE_1.getCode());
|
List<OperationLogDO> operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(shopInfoDO.getId(), SHOP_SUB_STAGE_STATUS_150_5, OperationTypeEnum.OPERATION_TYPE_1.getCode());
|
||||||
if (CollectionUtils.isEmpty(operationLogs)) {
|
if (CollectionUtils.isEmpty(operationLogs)) {
|
||||||
EnterpriseUserDO operationsConsultant = enterpriseUserDAO.getUserInfoById(shopInfoDO.getOperationsConsultant());
|
EnterpriseUserDO investmentManager = enterpriseUserDAO.getUserInfoById(shopInfoDO.getInvestmentManager());
|
||||||
// 审批记录
|
// 审批记录
|
||||||
operationLogService.addOperationLog(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_150, userId, userName,
|
operationLogService.addOperationLog(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_150, userId, userName,
|
||||||
OperationTypeEnum.OPERATION_TYPE_0, "建店资料提交审批", OperationStatusEnum.PROCESSED);
|
OperationTypeEnum.OPERATION_TYPE_0, "建店资料提交审批", OperationStatusEnum.PROCESSED);
|
||||||
operationLogService.addOperationLog(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_150_5,
|
operationLogService.addOperationLog(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_150_5,
|
||||||
shopInfoDO.getOperationsConsultant(), Collections.singletonList(operationsConsultant),
|
userId, Collections.singletonList(investmentManager),
|
||||||
OperationTypeEnum.OPERATION_TYPE_1, "建店资料运营顾问审核", OperationStatusEnum.NOT_PROCESSED);
|
OperationTypeEnum.OPERATION_TYPE_1, "建店资料招商经理审核", OperationStatusEnum.NOT_PROCESSED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -308,7 +308,10 @@ public class DeskServiceImpl implements DeskService {
|
|||||||
if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode()) || isAdmin) {
|
if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode()) || isAdmin) {
|
||||||
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_83.getShopSubStageStatus());
|
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_83.getShopSubStageStatus());
|
||||||
}
|
}
|
||||||
if (userRoleIds.contains(UserRoleEnum.FINANCE.getCode())) {
|
if (userRoleIds.contains(UserRoleEnum.INVESTMENT_PRESIDENT.getCode()) || isAdmin) {
|
||||||
|
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_83_2.getShopSubStageStatus());
|
||||||
|
}
|
||||||
|
if (userRoleIds.contains(UserRoleEnum.FINANCE.getCode()) || isAdmin) {
|
||||||
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_83_5.getShopSubStageStatus());
|
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_83_5.getShopSubStageStatus());
|
||||||
}
|
}
|
||||||
if (CollectionUtils.isEmpty(subStageStatusList)) {
|
if (CollectionUtils.isEmpty(subStageStatusList)) {
|
||||||
@@ -359,7 +362,7 @@ public class DeskServiceImpl implements DeskService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<PreparationCommonPendingVO> openingAndOperationPlanPendingList(DeskRequest deskRequest, LoginUserInfo user) {
|
public PageInfo<PreparationCommonPendingVO> openingAndOperationPlanPendingList(DeskRequest deskRequest, LoginUserInfo user) {
|
||||||
return commonPendingVOPageInfo(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_14, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_140.getShopSubStageStatus()), Boolean.FALSE);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -550,10 +553,10 @@ public class DeskServiceImpl implements DeskService {
|
|||||||
@Override
|
@Override
|
||||||
public PageInfo<PreparationCommonPendingVO> buildInformationPendingList(DeskRequest deskRequest, LoginUserInfo user) {
|
public PageInfo<PreparationCommonPendingVO> buildInformationPendingList(DeskRequest deskRequest, LoginUserInfo user) {
|
||||||
List<Long> userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId());
|
List<Long> userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId());
|
||||||
if (userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) {
|
// if (userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) {
|
||||||
return commonPendingVOPageInfoByOperationsConsultant(deskRequest, user.getUserId(), ShopSubStageEnum.SHOP_STAGE_15,
|
// return commonPendingVOPageInfoByOperationsConsultant(deskRequest, user.getUserId(), ShopSubStageEnum.SHOP_STAGE_15,
|
||||||
Arrays.asList(SHOP_SUB_STAGE_STATUS_150.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_150_5.getShopSubStageStatus()), Boolean.FALSE);
|
// Arrays.asList(SHOP_SUB_STAGE_STATUS_150.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_150_5.getShopSubStageStatus()), Boolean.FALSE);
|
||||||
}
|
// }
|
||||||
//如果不是财务角色或者即是财务又是自有店财务 则不需要标识
|
//如果不是财务角色或者即是财务又是自有店财务 则不需要标识
|
||||||
Boolean ownShopFlag = null;
|
Boolean ownShopFlag = null;
|
||||||
if (userRoleIds.contains(UserRoleEnum.FINANCE.getCode()) && userRoleIds.contains(UserRoleEnum.OWN_SHOP_OFFICE.getCode())) {
|
if (userRoleIds.contains(UserRoleEnum.FINANCE.getCode()) && userRoleIds.contains(UserRoleEnum.OWN_SHOP_OFFICE.getCode())) {
|
||||||
@@ -579,6 +582,10 @@ public class DeskServiceImpl implements DeskService {
|
|||||||
if (userRoleIds.contains(UserRoleEnum.PRESIDENT.getCode())) {
|
if (userRoleIds.contains(UserRoleEnum.PRESIDENT.getCode())) {
|
||||||
subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_155.getShopSubStageStatus());
|
subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_155.getShopSubStageStatus());
|
||||||
}
|
}
|
||||||
|
if (userRoleIds.contains(UserRoleEnum.INVESTMENT_MANGER.getCode())) {
|
||||||
|
subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_150.getShopSubStageStatus());
|
||||||
|
subStageStatusList.add(SHOP_SUB_STAGE_STATUS_150_5.getShopSubStageStatus());
|
||||||
|
}
|
||||||
Boolean isAdmin = sysRoleService.checkIsAdmin(user.getUserId());
|
Boolean isAdmin = sysRoleService.checkIsAdmin(user.getUserId());
|
||||||
if (isAdmin) {
|
if (isAdmin) {
|
||||||
subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus());
|
subStageStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus());
|
||||||
|
|||||||
@@ -135,6 +135,8 @@ public class OperationLogServiceImpl implements OperationLogService {
|
|||||||
|| operationLogDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_253.getShopSubStageStatus())
|
|| operationLogDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_253.getShopSubStageStatus())
|
||||||
) {
|
) {
|
||||||
auditInfoResponse.setExecute(AuditExecuteEnum.HEADQUARTERS.getCode());
|
auditInfoResponse.setExecute(AuditExecuteEnum.HEADQUARTERS.getCode());
|
||||||
|
}else if(operationLogDO.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83_2.getShopSubStageStatus())){
|
||||||
|
auditInfoResponse.setExecute(AuditExecuteEnum.MANAGER.getCode());
|
||||||
}else {
|
}else {
|
||||||
auditInfoResponse.setExecute(AuditExecuteEnum.OPERATION.getCode());
|
auditInfoResponse.setExecute(AuditExecuteEnum.OPERATION.getCode());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1196,8 +1196,9 @@ public class PointServiceImpl implements PointService {
|
|||||||
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
|
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
|
||||||
}
|
}
|
||||||
Long pointId = request.getPointId(), shopId = request.getShopId();
|
Long pointId = request.getPointId(), shopId = request.getShopId();
|
||||||
|
ShopInfoDO shopInfo = null;
|
||||||
if (Objects.isNull(pointId) && Objects.nonNull(shopId)) {
|
if (Objects.isNull(pointId) && Objects.nonNull(shopId)) {
|
||||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
|
shopInfo = shopInfoDAO.getShopInfo(shopId);
|
||||||
pointId = shopInfo.getPointId();
|
pointId = shopInfo.getPointId();
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(pointId) && Objects.isNull(shopId)) {
|
if (Objects.nonNull(pointId) && Objects.isNull(shopId)) {
|
||||||
@@ -1224,12 +1225,16 @@ public class PointServiceImpl implements PointService {
|
|||||||
shopRentInfoDAO.updateRentContract(shopRentInfo);
|
shopRentInfoDAO.updateRentContract(shopRentInfo);
|
||||||
}
|
}
|
||||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopSubStageInfo.getLineId());
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopSubStageInfo.getLineId());
|
||||||
HashMap<String, String> map = new HashMap<>();
|
if (shopInfo!=null){
|
||||||
map.put("partnerUsername", lineInfo.getUsername());
|
List<EnterpriseUserDO> userlist = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.REGION_MANAGER, shopInfo.getInvestRegionId());
|
||||||
map.put("partnerMobile", lineInfo.getMobile());
|
List<String> userIds = userlist.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
|
||||||
commonService.sendQWMessage(Collections.singletonList(lineInfo.getInvestmentManager()),
|
HashMap<String, String> map = new HashMap<>();
|
||||||
MessageEnum.MESSAGE_15,
|
map.put("partnerUsername", lineInfo.getUsername());
|
||||||
map);
|
map.put("partnerMobile", lineInfo.getMobile());
|
||||||
|
commonService.sendQWMessage(userIds,
|
||||||
|
MessageEnum.MESSAGE_15,
|
||||||
|
map);
|
||||||
|
}
|
||||||
return shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21);
|
return shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1268,20 +1273,26 @@ public class PointServiceImpl implements PointService {
|
|||||||
throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE);
|
throw new ServiceException(ErrorCodeEnum.SHOP_STAGE_NOT_OPERATE);
|
||||||
}
|
}
|
||||||
ShopStageInfoDO shopStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_2);
|
ShopStageInfoDO shopStageInfo = shopStageInfoDAO.getShopSubStageInfo(request.getShopId(), ShopSubStageEnum.SHOP_STAGE_2);
|
||||||
if (!shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21.getShopSubStageStatus())) {
|
//招商大区总审核 或者 分部内勤审核 其他状态不能审核
|
||||||
|
if (!(shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21.getShopSubStageStatus())||
|
||||||
|
shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21_5.getShopSubStageStatus()))) {
|
||||||
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
|
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
|
||||||
}
|
}
|
||||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId());
|
|
||||||
//正新放开限制
|
|
||||||
// if(!request.getOperateUserId().equals(lineInfo.getDevelopmentManager())){
|
|
||||||
// throw new ServiceException(ErrorCodeEnum.NO_PERMISSION);
|
|
||||||
// }
|
|
||||||
Long auditId = shopAuditInfoDAO.addAuditInfo(AuditRentContractRequest.convert(request, AuditTypeEnum.UPLOAD_RENT_CONTRACT));
|
Long auditId = shopAuditInfoDAO.addAuditInfo(AuditRentContractRequest.convert(request, AuditTypeEnum.UPLOAD_RENT_CONTRACT));
|
||||||
|
|
||||||
ShopSubStageStatusEnum subStageStatus = AuditResultTypeEnum.PASS.getCode().equals(request.getResultType()) ? ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_23 : ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_22;
|
ShopSubStageStatusEnum subStageStatus = null;
|
||||||
if (AuditResultTypeEnum.REJECT.getCode().equals(request.getResultType())) {
|
if (AuditResultTypeEnum.PASS.getCode().equals(request.getResultType())){
|
||||||
//commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.RENT_CONTRACT_AUDIT_FAIL, null);
|
if (shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21.getShopSubStageStatus())){
|
||||||
|
subStageStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21_5;
|
||||||
|
}
|
||||||
|
if (shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21_5.getShopSubStageStatus())){
|
||||||
|
subStageStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_23;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
subStageStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_22;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_23.equals(subStageStatus)) {
|
if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_23.equals(subStageStatus)) {
|
||||||
//审核通过铺位变为已签约
|
//审核通过铺位变为已签约
|
||||||
PointInfoDO updatePoint = new PointInfoDO();
|
PointInfoDO updatePoint = new PointInfoDO();
|
||||||
@@ -1319,12 +1330,17 @@ public class PointServiceImpl implements PointService {
|
|||||||
if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_22.getShopSubStageStatus().equals(shopSubStageInfo.getShopSubStageStatus())) {
|
if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_22.getShopSubStageStatus().equals(shopSubStageInfo.getShopSubStageStatus())) {
|
||||||
shopStageInfoDAO.updateShopStageAndAuditInfo(shopRentInfo.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21, null);
|
shopStageInfoDAO.updateShopStageAndAuditInfo(shopRentInfo.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21, null);
|
||||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopSubStageInfo.getLineId());
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopSubStageInfo.getLineId());
|
||||||
HashMap<String, String> map = new HashMap<>();
|
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopSubStageInfo.getShopId());
|
||||||
map.put("partnerUsername", lineInfo.getUsername());
|
if (shopInfo!=null){
|
||||||
map.put("partnerMobile", lineInfo.getMobile());
|
List<EnterpriseUserDO> userlist = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.REGION_MANAGER, shopInfo.getInvestRegionId());
|
||||||
commonService.sendQWMessage(Collections.singletonList(lineInfo.getInvestmentManager()),
|
List<String> userIds = userlist.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
|
||||||
MessageEnum.MESSAGE_15,
|
HashMap<String, String> map = new HashMap<>();
|
||||||
map);
|
map.put("partnerUsername", lineInfo.getUsername());
|
||||||
|
map.put("partnerMobile", lineInfo.getMobile());
|
||||||
|
commonService.sendQWMessage(userIds,
|
||||||
|
MessageEnum.MESSAGE_15,
|
||||||
|
map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return shopRentInfoDAO.updateRentContract(shopRentInfo);
|
return shopRentInfoDAO.updateRentContract(shopRentInfo);
|
||||||
}
|
}
|
||||||
@@ -1352,7 +1368,12 @@ public class PointServiceImpl implements PointService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<RentInfoToDoVO> getRentContractToDoPage(String userId, Integer pageNumber, Integer pageSize) {
|
public PageInfo<RentInfoToDoVO> getRentContractToDoPage(String userId, Integer pageNumber, Integer pageSize) {
|
||||||
Page<RentInfoToDoVO> todoPage = shopStageInfoDAO.getRentContractToDoPage(userId, pageNumber, pageSize);
|
List<String> authRegionIds = new ArrayList<>();
|
||||||
|
//如果是管理员 查询所有 如果是其他角色 根据管辖大区权限查询 菜单根据配置来
|
||||||
|
if (!sysRoleService.checkIsAdmin(userId)) {
|
||||||
|
authRegionIds = userAuthMappingService.getAuthRegionIdByUserId(userId,Boolean.TRUE);
|
||||||
|
}
|
||||||
|
Page<RentInfoToDoVO> todoPage = shopStageInfoDAO.getRentContractToDoPage(userId, pageNumber, pageSize,authRegionIds);
|
||||||
List<RentInfoToDoVO> resultList = null;
|
List<RentInfoToDoVO> resultList = null;
|
||||||
if (Objects.nonNull(todoPage) && CollectionUtils.isNotEmpty(todoPage.getResult())) {
|
if (Objects.nonNull(todoPage) && CollectionUtils.isNotEmpty(todoPage.getResult())) {
|
||||||
List<Long> shopIds = todoPage.getResult().stream().map(RentInfoToDoVO::getShopId).collect(Collectors.toList());
|
List<Long> shopIds = todoPage.getResult().stream().map(RentInfoToDoVO::getShopId).collect(Collectors.toList());
|
||||||
|
|||||||
@@ -941,7 +941,6 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
return Collections.singletonList(new UserDTO(lineInfo.getUsername(), lineInfo.getMobile()));
|
return Collections.singletonList(new UserDTO(lineInfo.getUsername(), lineInfo.getMobile()));
|
||||||
|
|
||||||
case SHOP_SUB_STAGE_STATUS_11:
|
case SHOP_SUB_STAGE_STATUS_11:
|
||||||
case SHOP_SUB_STAGE_STATUS_21:
|
|
||||||
case SHOP_SUB_STAGE_STATUS_50:
|
case SHOP_SUB_STAGE_STATUS_50:
|
||||||
case SHOP_SUB_STAGE_STATUS_140:
|
case SHOP_SUB_STAGE_STATUS_140:
|
||||||
case SHOP_SUB_STAGE_STATUS_141:
|
case SHOP_SUB_STAGE_STATUS_141:
|
||||||
@@ -949,6 +948,7 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
case SHOP_SUB_STAGE_STATUS_171:
|
case SHOP_SUB_STAGE_STATUS_171:
|
||||||
case SHOP_SUB_STAGE_STATUS_270:
|
case SHOP_SUB_STAGE_STATUS_270:
|
||||||
case SHOP_SUB_STAGE_STATUS_274:
|
case SHOP_SUB_STAGE_STATUS_274:
|
||||||
|
case SHOP_SUB_STAGE_STATUS_150_5:
|
||||||
return getUserFromInvestmentManager(shopInfo.getInvestmentManager());
|
return getUserFromInvestmentManager(shopInfo.getInvestmentManager());
|
||||||
case SHOP_SUB_STAGE_STATUS_122:
|
case SHOP_SUB_STAGE_STATUS_122:
|
||||||
case SHOP_SUB_STAGE_STATUS_110:
|
case SHOP_SUB_STAGE_STATUS_110:
|
||||||
@@ -965,6 +965,9 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
case SHOP_SUB_STAGE_STATUS_282:
|
case SHOP_SUB_STAGE_STATUS_282:
|
||||||
return getUsersByRolesAndRegion(Arrays.asList(REGION_OFFICE, BRANCH_OFFICE), shopInfo.getInvestRegionId());
|
return getUsersByRolesAndRegion(Arrays.asList(REGION_OFFICE, BRANCH_OFFICE), shopInfo.getInvestRegionId());
|
||||||
|
|
||||||
|
case SHOP_SUB_STAGE_STATUS_21_5:
|
||||||
|
return getUsersByRolesAndRegion(Arrays.asList( BRANCH_OFFICE), shopInfo.getInvestRegionId());
|
||||||
|
|
||||||
case SHOP_SUB_STAGE_STATUS_83_5:
|
case SHOP_SUB_STAGE_STATUS_83_5:
|
||||||
return getUsersByRolesAndRegion(Collections.singletonList(FINANCE), shopInfo.getRegionId());
|
return getUsersByRolesAndRegion(Collections.singletonList(FINANCE), shopInfo.getRegionId());
|
||||||
|
|
||||||
@@ -1046,6 +1049,10 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
return getUsersByRole(AI_STORE_TYPE_APPROVE);
|
return getUsersByRole(AI_STORE_TYPE_APPROVE);
|
||||||
case SHOP_SUB_STAGE_STATUS_281_2:
|
case SHOP_SUB_STAGE_STATUS_281_2:
|
||||||
return getUsersByRole(DEVICE_SHIPMENT_CG);
|
return getUsersByRole(DEVICE_SHIPMENT_CG);
|
||||||
|
case SHOP_SUB_STAGE_STATUS_21:
|
||||||
|
return getUsersByRoleAndRegion(REGION_MANAGER, shopInfo.getInvestRegionId());
|
||||||
|
case SHOP_SUB_STAGE_STATUS_83_2:
|
||||||
|
return getUsersByRolesAndRegion(Collections.singletonList(INVESTMENT_PRESIDENT), shopInfo.getInvestRegionId());
|
||||||
default:
|
default:
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.cool.store.service.impl;
|
package com.cool.store.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
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.constants.RedisConstant;
|
import com.cool.store.constants.RedisConstant;
|
||||||
@@ -36,6 +37,7 @@ import com.cool.store.mq.producer.SimpleMessageService;
|
|||||||
import com.cool.store.request.*;
|
import com.cool.store.request.*;
|
||||||
import com.cool.store.response.AddSignFranchiseResponse;
|
import com.cool.store.response.AddSignFranchiseResponse;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
|
import com.cool.store.response.ShopDecorationLogResponse;
|
||||||
import com.cool.store.service.*;
|
import com.cool.store.service.*;
|
||||||
import com.cool.store.service.dict.impl.DictService;
|
import com.cool.store.service.dict.impl.DictService;
|
||||||
import com.cool.store.utils.GeoMapUtil;
|
import com.cool.store.utils.GeoMapUtil;
|
||||||
@@ -172,6 +174,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
private SignFranchiseService signFranchiseService;
|
private SignFranchiseService signFranchiseService;
|
||||||
@Resource
|
@Resource
|
||||||
private PreAllocationRecordDAO preAllocationRecordDAO;
|
private PreAllocationRecordDAO preAllocationRecordDAO;
|
||||||
|
@Resource
|
||||||
|
ShopDecorationLogDAO shopDecorationLogDAO;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -260,7 +264,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS);
|
acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS);
|
||||||
if (Boolean.TRUE.equals(acquired)) {
|
if (Boolean.TRUE.equals(acquired)) {
|
||||||
//修改shop & point
|
//修改shop & point
|
||||||
updateShopAndPoint(request, shopInfoDO, pointInfoById);
|
updateShopAndPoint(request, shopInfoDO, pointInfoById,user);
|
||||||
|
|
||||||
SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO();
|
SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO();
|
||||||
if (Objects.isNull(request.getId())) {
|
if (Objects.isNull(request.getId())) {
|
||||||
@@ -372,7 +376,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
//修改信息
|
//修改信息
|
||||||
signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO);
|
signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO);
|
||||||
// //修改shop & point & 同步建店资料地址
|
// //修改shop & point & 同步建店资料地址
|
||||||
updateShopAndPoint(request, shopInfoDO, pointInfoById);
|
updateShopAndPoint(request, shopInfoDO, pointInfoById,user);
|
||||||
//修改阶段状态
|
//修改阶段状态
|
||||||
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83);
|
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83);
|
||||||
//发送通知
|
//发送通知
|
||||||
@@ -396,7 +400,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean decorationUpdate(SignFranchiseDecorationRequest request) {
|
public Boolean decorationUpdate(SignFranchiseDecorationRequest request, LoginUserInfo user) {
|
||||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
||||||
if (Objects.isNull(shopInfo)) {
|
if (Objects.isNull(shopInfo)) {
|
||||||
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
|
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
|
||||||
@@ -409,6 +413,9 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
update.setId(request.getShopId());
|
update.setId(request.getShopId());
|
||||||
update.setDecorationRequirement(request.getDecorationRequirement());
|
update.setDecorationRequirement(request.getDecorationRequirement());
|
||||||
update.setSpecialInstruction(request.getSpecialInstruction());
|
update.setSpecialInstruction(request.getSpecialInstruction());
|
||||||
|
//添加修改日志
|
||||||
|
handleDecorartionReq(shopInfo.getId(),shopInfo.getDecorationLevel(),request.getDecorationRequirement(),
|
||||||
|
shopInfo.getShopDecorationAttributes(),request.getSpecialInstruction(),user);
|
||||||
return shopInfoDAO.updateShopInfo(update) > 0;
|
return shopInfoDAO.updateShopInfo(update) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -450,7 +457,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void updateShopAndPoint(AddSignFranchiseRequest request, ShopInfoDO shopInfoDO, PointInfoDO pointInfoById) {
|
private void updateShopAndPoint(AddSignFranchiseRequest request, ShopInfoDO shopInfoDO, PointInfoDO pointInfoById,LoginUserInfo user) {
|
||||||
|
//添加修改日志
|
||||||
|
handleDecorartionReq(shopInfoDO.getId(),request.getDecorationLevel(),request.getDecorationRequirement(),
|
||||||
|
request.getShopDecorationAttributes(),request.getSpecialInstruction(),user);
|
||||||
//店铺信息
|
//店铺信息
|
||||||
shopInfoDO.setManagerRegionId(request.getManagerRegionId());
|
shopInfoDO.setManagerRegionId(request.getManagerRegionId());
|
||||||
shopInfoDO.setRegionId(request.getRegionId());
|
shopInfoDO.setRegionId(request.getRegionId());
|
||||||
@@ -546,7 +556,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
shopAuditInfoDO.setPassReason(request.getCause());
|
shopAuditInfoDO.setPassReason(request.getCause());
|
||||||
//更新状态为加盟商
|
//更新状态为加盟商
|
||||||
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
|
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
|
||||||
shopStageInfoDAO.updateShopStageInfo(shopId, SHOP_SUB_STAGE_STATUS_83_5);
|
shopStageInfoDAO.updateShopStageInfo(shopId, SHOP_SUB_STAGE_STATUS_83_2);
|
||||||
//推送数据
|
//推送数据
|
||||||
contractCallbackDTO = pushContractRequest(shopInfoDO, request.getShopId());
|
contractCallbackDTO = pushContractRequest(shopInfoDO, request.getShopId());
|
||||||
Boolean sendNotice = Boolean.TRUE;
|
Boolean sendNotice = Boolean.TRUE;
|
||||||
@@ -555,14 +565,14 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
map.put("partnerUsername", lineInfoDO.getUsername());
|
map.put("partnerUsername", lineInfoDO.getUsername());
|
||||||
map.put("partnerMobile", lineInfoDO.getMobile());
|
map.put("partnerMobile", lineInfoDO.getMobile());
|
||||||
map.put("storeName", shopInfoDO.getShopName());
|
map.put("storeName", shopInfoDO.getShopName());
|
||||||
List<EnterpriseUserDO> userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId());
|
List<EnterpriseUserDO> userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.INVESTMENT_PRESIDENT, shopInfoDO.getRegionId());
|
||||||
List<String> finances = new ArrayList<>();
|
List<String> finances = new ArrayList<>();
|
||||||
if (Objects.nonNull(userDOList)) {
|
if (Objects.nonNull(userDOList)) {
|
||||||
finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
|
finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
operationLogService.addOperationLog(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83_5,
|
operationLogService.addOperationLog(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83_2,
|
||||||
user.getUserId(), userDOList,
|
user.getUserId(), userDOList,
|
||||||
OperationTypeEnum.OPERATION_TYPE_1, "加盟签约合同财务审批", OperationStatusEnum.NOT_PROCESSED, 2);
|
OperationTypeEnum.OPERATION_TYPE_1, "招商副总裁审批", OperationStatusEnum.NOT_PROCESSED, 2);
|
||||||
commonService.sendQWMessage(finances,
|
commonService.sendQWMessage(finances,
|
||||||
MessageEnum.MESSAGE_19_1,
|
MessageEnum.MESSAGE_19_1,
|
||||||
map);
|
map);
|
||||||
@@ -592,6 +602,72 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean managerAuditApprove(AuditApproveRequest request, LoginUserInfo user) {
|
||||||
|
log.info("SignFranchiseServiceImpl auditApprove request:{}", JSONObject.toJSONString(request));
|
||||||
|
Long shopId = request.getShopId();
|
||||||
|
String lockKey = "managerAuditApprove:" + 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)) {
|
||||||
|
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId);
|
||||||
|
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())) {
|
||||||
|
auditReject(request, shopAuditInfoDO, shopInfoDO);
|
||||||
|
} else if (Constants.ONE_INTEGER.equals(request.getAuditResult())) {
|
||||||
|
shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER);
|
||||||
|
shopAuditInfoDO.setPassReason(request.getCause());
|
||||||
|
//更新状态为加盟商
|
||||||
|
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
|
||||||
|
shopStageInfoDAO.updateShopStageInfo(shopId, SHOP_SUB_STAGE_STATUS_83_5);
|
||||||
|
Boolean sendNotice = Boolean.TRUE;
|
||||||
|
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(FINANCE, shopInfoDO.getRegionId());
|
||||||
|
List<String> finances = new ArrayList<>();
|
||||||
|
if (Objects.nonNull(userDOList)) {
|
||||||
|
finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
operationLogService.addOperationLog(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83_5,
|
||||||
|
user.getUserId(), userDOList,
|
||||||
|
OperationTypeEnum.OPERATION_TYPE_1, "财务审批", OperationStatusEnum.NOT_PROCESSED, 2);
|
||||||
|
commonService.sendQWMessage(finances,
|
||||||
|
MessageEnum.MESSAGE_19_1,
|
||||||
|
map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shopAuditInfoMapper.insertSelective(shopAuditInfoDO);
|
||||||
|
Long auditId = shopAuditInfoDO.getId();
|
||||||
|
signFranchiseDAO.updateAuditByShopId(auditId, shopId);
|
||||||
|
//审批记录表记录
|
||||||
|
List<OperationLogDO> operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83_2, 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分部内勤/财务审批拒绝
|
* 分部内勤/财务审批拒绝
|
||||||
*/
|
*/
|
||||||
@@ -686,7 +762,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
shopInfoDAO.updateShopInfo(shopInfoDO);
|
shopInfoDAO.updateShopInfo(shopInfoDO);
|
||||||
preparationService.contractAndBuildStoreCompletion(request.getShopId());
|
preparationService.contractAndBuildStoreCompletion(request.getShopId());
|
||||||
}
|
}
|
||||||
|
//分配之后 开始以下阶段
|
||||||
|
preparationService.contractAndBuildStoreCompletion(request.getShopId());
|
||||||
|
|
||||||
Boolean sendNotice = Boolean.TRUE;
|
Boolean sendNotice = Boolean.TRUE;
|
||||||
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT);
|
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT);
|
||||||
@@ -930,8 +1007,6 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
shopInfo.setOperationsConsultant(request.getOperationConsultantUserId());
|
shopInfo.setOperationsConsultant(request.getOperationConsultantUserId());
|
||||||
shopInfoDAO.updateShopInfo(shopInfo);
|
shopInfoDAO.updateShopInfo(shopInfo);
|
||||||
|
|
||||||
//分配之后 开始以下阶段
|
|
||||||
preparationService.contractAndBuildStoreCompletion(request.getShopId());
|
|
||||||
|
|
||||||
// 推送红圈通
|
// 推送红圈通
|
||||||
if (StringUtils.isBlank(shopInfo.getHqtShopId())) {
|
if (StringUtils.isBlank(shopInfo.getHqtShopId())) {
|
||||||
@@ -1212,4 +1287,131 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean handleDecorartionReq(Long shopId,String decorationLevel,String decorationRequirement,
|
||||||
|
Integer shopDecorationAttributes,String specialInstruction,LoginUserInfo userInfo){
|
||||||
|
ShopDecorationLogRequest shopDecorationLogRequest = new ShopDecorationLogRequest();
|
||||||
|
shopDecorationLogRequest.setShopId(shopId);
|
||||||
|
shopDecorationLogRequest.setDecorationLevel(decorationLevel);
|
||||||
|
shopDecorationLogRequest.setShopDecorationAttributes(shopDecorationAttributes);
|
||||||
|
shopDecorationLogRequest.setDecorationRequirement(decorationRequirement);
|
||||||
|
shopDecorationLogRequest.setSpecialInstruction(specialInstruction);
|
||||||
|
return addShopDecorationLog(shopDecorationLogRequest,userInfo.getUserId());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean addShopDecorationLog(ShopDecorationLogRequest request, String userId) {
|
||||||
|
log.info("新增门店装修修改记录,shopId:{}", JSONObject.toJSONString(request));
|
||||||
|
if (Objects.isNull(request.getShopId())) {
|
||||||
|
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询门店信息
|
||||||
|
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
||||||
|
if (Objects.isNull(shopInfo)) {
|
||||||
|
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较前后数据是否有变动
|
||||||
|
boolean hasChange = false;
|
||||||
|
|
||||||
|
// 比较装修等级
|
||||||
|
log.info("addShopDecorationLog:{},{},{},{},{},{},{},{}",request.getDecorationLevel(),shopInfo.getDecorationLevel()
|
||||||
|
,request.getDecorationRequirement(),shopInfo.getDecorationRequirement(),request.getShopDecorationAttributes(),shopInfo.getShopDecorationAttributes()
|
||||||
|
,request.getSpecialInstruction(),shopInfo.getSpecialInstruction());
|
||||||
|
if (!Objects.equals(request.getDecorationLevel(), shopInfo.getDecorationLevel())) {
|
||||||
|
hasChange = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较装修要求
|
||||||
|
if (!Objects.equals(request.getDecorationRequirement(), shopInfo.getDecorationRequirement())) {
|
||||||
|
hasChange = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较装修属性
|
||||||
|
if (!Objects.equals(request.getShopDecorationAttributes(), shopInfo.getShopDecorationAttributes())) {
|
||||||
|
hasChange = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 比较特殊情况说明
|
||||||
|
if (!Objects.equals(request.getSpecialInstruction(), shopInfo.getSpecialInstruction())) {
|
||||||
|
hasChange = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没有任何变动,不新增日志
|
||||||
|
if (!hasChange) {
|
||||||
|
log.info("门店装修数据未变动,不新增日志,shopId:{}", request.getShopId());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建修改前数据
|
||||||
|
ShopDecorationLogRequest oldDataRequest = new ShopDecorationLogRequest();
|
||||||
|
oldDataRequest.setDecorationLevel(shopInfo.getDecorationLevel());
|
||||||
|
oldDataRequest.setDecorationRequirement(shopInfo.getDecorationRequirement());
|
||||||
|
oldDataRequest.setShopDecorationAttributes(shopInfo.getShopDecorationAttributes());
|
||||||
|
oldDataRequest.setSpecialInstruction(shopInfo.getSpecialInstruction());
|
||||||
|
String oldData = JSON.toJSONString(oldDataRequest);
|
||||||
|
|
||||||
|
// 构建修改后数据
|
||||||
|
ShopDecorationLogRequest newDataRequest = new ShopDecorationLogRequest();
|
||||||
|
newDataRequest.setDecorationLevel(request.getDecorationLevel());
|
||||||
|
newDataRequest.setDecorationRequirement(request.getDecorationRequirement());
|
||||||
|
newDataRequest.setShopDecorationAttributes(request.getShopDecorationAttributes());
|
||||||
|
newDataRequest.setSpecialInstruction(request.getSpecialInstruction());
|
||||||
|
String newData = JSON.toJSONString(newDataRequest);
|
||||||
|
|
||||||
|
// 构建记录
|
||||||
|
ShopDecorationLogDO record = ShopDecorationLogDO.builder()
|
||||||
|
.shopId(shopInfo.getId())
|
||||||
|
.oldData(oldData)
|
||||||
|
.newData(newData)
|
||||||
|
.operator(userId)
|
||||||
|
.operatorTime(new Date())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// 插入记录
|
||||||
|
shopDecorationLogDAO.insert(record);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ShopDecorationLogResponse> listShopDecorationLog(Long shopId) {
|
||||||
|
List<ShopDecorationLogDO> logList = shopDecorationLogDAO.listByShopIdOrderByTimeDesc(shopId);
|
||||||
|
|
||||||
|
if (CollectionUtils.isEmpty(logList)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
List<String> userIdList = logList.stream().map(ShopDecorationLogDO::getOperator).collect(Collectors.toList());
|
||||||
|
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIdList);
|
||||||
|
|
||||||
|
return logList.stream().map(data -> {
|
||||||
|
ShopDecorationLogResponse response = new ShopDecorationLogResponse();
|
||||||
|
response.setId(data.getId());
|
||||||
|
response.setShopId(data.getShopId());
|
||||||
|
response.setOperator(userNameMap.get(data.getOperator()));
|
||||||
|
response.setOperatorTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,data.getOperatorTime()));
|
||||||
|
|
||||||
|
// 解析JSON数据
|
||||||
|
ShopDecorationLogRequest oldDataRequest = null;
|
||||||
|
ShopDecorationLogRequest newDataRequest = null;
|
||||||
|
try {
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(data.getOldData())) {
|
||||||
|
oldDataRequest = JSON.parseObject(data.getOldData(), ShopDecorationLogRequest.class);
|
||||||
|
}
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(data.getNewData())) {
|
||||||
|
newDataRequest = JSON.parseObject(data.getNewData(), ShopDecorationLogRequest.class);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("解析装修记录数据失败", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
response.setOldData(oldDataRequest);
|
||||||
|
response.setNewData(newDataRequest);
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,6 +115,7 @@ public class SyncMainSysServerImpl implements SyncMainSysServer {
|
|||||||
storeMasterDTO.setBloc(region.getGroupName());
|
storeMasterDTO.setBloc(region.getGroupName());
|
||||||
storeMasterDTO.setBranch(region.getRegionId());
|
storeMasterDTO.setBranch(region.getRegionId());
|
||||||
storeMasterDTO.setRegionId(shopInfo.getManagerRegionId());
|
storeMasterDTO.setRegionId(shopInfo.getManagerRegionId());
|
||||||
|
storeMasterDTO.setInvestRegionId(shopInfo.getInvestRegionId());
|
||||||
storeMasterDTO.setJoinSupervision(shopInfo.getInvestmentManager());
|
storeMasterDTO.setJoinSupervision(shopInfo.getInvestmentManager());
|
||||||
|
|
||||||
StoreMasterDTO.Signer2Info signer2Info = new StoreMasterDTO.Signer2Info();
|
StoreMasterDTO.Signer2Info signer2Info = new StoreMasterDTO.Signer2Info();
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ import com.cool.store.context.CurrentUserHolder;
|
|||||||
import com.cool.store.context.LoginUserInfo;
|
import com.cool.store.context.LoginUserInfo;
|
||||||
import com.cool.store.request.AuditApproveRequest;
|
import com.cool.store.request.AuditApproveRequest;
|
||||||
import com.cool.store.request.BuildInformationRequest;
|
import com.cool.store.request.BuildInformationRequest;
|
||||||
|
import com.cool.store.request.ShopDecorationLogRequest;
|
||||||
import com.cool.store.response.BuildInformationResponse;
|
import com.cool.store.response.BuildInformationResponse;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
|
import com.cool.store.response.ShopDecorationLogResponse;
|
||||||
import com.cool.store.service.BuildInformationService;
|
import com.cool.store.service.BuildInformationService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -13,6 +15,7 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: WangShuo
|
* @Author: WangShuo
|
||||||
@@ -46,7 +49,7 @@ public class PCBuildInformationController {
|
|||||||
return ResponseResult.success(buildInformationService.getJoinType(lineId));
|
return ResponseResult.success(buildInformationService.getJoinType(lineId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("建店资料营运顾问审批")
|
@ApiOperation("建店资料招商经理审批")
|
||||||
@PostMapping("/operationsConsultantAudit")
|
@PostMapping("/operationsConsultantAudit")
|
||||||
public ResponseResult<Boolean> operationsConsultantAudit(@RequestBody @Validated AuditApproveRequest request) {
|
public ResponseResult<Boolean> operationsConsultantAudit(@RequestBody @Validated AuditApproveRequest request) {
|
||||||
LoginUserInfo user = CurrentUserHolder.getUser();
|
LoginUserInfo user = CurrentUserHolder.getUser();
|
||||||
@@ -58,4 +61,5 @@ public class PCBuildInformationController {
|
|||||||
public ResponseResult<Boolean> companyInvoiceVerify(@RequestParam(value = "shopId") Long shopId) {
|
public ResponseResult<Boolean> companyInvoiceVerify(@RequestParam(value = "shopId") Long shopId) {
|
||||||
return ResponseResult.success(buildInformationService.companyInvoiceVerify(shopId));
|
return ResponseResult.success(buildInformationService.companyInvoiceVerify(shopId));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,10 @@ package com.cool.store.controller.webb;
|
|||||||
|
|
||||||
import com.cool.store.context.CurrentUserHolder;
|
import com.cool.store.context.CurrentUserHolder;
|
||||||
import com.cool.store.context.LoginUserInfo;
|
import com.cool.store.context.LoginUserInfo;
|
||||||
import com.cool.store.request.AddSignFranchiseRequest;
|
import com.cool.store.request.*;
|
||||||
import com.cool.store.request.AssignOperationConsultantRequest;
|
|
||||||
import com.cool.store.request.AuditApproveRequest;
|
|
||||||
import com.cool.store.request.SignFranchiseDecorationRequest;
|
|
||||||
import com.cool.store.response.AddSignFranchiseResponse;
|
import com.cool.store.response.AddSignFranchiseResponse;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
|
import com.cool.store.response.ShopDecorationLogResponse;
|
||||||
import com.cool.store.service.SignFranchiseService;
|
import com.cool.store.service.SignFranchiseService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@@ -17,6 +15,7 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Api(tags = "pc加盟合同签约")
|
@Api(tags = "pc加盟合同签约")
|
||||||
@RestController
|
@RestController
|
||||||
@@ -42,16 +41,23 @@ public class PCSignFranchiseController {
|
|||||||
@ApiOperation("修改装修信息")
|
@ApiOperation("修改装修信息")
|
||||||
@PostMapping("/decorationUpdate")
|
@PostMapping("/decorationUpdate")
|
||||||
public ResponseResult<Boolean> decorationUpdate(@RequestBody @Validated SignFranchiseDecorationRequest request) {
|
public ResponseResult<Boolean> decorationUpdate(@RequestBody @Validated SignFranchiseDecorationRequest request) {
|
||||||
return ResponseResult.success(signFranchiseService.decorationUpdate(request));
|
return ResponseResult.success(signFranchiseService.decorationUpdate(request,CurrentUserHolder.getUser()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("加盟合同签约审核")
|
@ApiOperation("加盟合同签约分部内勤审核")
|
||||||
@PostMapping("/audit/result")
|
@PostMapping("/audit/result")
|
||||||
public ResponseResult<Boolean> auditSignFranchise(@RequestBody @Validated AuditApproveRequest request) {
|
public ResponseResult<Boolean> auditSignFranchise(@RequestBody @Validated AuditApproveRequest request) {
|
||||||
LoginUserInfo user = CurrentUserHolder.getUser();
|
LoginUserInfo user = CurrentUserHolder.getUser();
|
||||||
return ResponseResult.success(signFranchiseService.auditApprove(request,user));
|
return ResponseResult.success(signFranchiseService.auditApprove(request,user));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("加盟合同签约副总裁审核")
|
||||||
|
@PostMapping("/audit/manager")
|
||||||
|
public ResponseResult<Boolean> managerAuditApprove(@RequestBody @Validated AuditApproveRequest request) {
|
||||||
|
LoginUserInfo user = CurrentUserHolder.getUser();
|
||||||
|
return ResponseResult.success(signFranchiseService.managerAuditApprove(request,user));
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation("加盟合同签约财务审核")
|
@ApiOperation("加盟合同签约财务审核")
|
||||||
@PostMapping("/audit/finance")
|
@PostMapping("/audit/finance")
|
||||||
public ResponseResult<Boolean> financeAuditApprove(@RequestBody @Validated AuditApproveRequest request) {
|
public ResponseResult<Boolean> financeAuditApprove(@RequestBody @Validated AuditApproveRequest request) {
|
||||||
@@ -91,4 +97,10 @@ public class PCSignFranchiseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("查询门店装修修改记录列表")
|
||||||
|
@GetMapping("/listShopDecorationLog")
|
||||||
|
public ResponseResult<List<ShopDecorationLogResponse>> listShopDecorationLog(@RequestParam(value = "shopId") Long shopId) {
|
||||||
|
return ResponseResult.success(signFranchiseService.listShopDecorationLog(shopId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user