开新店
This commit is contained in:
@@ -106,6 +106,10 @@ public enum ErrorCodeEnum {
|
||||
NOT_EXIST_UNSELECT_POINT(600017, "当前没有未选择的铺位", null),
|
||||
SELECT_POINT_ERROR(600018, "铺位选中失败", null),
|
||||
|
||||
OPEN_NEW_SHOP_RECORD_NOT_EXIST(700001, "开店申请记录不存在", null),
|
||||
OPEN_NEW_SHOP_RECORD_AUDITED(700002, "开店申请已审核", null),
|
||||
OPEN_NEW_SHOP_RECORD_WAIT_AUDIT(700003, "提交失败,您有开店申请正在审核中", null),
|
||||
|
||||
INTERVIEW_ENTER_FAIL(1021101, "进入面审间失败", null),
|
||||
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
|
||||
INTERVIEW_NOT_EXIST(1021103, "面审信息不存在!", null),
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.dto.partner.PartnerOpenNewShopPageDTO;
|
||||
import com.cool.store.entity.OpenNewShopRecordDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.OpenNewShopRecordMapper;
|
||||
import com.cool.store.request.PartnerOpenNewShopPageRequest;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: OpenNewShopRecordDAO
|
||||
* @Description:
|
||||
* @date 2024-05-09 15:09
|
||||
*/
|
||||
@Repository
|
||||
public class OpenNewShopRecordDAO {
|
||||
|
||||
@Resource
|
||||
private OpenNewShopRecordMapper openNewShopRecordMapper;
|
||||
|
||||
/**
|
||||
* 获取开新店数据
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
public Page<PartnerOpenNewShopPageDTO> getPartnerOpenNewShopPage(PartnerOpenNewShopPageRequest request){
|
||||
PageHelper.startPage(request.getPageNum(),request.getPageSize());
|
||||
return openNewShopRecordMapper.getPartnerOpenNewShopPage(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public OpenNewShopRecordDO getOpenNewShopRecordById(Long id){
|
||||
return openNewShopRecordMapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public Integer updateOpenNewShopRecord(OpenNewShopRecordDO openNewShopRecordDO){
|
||||
return openNewShopRecordMapper.updateByPrimaryKeySelective(openNewShopRecordDO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待审核的开新店记录
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
public OpenNewShopRecordDO getWaitAuditOpenNewShopRecord(Long lineId){
|
||||
if(Objects.isNull(lineId)){
|
||||
return null;
|
||||
}
|
||||
return openNewShopRecordMapper.getWaitAuditOpenNewShopRecord(lineId);
|
||||
}
|
||||
|
||||
public Long insertOpenNewShopRecord(OpenNewShopRecordDO openNewShopRecordDO){
|
||||
if(Objects.isNull(openNewShopRecordDO.getLineId())){
|
||||
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
|
||||
}
|
||||
openNewShopRecordMapper.insertSelective(openNewShopRecordDO);
|
||||
return openNewShopRecordDO.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据lineId获取开新店记录
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
public List<OpenNewShopRecordDO> getOpenNewShopRecordList(Long lineId){
|
||||
if(Objects.isNull(lineId)){
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
return openNewShopRecordMapper.getOpenNewShopRecordList(lineId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除开新店记录
|
||||
* @param deleteIds
|
||||
*/
|
||||
public void deleteOpenNewShopRecord(List<Long> deleteIds) {
|
||||
if(CollectionUtils.isEmpty(deleteIds)){
|
||||
return;
|
||||
}
|
||||
openNewShopRecordMapper.deleteOpenNewShopRecord(deleteIds);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.dto.partner.PartnerOpenNewShopPageDTO;
|
||||
import com.cool.store.entity.OpenNewShopRecordDO;
|
||||
import com.cool.store.request.PartnerOpenNewShopPageRequest;
|
||||
import com.github.pagehelper.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface OpenNewShopRecordMapper extends Mapper<OpenNewShopRecordDO> {
|
||||
|
||||
/**
|
||||
* 获取老加盟商开新店列表
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Page<PartnerOpenNewShopPageDTO> getPartnerOpenNewShopPage(@Param("request") PartnerOpenNewShopPageRequest request);
|
||||
|
||||
/**
|
||||
* 获取待审核的记录
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
OpenNewShopRecordDO getWaitAuditOpenNewShopRecord(@Param("lineId") Long lineId);
|
||||
|
||||
/**
|
||||
* 获取老加盟商开新店列表
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
List<OpenNewShopRecordDO> getOpenNewShopRecordList(@Param("lineId") Long lineId);
|
||||
|
||||
/**
|
||||
* 删除老加盟商开新店
|
||||
* @param deleteIds
|
||||
* @return
|
||||
*/
|
||||
Integer deleteOpenNewShopRecord(@Param("deleteIds") List<Long> deleteIds);
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
<?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.OpenNewShopRecordMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.OpenNewShopRecordDO">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="line_id" jdbcType="BIGINT" property="lineId" />
|
||||
<result column="new_want_shop_num" jdbcType="INTEGER" property="newWantShopNum" />
|
||||
<result column="fund" jdbcType="INTEGER" property="fund" />
|
||||
<result column="audit_result" jdbcType="TINYINT" property="auditResult" />
|
||||
<result column="deleted" jdbcType="BIT" property="deleted" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
|
||||
<select id="getPartnerOpenNewShopPage" resultType="com.cool.store.dto.partner.PartnerOpenNewShopPageDTO">
|
||||
select
|
||||
a.id as recordId,
|
||||
b.id as lineId,
|
||||
b.partner_num as partnerNum,
|
||||
b.username,
|
||||
b.mobile,
|
||||
b.want_shop_area_id as wantShopAreaId,
|
||||
b.user_portrait as userPortrait,
|
||||
b.want_shop_num as wantShopNum,
|
||||
b.development_manager as developmentManager,
|
||||
b.line_source as lineSource,
|
||||
a.audit_result as auditResult
|
||||
from xfsg_open_new_shop_record a inner join xfsg_line_info b on a.line_id = b.id
|
||||
where
|
||||
a.deleted = 0 and b.deleted = 0 and b.investment_manager = #{request.investmentManager}
|
||||
<if test="request.keyword != null and request.keyword != ''">
|
||||
and (b.username like concat('%',#{request.keyword},'%') or b.mobile like concat('%',#{request.keyword},'%'))
|
||||
</if>
|
||||
<if test="request.areaPath != null and request.areaPath != '' ">
|
||||
and b.want_shop_area_id in (select id from xfsg_open_area_info where area_path like concat(#{areaPath}, '%'))
|
||||
</if>
|
||||
<if test="request.auditResult != null">
|
||||
and a.audit_result = #{request.auditResult}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getWaitAuditOpenNewShopRecord" resultMap="BaseResultMap">
|
||||
select
|
||||
id,
|
||||
line_id,
|
||||
new_want_shop_num,
|
||||
fund,
|
||||
audit_result,
|
||||
deleted,
|
||||
create_time,
|
||||
update_time
|
||||
from xfsg_open_new_shop_record
|
||||
where
|
||||
deleted = 0 and audit_result = 0 limit 1
|
||||
</select>
|
||||
|
||||
<select id="getOpenNewShopRecordList" resultMap="BaseResultMap">
|
||||
select id, audit_result from xfsg_open_new_shop_record where line_id = #{lineId} and deleted = 0
|
||||
</select>
|
||||
|
||||
<update id="deleteOpenNewShopRecord">
|
||||
update xfsg_open_new_shop_record set deleted = 1, update_time = now() where id in
|
||||
<foreach collection="deleteIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -3,6 +3,6 @@ jdbc.url = jdbc:mysql://dingpushcoolcollege.mysql.rds.aliyuncs.com:3306/coolcoll
|
||||
jdbc.user= coolstore
|
||||
jdbc.password = CSCErYcXniNYm7bT
|
||||
|
||||
table.name = xfsg_shop_rent_info
|
||||
table.object.class = ShopRentInfoDO
|
||||
table.mapper = ShopRentInfoMapper
|
||||
table.name = xfsg_open_new_shop_record
|
||||
table.object.class = OpenNewShopRecordDO
|
||||
table.mapper = OpenNewShopRecordMapper
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.cool.store.dto.partner;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2024/4/1 11:30
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class PartnerOpenNewShopPageDTO {
|
||||
|
||||
@ApiModelProperty("记录id")
|
||||
private Long recordId;
|
||||
|
||||
@ApiModelProperty("线索ID")
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("加盟商编号")
|
||||
private String partnerNum;
|
||||
|
||||
@ApiModelProperty("线索名称")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("意向加盟区域")
|
||||
private Long wantShopAreaId;
|
||||
|
||||
@ApiModelProperty("线索标签")
|
||||
private String userPortrait;
|
||||
|
||||
@ApiModelProperty("意向开店数量")
|
||||
private Integer wantShopNum;
|
||||
|
||||
@ApiModelProperty("扩展经理名称")
|
||||
private String developmentManager;
|
||||
|
||||
@ApiModelProperty("线索来源名称")
|
||||
private Integer lineSource;
|
||||
|
||||
@ApiModelProperty("审核状态 0待审核 1通过 2不通过")
|
||||
private Integer auditResult;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
@Data
|
||||
@Table(name = "xfsg_open_new_shop_record")
|
||||
public class OpenNewShopRecordDO {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 线索id
|
||||
*/
|
||||
@Column(name = "line_id")
|
||||
private Long lineId;
|
||||
|
||||
/**
|
||||
* 新开意向店铺数量
|
||||
*/
|
||||
@Column(name = "new_want_shop_num")
|
||||
private Integer newWantShopNum;
|
||||
|
||||
/**
|
||||
* 现有资金
|
||||
*/
|
||||
private Integer fund;
|
||||
|
||||
/**
|
||||
* 审核状态 0待审核 1通过 2不通过
|
||||
*/
|
||||
@Column(name = "audit_result")
|
||||
private Integer auditResult;
|
||||
|
||||
/**
|
||||
* 删除标识
|
||||
*/
|
||||
private Boolean deleted;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(name = "create_time")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@Column(name = "update_time")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
@@ -24,4 +24,11 @@ public class AddShopRequest {
|
||||
@ApiModelProperty("店铺名称")
|
||||
private List<String> shopNameList;
|
||||
|
||||
public AddShopRequest() {
|
||||
}
|
||||
|
||||
public AddShopRequest(Long lineId, List<String> shopNameList) {
|
||||
this.lineId = lineId;
|
||||
this.shopNameList = shopNameList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: AuditOpenNewShopRequest
|
||||
* @Description:
|
||||
* @date 2024-05-09 17:28
|
||||
*/
|
||||
@Data
|
||||
public class AuditOpenNewShopRequest {
|
||||
|
||||
@NotNull
|
||||
@ApiModelProperty("记录id")
|
||||
private Long recordId;
|
||||
|
||||
@NotNull
|
||||
@Min(1)@Max(2)
|
||||
@ApiModelProperty("审核状态 0待审核 1通过 2不通过")
|
||||
private Integer auditResult;
|
||||
|
||||
@ApiModelProperty("店铺名称")
|
||||
private List<String> shopNameList;
|
||||
|
||||
public boolean check(){
|
||||
if(CommonConstants.ONE == this.auditResult && CollectionUtils.isEmpty(this.shopNameList)){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import com.cool.store.common.PageBasicInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2024/4/1 11:21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class PartnerOpenNewShopPageRequest extends PageBasicInfo {
|
||||
|
||||
@ApiModelProperty("加盟上姓名或者手机号")
|
||||
private String keyword;
|
||||
|
||||
@ApiModelProperty("意向区域ID")
|
||||
private Long wantShopAreaId;
|
||||
|
||||
@ApiModelProperty("审核状态 0待审核 1通过 2不通过")
|
||||
private Integer auditResult;
|
||||
|
||||
@ApiModelProperty(value = "招商经理", hidden = true)
|
||||
private String investmentManager;
|
||||
|
||||
@ApiModelProperty(value = "区域路径", hidden = true)
|
||||
private String areaPath;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import com.cool.store.entity.OpenNewShopRecordDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Max;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: SubmitOpenNewShopRequest
|
||||
* @Description:
|
||||
* @date 2024-05-10 10:17
|
||||
*/
|
||||
@Data
|
||||
public class SubmitOpenNewShopRequest {
|
||||
|
||||
@ApiModelProperty(value = "线索id", required = true)
|
||||
private Long lineId;
|
||||
|
||||
@NotNull
|
||||
@Min(1)@Max(10)
|
||||
@ApiModelProperty("新开意向店铺数量")
|
||||
private Integer newWantShopNum;
|
||||
|
||||
@Max(99999)
|
||||
@ApiModelProperty("现有资金")
|
||||
private Integer fund;
|
||||
|
||||
public OpenNewShopRecordDO convertDO(){
|
||||
OpenNewShopRecordDO result = new OpenNewShopRecordDO();
|
||||
result.setLineId(this.lineId);
|
||||
result.setNewWantShopNum(this.newWantShopNum);
|
||||
result.setFund(this.fund);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.cool.store.vo;
|
||||
|
||||
import com.cool.store.entity.OpenNewShopRecordDO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: PartnerOpenNewShopDetailVO
|
||||
* @Description:加盟商开新店申请详情
|
||||
* @date 2024-05-10 10:04
|
||||
*/
|
||||
@Data
|
||||
public class PartnerOpenNewShopDetailVO {
|
||||
|
||||
@ApiModelProperty("记录id")
|
||||
private Long recordId;
|
||||
|
||||
@ApiModelProperty("线索id")
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("新开意向店铺数量")
|
||||
private Integer newWantShopNum;
|
||||
|
||||
@ApiModelProperty("现有资金")
|
||||
private Integer fund;
|
||||
|
||||
@ApiModelProperty("审核结果 0通过,1拒绝")
|
||||
private Integer auditResult;
|
||||
|
||||
public static PartnerOpenNewShopDetailVO convert(OpenNewShopRecordDO openNewShopRecord) {
|
||||
if(Objects.isNull(openNewShopRecord)){
|
||||
return null;
|
||||
}
|
||||
PartnerOpenNewShopDetailVO result = new PartnerOpenNewShopDetailVO();
|
||||
result.setRecordId(openNewShopRecord.getId());
|
||||
result.setLineId(openNewShopRecord.getLineId());
|
||||
result.setNewWantShopNum(openNewShopRecord.getNewWantShopNum());
|
||||
result.setFund(openNewShopRecord.getFund());
|
||||
result.setAuditResult(openNewShopRecord.getAuditResult());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.cool.store.vo;
|
||||
|
||||
import com.cool.store.dto.partner.PartnerOpenNewShopPageDTO;
|
||||
import com.google.common.collect.Lists;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2024/4/1 11:30
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class PartnerOpenNewShopPageVO {
|
||||
|
||||
@ApiModelProperty("记录id")
|
||||
private Long recordId;
|
||||
|
||||
@ApiModelProperty("线索ID")
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("加盟商编号")
|
||||
private String partnerNum;
|
||||
|
||||
@ApiModelProperty("线索名称")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("意向加盟区域")
|
||||
private String wantShopAreaName;
|
||||
|
||||
@ApiModelProperty("线索标签")
|
||||
private List<String> userPortraitList;
|
||||
|
||||
@ApiModelProperty("意向开店数量")
|
||||
private Integer wantShopNum;
|
||||
|
||||
@ApiModelProperty("扩展经理名称")
|
||||
private String developmentManagerUserName;
|
||||
|
||||
@ApiModelProperty("线索来源名称")
|
||||
private String lineSourceName;
|
||||
|
||||
@ApiModelProperty("加盟时间")
|
||||
private Date joinTime;
|
||||
|
||||
@ApiModelProperty("审核状态 0待审核 1通过 2不通过")
|
||||
private Integer auditResult;
|
||||
|
||||
public static List<PartnerOpenNewShopPageVO> convertList(List<PartnerOpenNewShopPageDTO> list, Map<Long, Date> joinTimeMap, Map<Long, String> wantShopAreaMap,
|
||||
Map<String, String> userNameMap, Map<Integer, String> channelMap, Map<Long, String> userPortraitMap){
|
||||
if(CollectionUtils.isEmpty(list)){
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<PartnerOpenNewShopPageVO> resultList = new ArrayList<>();
|
||||
for (PartnerOpenNewShopPageDTO page : list) {
|
||||
PartnerOpenNewShopPageVO result = new PartnerOpenNewShopPageVO();
|
||||
result.setRecordId(page.getRecordId());
|
||||
result.setLineId(page.getLineId());
|
||||
result.setPartnerNum(page.getPartnerNum());
|
||||
result.setUsername(page.getUsername());
|
||||
result.setMobile(page.getMobile());
|
||||
result.setWantShopAreaName(wantShopAreaMap.get(page.getWantShopAreaId()));
|
||||
result.setWantShopNum(page.getWantShopNum());
|
||||
result.setDevelopmentManagerUserName(userNameMap.get(page.getDevelopmentManager()));
|
||||
result.setLineSourceName(channelMap.get(page.getLineSource()));
|
||||
result.setJoinTime(joinTimeMap.get(page.getLineId()));
|
||||
result.setAuditResult(page.getAuditResult());
|
||||
List<String> userPortraitList = new ArrayList<>();
|
||||
if(StringUtils.isNotBlank(page.getUserPortrait())){
|
||||
String[] parts = page.getUserPortrait().split(",");
|
||||
for (String part : parts) {
|
||||
String trimmedPart = part.trim();
|
||||
if (StringUtils.isNotBlank(trimmedPart)) {
|
||||
String s = userPortraitMap.get(Long.valueOf(part));
|
||||
if(StringUtils.isNotBlank(s)){
|
||||
userPortraitList.add(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
result.setUserPortraitList(userPortraitList);
|
||||
}
|
||||
resultList.add(result);
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -51,7 +51,7 @@ public class SimpleMessageServiceImpl implements SimpleMessageService {
|
||||
properties.setProperty(CommonConstants.REQUEST_ID, requestId);
|
||||
msg.setUserProperties(properties);
|
||||
SendResult send = producer.send(msg);
|
||||
log.info("消息发送send response:{}", JSONObject.toJSONString(send));
|
||||
log.info("消息发送send mqTag:{}, response:{}", tag.getTag(), JSONObject.toJSONString(send));
|
||||
return send;
|
||||
} catch (Exception e) {
|
||||
log.error("send#######", e);
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.AuditOpenNewShopRequest;
|
||||
import com.cool.store.request.PartnerOpenNewShopPageRequest;
|
||||
import com.cool.store.request.SubmitOpenNewShopRequest;
|
||||
import com.cool.store.vo.PartnerOpenNewShopDetailVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopPageVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: OpenNewShopService
|
||||
* @Description:
|
||||
* @date 2024-05-09 15:12
|
||||
*/
|
||||
public interface OpenNewShopService {
|
||||
|
||||
/**
|
||||
* 获取老加盟商开新店
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
PageInfo<PartnerOpenNewShopPageVO> getPartnerOpenNewShopPage(PartnerOpenNewShopPageRequest request);
|
||||
|
||||
|
||||
PartnerOpenNewShopDetailVO getOpenNewShopRecordDetail(Long recordId);
|
||||
|
||||
/**
|
||||
* 审核开新店
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Integer auditOpenNewShop(AuditOpenNewShopRequest request);
|
||||
|
||||
/**
|
||||
* 提交开店申请
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Long submitOpenNewShop(SubmitOpenNewShopRequest request);
|
||||
|
||||
/**
|
||||
* 获取待审核记录
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
PartnerOpenNewShopDetailVO getWaitAuditOpenNewShopRecord(Long lineId);
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserChannelDAO;
|
||||
import com.cool.store.dao.OpenNewShopRecordDAO;
|
||||
import com.cool.store.dto.partner.PartnerOpenNewShopPageDTO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.entity.OpenNewShopRecordDO;
|
||||
import com.cool.store.entity.SigningBaseInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.IntentAgreementMapper;
|
||||
import com.cool.store.request.AddShopRequest;
|
||||
import com.cool.store.request.AuditOpenNewShopRequest;
|
||||
import com.cool.store.request.PartnerOpenNewShopPageRequest;
|
||||
import com.cool.store.request.SubmitOpenNewShopRequest;
|
||||
import com.cool.store.service.LabelService;
|
||||
import com.cool.store.service.OpenNewShopService;
|
||||
import com.cool.store.service.ShopService;
|
||||
import com.cool.store.vo.PartnerOpenNewShopDetailVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopPageVO;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: OpenNewShopServiceImpl
|
||||
* @Description:
|
||||
* @date 2024-05-09 15:12
|
||||
*/
|
||||
@Service
|
||||
public class OpenNewShopServiceImpl implements OpenNewShopService {
|
||||
|
||||
@Resource
|
||||
private HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@Resource
|
||||
private OpenNewShopRecordDAO openNewShopRecordDAO;
|
||||
@Resource
|
||||
private IntentAgreementMapper intentAgreementMapper;
|
||||
@Resource
|
||||
private EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
private HyPartnerUserChannelDAO hyPartnerUserChannelDAO;
|
||||
@Resource
|
||||
private LabelService labelService;
|
||||
@Resource
|
||||
private ShopService shopService;
|
||||
|
||||
|
||||
@Override
|
||||
public PageInfo<PartnerOpenNewShopPageVO> getPartnerOpenNewShopPage(PartnerOpenNewShopPageRequest request) {
|
||||
if(Objects.nonNull(request.getWantShopAreaId())){
|
||||
HyOpenAreaInfoDO areaInfo = hyOpenAreaInfoDAO.selectById(request.getWantShopAreaId());
|
||||
if(Objects.nonNull(areaInfo)){
|
||||
request.setAreaPath(areaInfo.getAreaPath());
|
||||
}
|
||||
}
|
||||
Page<PartnerOpenNewShopPageDTO> page = openNewShopRecordDAO.getPartnerOpenNewShopPage(request);
|
||||
List<PartnerOpenNewShopPageVO> resultList = Lists.newArrayList();
|
||||
if(Objects.nonNull(page) && CollectionUtils.isNotEmpty(page.getResult())){
|
||||
List<PartnerOpenNewShopPageDTO> result = page.getResult();
|
||||
List<Long> lineIds = result.stream().filter(o -> Objects.nonNull(o.getLineId())).map(PartnerOpenNewShopPageDTO::getLineId).distinct().collect(Collectors.toList());
|
||||
List<Long> wantShopAreaIds = result.stream().filter(o -> Objects.nonNull(o.getWantShopAreaId())).map(PartnerOpenNewShopPageDTO::getWantShopAreaId).distinct().collect(Collectors.toList());
|
||||
List<String> developmentManagerUserIds = result.stream().filter(o -> Objects.nonNull(o.getDevelopmentManager())).map(PartnerOpenNewShopPageDTO::getDevelopmentManager).distinct().collect(Collectors.toList());
|
||||
List<Integer> lineSourceIds = result.stream().filter(o -> Objects.nonNull(o.getLineSource())).map(PartnerOpenNewShopPageDTO::getLineSource).distinct().collect(Collectors.toList());
|
||||
List<String> userPortraitList = result.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(PartnerOpenNewShopPageDTO::getUserPortrait).collect(Collectors.toList());
|
||||
List<SigningBaseInfoDO> signingBaseInfoDOS = intentAgreementMapper.selectByLineIds(lineIds);
|
||||
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds);
|
||||
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(developmentManagerUserIds);
|
||||
Map<Integer, String> channelMap = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds);
|
||||
Map<Long, String> userPortraitMap = labelService.getUserPortraitMap(userPortraitList);
|
||||
Map<Long, Date> dateMap = signingBaseInfoDOS.stream().collect(Collectors.toMap(SigningBaseInfoDO::getLineId, SigningBaseInfoDO::getCreateTime));
|
||||
resultList = PartnerOpenNewShopPageVO.convertList(result, dateMap, wantShopAreaMap, userNameMap, channelMap, userPortraitMap);
|
||||
}
|
||||
PageInfo resultPage = new PageInfo(page);
|
||||
resultPage.setList(resultList);
|
||||
return resultPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PartnerOpenNewShopDetailVO getOpenNewShopRecordDetail(Long recordId) {
|
||||
OpenNewShopRecordDO openNewShopRecord = openNewShopRecordDAO.getOpenNewShopRecordById(recordId);
|
||||
if(Objects.isNull(openNewShopRecord)){
|
||||
throw new ServiceException(ErrorCodeEnum.OPEN_NEW_SHOP_RECORD_NOT_EXIST);
|
||||
}
|
||||
return PartnerOpenNewShopDetailVO.convert(openNewShopRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Integer auditOpenNewShop(AuditOpenNewShopRequest request) {
|
||||
OpenNewShopRecordDO openNewShopRecord = openNewShopRecordDAO.getOpenNewShopRecordById(request.getRecordId());
|
||||
if(Objects.isNull(openNewShopRecord) || openNewShopRecord.getDeleted()){
|
||||
throw new ServiceException(ErrorCodeEnum.OPEN_NEW_SHOP_RECORD_NOT_EXIST);
|
||||
}
|
||||
if(CommonConstants.ZERO != openNewShopRecord.getAuditResult()){
|
||||
throw new ServiceException(ErrorCodeEnum.OPEN_NEW_SHOP_RECORD_AUDITED);
|
||||
}
|
||||
if(request.getAuditResult() == CommonConstants.ONE){
|
||||
shopService.addShop(new AddShopRequest(openNewShopRecord.getLineId(), request.getShopNameList()));
|
||||
}
|
||||
OpenNewShopRecordDO update = new OpenNewShopRecordDO();
|
||||
update.setId(request.getRecordId());
|
||||
update.setAuditResult(request.getAuditResult());
|
||||
return openNewShopRecordDAO.updateOpenNewShopRecord(update);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long submitOpenNewShop(SubmitOpenNewShopRequest request) {
|
||||
List<OpenNewShopRecordDO> recordList = openNewShopRecordDAO.getOpenNewShopRecordList(request.getLineId());
|
||||
if(CollectionUtils.isNotEmpty(recordList)){
|
||||
List<OpenNewShopRecordDO> waitAuditRecordList = recordList.stream().filter(o -> CommonConstants.ZERO == o.getAuditResult()).collect(Collectors.toList());
|
||||
//过滤待审核的
|
||||
if(CollectionUtils.isNotEmpty(waitAuditRecordList)){
|
||||
throw new ServiceException(ErrorCodeEnum.OPEN_NEW_SHOP_RECORD_WAIT_AUDIT);
|
||||
}
|
||||
List<Long> deleteIds = recordList.stream().map(OpenNewShopRecordDO::getId).collect(Collectors.toList());
|
||||
openNewShopRecordDAO.deleteOpenNewShopRecord(deleteIds);
|
||||
}
|
||||
return openNewShopRecordDAO.insertOpenNewShopRecord(request.convertDO());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PartnerOpenNewShopDetailVO getWaitAuditOpenNewShopRecord(Long lineId) {
|
||||
OpenNewShopRecordDO openNewShopRecord = openNewShopRecordDAO.getWaitAuditOpenNewShopRecord(lineId);
|
||||
return PartnerOpenNewShopDetailVO.convert(openNewShopRecord);
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,17 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.point.*;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.ShopAuditInfoMapper;
|
||||
import com.cool.store.request.AddShopRequest;
|
||||
import com.cool.store.request.DeleteShopRequest;
|
||||
import com.cool.store.service.ShopService;
|
||||
import com.cool.store.utils.NumberConverter;
|
||||
import com.cool.store.vo.shop.MiniShopPageVO;
|
||||
import com.cool.store.vo.shop.RentInfoToDoVO;
|
||||
import com.cool.store.vo.shop.ShopStageInfoVO;
|
||||
import com.cool.store.vo.shop.StageShopCountVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.cool.store.controller.webb;
|
||||
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.request.AuditOpenNewShopRequest;
|
||||
import com.cool.store.request.PartnerOpenNewShopPageRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.OpenNewShopService;
|
||||
import com.cool.store.vo.PartnerOpenNewShopDetailVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopPageVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: PCOpenNewShopController
|
||||
* @Description:
|
||||
* @date 2024-05-09 15:08
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pc/open/new/shop")
|
||||
@Api(tags = "PC端-老加盟商开新店")
|
||||
@Slf4j
|
||||
public class PCOpenNewShopController {
|
||||
|
||||
@Resource
|
||||
private OpenNewShopService openNewShopService;
|
||||
|
||||
@ApiOperation("获取老加盟商开新店列表")
|
||||
@PostMapping("/getPartnerOpenNewShopPage")
|
||||
public ResponseResult<PageInfo<PartnerOpenNewShopPageVO>> getPartnerOpenNewShopPage(@RequestBody PartnerOpenNewShopPageRequest request) {
|
||||
request.setInvestmentManager(CurrentUserHolder.getUserId());
|
||||
return ResponseResult.success(openNewShopService.getPartnerOpenNewShopPage(request));
|
||||
}
|
||||
|
||||
@ApiOperation("获取详情")
|
||||
@PostMapping("/getOpenNewShopRecordDetail")
|
||||
public ResponseResult<PartnerOpenNewShopDetailVO> getOpenNewShopRecordDetail(@RequestParam("recordId") Long recordId) {
|
||||
return ResponseResult.success(openNewShopService.getOpenNewShopRecordDetail(recordId));
|
||||
}
|
||||
|
||||
@ApiOperation("审核")
|
||||
@PostMapping("/auditOpenNewShop")
|
||||
public ResponseResult<Integer> auditOpenNewShop(@RequestBody @Validated AuditOpenNewShopRequest request) {
|
||||
return ResponseResult.success(openNewShopService.auditOpenNewShop(request));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.cool.store.controller.webc;
|
||||
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.request.AuditOpenNewShopRequest;
|
||||
import com.cool.store.request.PartnerOpenNewShopPageRequest;
|
||||
import com.cool.store.request.SubmitOpenNewShopRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.OpenNewShopService;
|
||||
import com.cool.store.vo.PartnerOpenNewShopDetailVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopPageVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: PCOpenNewShopController
|
||||
* @Description:
|
||||
* @date 2024-05-09 15:08
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/mini/open/new/shop")
|
||||
@Api(tags = "小程序-老加盟商开新店")
|
||||
@Slf4j
|
||||
public class MiniOpenNewShopController {
|
||||
|
||||
@Resource
|
||||
private OpenNewShopService openNewShopService;
|
||||
|
||||
@ApiOperation("开新店")
|
||||
@PostMapping("/submitOpenNewShop")
|
||||
public ResponseResult<Long> submitOpenNewShop(@RequestBody SubmitOpenNewShopRequest request) {
|
||||
request.setLineId(PartnerUserHolder.getUser().getLineId());
|
||||
return ResponseResult.success(openNewShopService.submitOpenNewShop(request));
|
||||
}
|
||||
|
||||
@ApiOperation("获取待审核的状态")
|
||||
@GetMapping("/getWaitAuditOpenNewShopRecord")
|
||||
public ResponseResult<PartnerOpenNewShopDetailVO> getWaitAuditOpenNewShopRecord() {
|
||||
return ResponseResult.success(openNewShopService.getWaitAuditOpenNewShopRecord(PartnerUserHolder.getUser().getLineId()));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user