Merge branch 'cc_20230520_partner' of http://gitlab.coolcollege.cn/hangzhou/java/coolstore-partner-manage into cc_20230520_partner

# Conflicts:
#	coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
#	coolstore-partner-webb/src/main/resources/application-dev.properties
This commit is contained in:
俞扬
2023-06-16 11:48:29 +08:00
106 changed files with 2030 additions and 294 deletions

View File

@@ -114,4 +114,8 @@ public class CommonConstants {
public static final String FOLLOW = "follow"; public static final String FOLLOW = "follow";
public static final String PENDING = "pending"; public static final String PENDING = "pending";
public static final String ALLOCATION = "allocation";
public static final String TRANSFER = "transfer";
} }

View File

@@ -0,0 +1,17 @@
package com.cool.store.enums;
/**
* 动态栏目枚举类
*/
public enum ContentSubjectEnum {
HY_CULTURE("沪姨文化"),
PARTNER_SAYS("加盟商说"),
BRAND_NEWS("品牌动态")
;
private String subjectName;
ContentSubjectEnum(String subjectName) {
this.subjectName = subjectName;
}
}

View File

@@ -0,0 +1,16 @@
package com.cool.store.enums;
/**
* 动态类型(图文/视频)
*/
public enum ContentTypeEnum {
VIDEO("视频"),
IMAGE("图文")
;
private String type;
ContentTypeEnum(String type) {
this.type = type;
}
}

View File

@@ -44,17 +44,18 @@ public enum ErrorCodeEnum {
USER_GROUP_NAME_EXIST(1021076, "用户分组名称已存在", null), USER_GROUP_NAME_EXIST(1021076, "用户分组名称已存在", null),
USER_GROUP_NOT_EXIST(1021077, "用户分组不存在", null), USER_GROUP_NOT_EXIST(1021077, "用户分组不存在", null),
GET_INFO_ERROR(1021078, "获取信息异常", null), GET_INFO_ERROR(1021078, "获取信息异常", null),
GET_PHONENUMBER_INFO_ERROR(1021079, "手机号归属地获取异常", null),
IDENTITY_CARD_PARSE_FAIL(1021080, "身份证解析失败", null),
PARAMS_REQUIRED(400002, "参数缺失!", null), PARAMS_REQUIRED(400002, "参数缺失!", null),
DATA_CONVERT_ERROR(400002, "日期转换异常!", null),
LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在", null), LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在", null),
WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null), WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null),
PARTNER_USER_NOT_EXIST(500003, "加盟商用户信息不存在!", null), PARTNER_USER_NOT_EXIST(500003, "加盟商用户信息不存在!", null),
ZONE_NOT_EXIST(500004, "战区不存在!", null), ZONE_NOT_EXIST(500004, "战区不存在!", null),
PARTNER_BASEINFO_NOT_EXIST(500005, "基本信息不存在!", null),
INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null),
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null), INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null), DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),

View File

@@ -30,8 +30,8 @@ public enum WorkflowStageEnum {
public static final HashMap<String,String> getWorkflowStageMap(){ public static final HashMap<String,String> getWorkflowStageMap(){
HashMap<String, String> result = new HashMap<>(); HashMap<String, String> result = new HashMap<>();
result.put(INTENT.getCode(),WorkflowStatusEnum.INTENT_3.getCode()); result.put(INTENT.getCode(),WorkflowStatusEnum.INTENT_3.getCode());
result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_6.getCode()); result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_7.getCode());
result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_6.getCode()); result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_7.getCode());
return result; return result;
} }

View File

@@ -14,16 +14,17 @@ public enum WorkflowStatusEnum {
//预约面试阶段 //预约面试阶段
RESERVATION_0("0","待预约"), RESERVATION_0("0","待预约"),
RESERVATION_6("6","到期未预约"), RESERVATION_1("1","待审核"),
RESERVATION_7("7","到期未预约"),
//合格资格面试 //合格资格面试
INTERVIEW_1("1","待面试"), INTERVIEW_2("2","待面试"),
INTERVIEW_2("2","已开始"), INTERVIEW_3("3","已开始"),
INTERVIEW_3("3","待审核"), INTERVIEW_4("4","待审核"),
INTERVIEW_4("4","审核中"), INTERVIEW_5("5","审核中"),
INTERVIEW_5("5","审核通过"), INTERVIEW_6("6","审核通过"),
INTERVIEW_6("6","拒绝"), INTERVIEW_7("7","拒绝"),
; ;

View File

@@ -94,10 +94,11 @@ public class PDFUtils {
* @param color 字体颜色 * @param color 字体颜色
*/ */
private static void addContent(PdfReader reader, OutputStream outputStream, String content, float x, float y, BaseFont baseFont, float fontSize, int fontStyle, Color color) { private static void addContent(PdfReader reader, OutputStream outputStream, String content, float x, float y, BaseFont baseFont, float fontSize, int fontStyle, Color color) {
PdfStamper stamper = null;
try { try {
//生成 paragraph 并放在正确位置 //生成 paragraph 并放在正确位置
//抠模板 //抠模板
PdfStamper stamper = new PdfStamper(reader, outputStream); stamper = new PdfStamper(reader, outputStream);
PdfContentByte over = stamper.getOverContent(1); PdfContentByte over = stamper.getOverContent(1);
Font font = new Font(baseFont, fontSize, fontStyle, color); Font font = new Font(baseFont, fontSize, fontStyle, color);
Paragraph insertContent = new Paragraph(content, font); Paragraph insertContent = new Paragraph(content, font);
@@ -110,6 +111,14 @@ public class PDFUtils {
stamper.close(); stamper.close();
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} finally {
try {
if (stamper != null) {
stamper.close();
}
} catch (IOException ex) {
throw new RuntimeException(ex);
}
} }
} }

View File

@@ -22,19 +22,16 @@ public class PassLetterUtils {
* 返回通过函编码 * 返回通过函编码
* @param partnerName 加盟商姓名 * @param partnerName 加盟商姓名
* @param verifyCity 审批城市 * @param verifyCity 审批城市
* @param passCode 通过函编码
* @param passTime 审批通过时间 * @param passTime 审批通过时间
*/ */
public static String genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) { public static ByteArrayOutputStream genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) {
String randomNum = RandomUtil.randomNumbers(5);
if (ObjectUtil.isEmpty(passCode)) {
passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum;
}
String passTimeStr = DateUtil.format(passTime, "yyyy年MM月dd日"); String passTimeStr = DateUtil.format(passTime, "yyyy年MM月dd日");
Document document = new Document(); Document document = new Document();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try { try {
//1. 创建 pdf document //1. 创建 pdf document
// ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); // FileOutputStream outputStream = new FileOutputStream("passLetter.pdf");
FileOutputStream outputStream = new FileOutputStream("passLetter.pdf");
PdfWriter.getInstance(document, outputStream); PdfWriter.getInstance(document, outputStream);
document.open(); document.open();
@@ -44,21 +41,38 @@ public class PassLetterUtils {
document.close(); document.close();
//3. 填写通过函模板信息 //3. 填写通过函模板信息
addContentToPdf(partnerName + " 先生/女士", 122, 640); addContentToPdf(outputStream, partnerName + " 先生/女士", 122, 640);
addContentToPdf(passCode, 122, 558); addContentToPdf(outputStream, passCode, 122, 558);
addContentToPdf(verifyCity, 155, 494); addContentToPdf(outputStream, verifyCity, 155, 494);
addContentToPdf("60天", 135, 450); addContentToPdf(outputStream, "60天", 135, 450);
addContentToPdf(passTimeStr, 393, 152); addContentToPdf(outputStream, passTimeStr, 393, 152);
return passCode; return outputStream;
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} finally {
try {
document.close();
outputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
} }
} }
private static void addContentToPdf(String content, float x, float y) { /**
* 生成 passCode 的方法,拆分出来方便单独获取 passCode
* @return
*/
public static String genPassCode(DateTime passTime) {
String randomNum = RandomUtil.randomNumbers(5);
String passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum;
return passCode;
}
private static void addContentToPdf(ByteArrayOutputStream outputStream, String content, float x, float y) {
try { try {
PdfReader pdfReader = new PdfReader(Files.newInputStream(Paths.get("passLetter.pdf"))); ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
OutputStream outputStream = Files.newOutputStream(Paths.get("passLetter.pdf")); PdfReader pdfReader = new PdfReader(inputStream);
PDFUtils.putParagraphAbsolutely(pdfReader, outputStream, x, y, content, 20, new Color(255, 82,25)); PDFUtils.putParagraphAbsolutely(pdfReader, outputStream, x, y, content, 20, new Color(255, 82,25));
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);

View File

@@ -29,7 +29,7 @@ public class EnterpriseUserDAO {
return enterpriseUserMapper.getUserInfoById(userId); return enterpriseUserMapper.getUserInfoById(userId);
} }
public List<EnterpriseUserDO> getUserInfoByUserIds(List<String> userIdList){ public List<EnterpriseUserDO> getUserInfoByUserIds(List<String> userIdList){
if(CollectionUtils.isEmpty(userIdList)){ if(CollectionUtils.isEmpty(userIdList)){
return Lists.newArrayList(); return Lists.newArrayList();
} }
@@ -60,4 +60,8 @@ public class EnterpriseUserDAO {
} }
return enterpriseUserMapper.deleteUserByUserId(userId); return enterpriseUserMapper.deleteUserByUserId(userId);
} }
public List<EnterpriseUserDO> searchUserByRegionIdsAndKeyword(List<String> regionIds, String keyword, boolean isLeader){
return enterpriseUserMapper.searchUserByRegionIdsAndKeyword(regionIds, keyword, isLeader);
}
} }

View File

@@ -46,5 +46,4 @@ public class HyIntendDevZoneInfoDAO {
} }

View File

@@ -30,9 +30,6 @@ public class HyOpenAreaInfoDAO {
} }
public List<HyOpenAreaInfoDO> queryByKeyword(String keyword,Boolean filterData){ public List<HyOpenAreaInfoDO> queryByKeyword(String keyword,Boolean filterData){
if (StringUtils.isEmpty(keyword)){
return new ArrayList<>();
}
return hyOpenAreaInfoMapper.queryByKeyword(keyword,filterData); return hyOpenAreaInfoMapper.queryByKeyword(keyword,filterData);
} }

View File

@@ -2,7 +2,7 @@ package com.cool.store.dao;
import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.mapper.HyPartnerBaseInfoMapper; import com.cool.store.mapper.HyPartnerBaseInfoMapper;
import org.apache.ibatis.annotations.Param; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -38,4 +38,11 @@ public class HyPartnerBaseInfoDAO {
return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId); return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId);
} }
public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){
if (StringUtils.isEmpty(partnerId) || partnerLineId == null){
return null;
}
return hyPartnerBaseInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId);
}
} }

View File

@@ -0,0 +1,58 @@
package com.cool.store.dao;
import com.cool.store.entity.HyPartnerClerkDO;
import com.cool.store.mapper.HyPartnerClerkMapper;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
/**
* @Author suzhuhong
* @Date 2023/6/15 10:09
* @Version 1.0
*/
@Repository
public class HyPartnerClerkDAO {
@Resource
HyPartnerClerkMapper hyPartnerClerkMapper;
public int insertSelective( HyPartnerClerkDO record){
return hyPartnerClerkMapper.insertSelective(record);
}
public int updateByPrimaryKeySelective(HyPartnerClerkDO record){
return hyPartnerClerkMapper.updateByPrimaryKeySelective(record);
}
public List<HyPartnerClerkDO> getHyPartnerClerkList(Long lineId){
return hyPartnerClerkMapper.getHyPartnerClerkList(lineId);
}
public int batchInsert(List<HyPartnerClerkDO> hyPartnerClerkDOList){
if (CollectionUtils.isEmpty(hyPartnerClerkDOList)){
return -1;
}
return hyPartnerClerkMapper.batchInsert(hyPartnerClerkDOList);
}
public void deleteByPartnerIdAndLineId(String partnerId, Long partnerLineId){
if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){
return;
}
hyPartnerClerkMapper.deleteByPartnerIdAndLineId(partnerId, partnerLineId);
}
public List<HyPartnerClerkDO> listByPartnerIdAndLineId(String partnerId, Long partnerLineId){
if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){
return Collections.emptyList();
}
return hyPartnerClerkMapper.listByPartnerIdAndLineId(partnerId, partnerLineId);
}
}

View File

@@ -4,13 +4,11 @@ import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerIntentInfoDO;
import com.cool.store.mapper.HyPartnerIntentInfoMapper; import com.cool.store.mapper.HyPartnerIntentInfoMapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.Objects;
/** /**
* @Author suzhuhong * @Author suzhuhong
@@ -48,12 +46,19 @@ public class HyPartnerIntentInfoDAO {
} }
public PartnerIntentApplyInfoDTO selectByLineId(Long lineId){ public HyPartnerIntentInfoDO selectByLineId(Long lineId){
if (lineId==null){ if (lineId==null){
return null; return null;
} }
return hyPartnerIntentInfoMapper.selectByLineId(lineId); return hyPartnerIntentInfoMapper.selectByLineId(lineId);
} }
public HyPartnerIntentInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){
if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){
return null;
}
return hyPartnerIntentInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId);
}
} }

View File

@@ -1,19 +1,20 @@
package com.cool.store.dao; package com.cool.store.dao;
import com.cool.store.dto.partner.PartnerBlackListDTO; import com.cool.store.dto.partner.PartnerBlackListDTO;
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO;
import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.dto.partner.StageCountDTO;
import com.cool.store.dto.partner.*;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.mapper.HyPartnerLineInfoMapper; import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@@ -113,8 +114,8 @@ public class HyPartnerLineInfoDAO {
} }
public PageInfo<PartnerBlackListDTO> getBlackList( String keyWord, String intentArea , Integer acceptAdjustType){ public PageInfo<PartnerBlackListDTO> getBlackList( String userNameKeyword,String phoneKeyword, String intentArea , Integer acceptAdjustType){
return hyPartnerLineInfoMapper.getBlackList(keyWord,intentArea,acceptAdjustType); return hyPartnerLineInfoMapper.getBlackList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType);
} }
@@ -125,7 +126,30 @@ public class HyPartnerLineInfoDAO {
return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason); return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason);
} }
public PageInfo<PublicSeaLineDTO> getPublicSeaLineList( String userNameKeyword, String phoneKeyword, String intentArea, Integer acceptAdjustType, Date updateStartTime, Date updateEndTime, List<String> userIdList){
return hyPartnerLineInfoMapper.getPublicSeaLineList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType,updateStartTime,updateEndTime,userIdList);
}
public List<HyPartnerLineInfoDO> getPartnerLastLine(List<String> partnerIdList){
if (CollectionUtils.isEmpty(partnerIdList)){
return new ArrayList<>();
}
return hyPartnerLineInfoMapper.getPartnerLastLine(partnerIdList);
}
public HyPartnerLineInfoDO getByPartnerId(String partnerId){
if (StringUtils.isEmpty(partnerId)){
return null;
}
return hyPartnerLineInfoMapper.getByPartnerId(partnerId);
}
public List<LineCountDTO> getFollowCountList( List<String> partnerIdList){
if (CollectionUtils.isEmpty(partnerIdList)){
return new ArrayList<>();
}
return hyPartnerLineInfoMapper.getFollowCountList(partnerIdList);
}
} }

View File

@@ -68,5 +68,12 @@ public class HyPartnerUserInfoDAO {
return hyPartnerUserInfoMapper.insertSelective(record); return hyPartnerUserInfoMapper.insertSelective(record);
} }
public int updateJoinKnowById(Integer isWritePartnerKnow, Long id){
if (id == null || isWritePartnerKnow == null){
return 0;
}
return hyPartnerUserInfoMapper.updateJoinKnowById(isWritePartnerKnow, id);
}
} }

View File

@@ -4,6 +4,7 @@ import com.cool.store.constants.CommonConstants;
import com.cool.store.entity.UserRegionMappingDO; import com.cool.store.entity.UserRegionMappingDO;
import com.cool.store.enums.DataSourceEnum; import com.cool.store.enums.DataSourceEnum;
import com.cool.store.mapper.UserRegionMappingMapper; import com.cool.store.mapper.UserRegionMappingMapper;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@@ -59,4 +60,28 @@ public class UserRegionMappingDAO {
return userRegionMappingMapper.deleteUserRegionByUserId(userId); return userRegionMappingMapper.deleteUserRegionByUserId(userId);
} }
/**
* 获取一个区域下直挂的人
* @param regionId
* @return
*/
public List<String> getUserListByRegionId(String regionId){
if(StringUtils.isBlank(regionId)){
return Lists.newArrayList();
}
return userRegionMappingMapper.getUserListByRegionId(regionId);
}
/**
* 获取一个人所属的部门
* @param userId
* @return
*/
public List<String> getRegionIdsByUserId(String userId){
if(StringUtils.isBlank(userId)){
return Lists.newArrayList();
}
return userRegionMappingMapper.getRegionIdsByUserId(userId);
}
} }

View File

@@ -52,4 +52,13 @@ public interface EnterpriseUserMapper {
* @return * @return
*/ */
Integer deleteUserByUserId(@Param("userId") String userId); Integer deleteUserByUserId(@Param("userId") String userId);
/**
* 根据关键字搜索部门下的用户
* @param regionIds
* @param keyword
* @param isLeader
* @return
*/
List<EnterpriseUserDO> searchUserByRegionIdsAndKeyword(@Param("regionIds") List<String> regionIds, @Param("keyword") String keyword, @Param("isLeader") boolean isLeader);
} }

View File

@@ -33,4 +33,7 @@ public interface HyPartnerBaseInfoMapper {
int updateByPartnerId(@Param("userName") String userName, int updateByPartnerId(@Param("userName") String userName,
@Param("mobile") String mobile, @Param("mobile") String mobile,
@Param("partnerId") String partnerId); @Param("partnerId") String partnerId);
HyPartnerBaseInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId);
} }

View File

@@ -3,6 +3,8 @@ package com.cool.store.mapper;
import com.cool.store.entity.HyPartnerClerkDO; import com.cool.store.entity.HyPartnerClerkDO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @author zhangchenbiao * @author zhangchenbiao
* @date 2023-05-29 03:51 * @date 2023-05-29 03:51
@@ -22,4 +24,20 @@ public interface HyPartnerClerkMapper {
* dateTime:2023-05-29 03:51 * dateTime:2023-05-29 03:51
*/ */
int updateByPrimaryKeySelective(@Param("record") HyPartnerClerkDO record); int updateByPrimaryKeySelective(@Param("record") HyPartnerClerkDO record);
List<HyPartnerClerkDO> getHyPartnerClerkList(@Param("lineId") Long lineId);
int batchInsert(@Param("recordList") List<HyPartnerClerkDO> recordList);
void deleteByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId);
/**
* 查询店员信息
* @return
*/
List<HyPartnerClerkDO> listByPartnerIdAndLineId(@Param("partnerId") String partnerId,
@Param("partnerLineId") Long partnerLineId);
} }

View File

@@ -46,5 +46,7 @@ public interface HyPartnerIntentInfoMapper {
* @param lineId * @param lineId
* @return * @return
*/ */
PartnerIntentApplyInfoDTO selectByLineId(@Param("lineId") Long lineId); HyPartnerIntentInfoDO selectByLineId(@Param("lineId") Long lineId);
HyPartnerIntentInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId);
} }

View File

@@ -1,6 +1,7 @@
package com.cool.store.mapper; package com.cool.store.mapper;
import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerInterviewInfoVO;
import com.cool.store.vo.PartnerPassLetterDetailVO; import com.cool.store.vo.PartnerPassLetterDetailVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -61,13 +62,18 @@ public interface HyPartnerInterviewMapper {
/** /**
* 根据会议 id 查询面试官 id * 根据会议 id 查询面试官 id
*/ */
String getInterviewerByInterviewId(@Param("interviewId") String interviewId); EnterInterviewVO getInterviewerByInterviewId(@Param("interviewId") String interviewId);
/** /**
* 获取通知函详情 * 获取通知函详情
*/ */
PartnerPassLetterDetailVO getPassLetterDetail(@Param("interviewId") String interviewId); PartnerPassLetterDetailVO getPassLetterDetail(@Param("interviewId") String interviewId);
/**
* 生成通过函 pdf 后修改
*/
int updatePassLetterInfo(@Param("passCode") String passCode, @Param("passFileUrl") String passFileUrl, @Param("expiryDate") String expiryDate, @Param("interviewId") String interviewId);
/** /**
* 根据面试 id 查询面试信息 * 根据面试 id 查询面试信息
*/ */

View File

@@ -1,14 +1,14 @@
package com.cool.store.mapper; package com.cool.store.mapper;
import com.cool.store.dto.partner.*;
import com.cool.store.dto.partner.PartnerBlackListDTO; import com.cool.store.dto.partner.PartnerBlackListDTO;
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO;
import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.dto.partner.StageCountDTO;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@@ -109,12 +109,14 @@ public interface HyPartnerLineInfoMapper {
/** /**
* 查询黑名单列表 * 查询黑名单列表
* @param keyWord * @param userNameKeyword
* @param phoneKeyword
* @param intentArea * @param intentArea
* @param acceptAdjustType * @param acceptAdjustType
* @return * @return
*/ */
PageInfo<PartnerBlackListDTO> getBlackList(@Param("keyWord") String keyWord, PageInfo<PartnerBlackListDTO> getBlackList(@Param("userNameKeyword") String userNameKeyword,
@Param("phoneKeyword") String phoneKeyword,
@Param("intentArea") String intentArea , @Param("intentArea") String intentArea ,
@Param("acceptAdjustType") Integer acceptAdjustType); @Param("acceptAdjustType") Integer acceptAdjustType);
@@ -132,4 +134,40 @@ public interface HyPartnerLineInfoMapper {
@Param("joinReason") String joinReason, @Param("joinReason") String joinReason,
@Param("removeReason") String removeReason); @Param("removeReason") String removeReason);
HyPartnerLineInfoDO getByPartnerId(@Param("partnerId") String partnerId);
/**
* 查询公海线索
* @param userNameKeyword
* @param phoneKeyword
* @param intentArea
* @param acceptAdjustType
* @param updateStartTime
* @param updateEndTime
* @param userIdList
* @return
*/
PageInfo<PublicSeaLineDTO> getPublicSeaLineList(@Param("userNameKeyword") String userNameKeyword,
@Param("phoneKeyword") String phoneKeyword,
@Param("intentArea") String intentArea,
@Param("acceptAdjustType") Integer acceptAdjustType,
@Param("updateStartTime") Date updateStartTime,
@Param("updateEndTime") Date updateEndTime,
@Param("userIdList") List<String> userIdList);
/**
* 查询对应的加盟商最近线索
* @param partnerIdList
* @return
*/
List<HyPartnerLineInfoDO> getPartnerLastLine(@Param("partnerIdList") List<String> partnerIdList);
/**
* 加盟商跟进次数
* @param partnerIdList
* @return
*/
List<LineCountDTO> getFollowCountList(@Param("partnerIdList") List<String> partnerIdList);
} }

View File

@@ -40,4 +40,7 @@ public interface HyPartnerUserInfoMapper {
* @return * @return
*/ */
List<HyPartnerUserInfoDO> selectByPartnerIds(@Param("partnerIdList") List<String> partnerIdList); List<HyPartnerUserInfoDO> selectByPartnerIds(@Param("partnerIdList") List<String> partnerIdList);
int updateJoinKnowById(@Param("isWritePartnerKnow")Integer isWritePartnerKnow, @Param("id")Long id);
} }

View File

@@ -54,4 +54,18 @@ public interface UserRegionMappingMapper {
* @return * @return
*/ */
Integer deleteUserRegionByUserId(@Param("userId") String userId); Integer deleteUserRegionByUserId(@Param("userId") String userId);
/**
* 获取一个区域下是直挂的人
* @param regionId
* @return
*/
List<String> getUserListByRegionId(@Param("regionId") String regionId);
/**
* 获取人所在的区域
* @param userId
* @return
*/
List<String> getRegionIdsByUserId(@Param("userId") String userId);
} }

View File

@@ -261,4 +261,23 @@
<update id="deleteUserByUserId"> <update id="deleteUserByUserId">
update enterprise_user set deleted = 1 where user_id = #{userId} update enterprise_user set deleted = 1 where user_id = #{userId}
</update> </update>
<select id="searchUserByRegionIdsAndKeyword" resultMap="BaseResultMap">
select
user_id, name, mobile
from
enterprise_user
<where>
deleted = 0
<if test="regionIds != null and regionIds.size()>0">
and <foreach collection="regionIds" item="regionId" separator="or" open="(" close=")"> user_region_ids like concat("%", #{regionId}, "%") </foreach>
</if>
<if test="keyword != null">
and (name like concat("%", #{keyword}, "%") or mobile like concat("%", #{keyword}, "%"))
</if>
<if test="isLeader!= null and isLeader">
and is_leader = 1 and leader_dept_ids in <foreach collection="regionIds" item="regionId" separator="," open="(" close=")">#{regionId}</foreach>
</if>
</where>
</select>
</mapper> </mapper>

View File

@@ -84,7 +84,7 @@
partner_url = #{record.partnerUrl}, partner_url = #{record.partnerUrl},
tencent_video_account = #{record.tencentVideoAccount}, tencent_video_account = #{record.tencentVideoAccount},
tencent_video_key = #{record.tencentVideoKey}, tencent_video_key = #{record.tencentVideoKey},
update_user_id = #{record.updateUserId}, update_user_id = #{record.updateUserId}
where id = #{record.id} where id = #{record.id}
</update> </update>
</mapper> </mapper>

View File

@@ -106,10 +106,10 @@
<if test="record.contentTitle != null and record.contentTitle != ''"> <if test="record.contentTitle != null and record.contentTitle != ''">
content_title = #{record.contentTitle}, content_title = #{record.contentTitle},
</if> </if>
<if test="record.subject != null and record.subject != ''"> <if test="record.subject != null">
subject = #{record.subject}, subject = #{record.subject},
</if> </if>
<if test="record.contentType != null and record.contentType != ''"> <if test="record.contentType != null">
content_type = #{record.contentType}, content_type = #{record.contentType},
</if> </if>
<if test="record.cover != null and record.cover != ''"> <if test="record.cover != null and record.cover != ''">
@@ -153,10 +153,10 @@
<if test="contentTitle != null and contentTitle != ''"> <if test="contentTitle != null and contentTitle != ''">
and content_title like concat('%', #{contentTitle}, '%') and content_title like concat('%', #{contentTitle}, '%')
</if> </if>
<if test="subject != null and subject != ''"> <if test="subject != null">
and subject = #{subject} and subject = #{subject}
</if> </if>
<if test="contentType != null and contentType != ''"> <if test="contentType != null">
and content_type = #{contentType} and content_type = #{contentType}
</if> </if>
<if test="startTime != null and startTime != ''"> <if test="startTime != null and startTime != ''">

View File

@@ -112,7 +112,7 @@
<foreach collection="recordList" item="record" separator=","> <foreach collection="recordList" item="record" separator=",">
(#{record.mappingId}, (#{record.mappingId},
#{record.openAreaMappingId}, #{record.openAreaMappingId},
#{record.type} #{record.type})
</foreach> </foreach>
</insert> </insert>

View File

@@ -185,10 +185,14 @@
<select id="queryByKeyword" resultMap="BaseResultMap"> <select id="queryByKeyword" resultMap="BaseResultMap">
select * from select * from
hy_open_area_info hy_open_area_info
where area_path like concat('%',#{keyword},'%') <where>
<if test="filterData!=null and filterData==true"> <if test="keyword!=null and keyword!=''">
and province_city_flag = 1 and area_path like concat('%',#{keyword},'%')
</if> </if>
<if test="filterData!=null and filterData==true">
and province_city_flag = 1
</if>
</where>
</select> </select>

View File

@@ -216,4 +216,12 @@
where partner_id = #{partnerId} where partner_id = #{partnerId}
</set> </set>
</update> </update>
<select id="getByPartnerIdAndLineId" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List"></include>
from hy_partner_base_info
where partner_id = #{partnerId} and partner_line_id = #{partnerLineId}
</select>
</mapper> </mapper>

View File

@@ -101,4 +101,44 @@
</set> </set>
where id = #{record.id} where id = #{record.id}
</update> </update>
<select id="getHyPartnerClerkList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"></include>
from hy_partner_clerk
where partner_line_id = #{lineId}
</select>
<insert id="batchInsert">
insert into
hy_partner_clerk
(
partner_line_id,
partner_id,
username,
relationship,
age,
choose_reason
)
values
<foreach collection="recordList" item="record" separator=",">
(#{record.partnerLineId},
#{record.partnerId},
#{record.username},
#{record.relationship},
#{record.age},
#{record.chooseReason})
</foreach>
</insert>
<delete id="deleteByPartnerIdAndLineId">
delete from hy_partner_clerk where partner_id = #{partnerId} and partner_line_id = #{partnerLineId}
</delete>
<select id="listByPartnerIdAndLineId" resultMap="BaseResultMap">
select <include refid="Base_Column_List"></include> from
hy_partner_clerk
where partner_id = #{partnerId} and partner_line_id = #{partnerLineId}
</select>
</mapper> </mapper>

View File

@@ -279,7 +279,7 @@
order by b.create_time order by b.create_time
</select> </select>
<select id="selectByLineId" resultType="com.cool.store.dto.partner.PartnerIntentApplyInfoDTO"> <select id="selectByLineId" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List"></include> <include refid="Base_Column_List"></include>
from hy_partner_intent_info from hy_partner_intent_info
@@ -288,4 +288,11 @@
</where> </where>
</select> </select>
<select id="getByPartnerIdAndLineId" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List"></include>
from hy_partner_intent_info
where partner_id = #{partnerId} and partner_line_id = #{partnerLineId}
</select>
</mapper> </mapper>

View File

@@ -35,6 +35,11 @@
<association property="interviewerName" column="interviewerId" select="queryInterviewerName" javaType="string"/> <association property="interviewerName" column="interviewerId" select="queryInterviewerName" javaType="string"/>
</resultMap> </resultMap>
<resultMap id="partnerEnterInterviewVO" type="com.cool.store.vo.EnterInterviewVO">
<association property="partnerName" column="partner_id" select="queryPartnerName"></association>
<association property="interviewerName" column="interviewer" select="queryInterviewerName"></association>
</resultMap>
<resultMap id="passLetterDetail" type="com.cool.store.vo.PartnerPassLetterDetailVO"> <resultMap id="passLetterDetail" type="com.cool.store.vo.PartnerPassLetterDetailVO">
<association property="partnerName" column="partner_id" select="queryPartnerName"></association> <association property="partnerName" column="partner_id" select="queryPartnerName"></association>
<association property="verifyCity" column="partner_id" select="getVerifyCity"></association> <association property="verifyCity" column="partner_id" select="getVerifyCity"></association>
@@ -315,23 +320,27 @@
</update> </update>
<!-- 根据会议 id 获取面试官 id --> <!-- 根据会议 id 获取面试官 id -->
<select id="getInterviewerByInterviewId" resultType="java.lang.String"> <select id="getInterviewerByInterviewId" resultMap="partnerEnterInterviewVO">
SELECT interviewer SELECT interviewer, interviewer interviewer_id, partner_id
FROM hy_partner_interview FROM hy_partner_interview
WHERE id = #{interviewId} WHERE id = #{interviewId}
</select> </select>
<!-- 获取通知函详情 --> <!-- 获取通知函详情 -->
<select id="getPassLetterDetail" resultMap="passLetterDetail"> <select id="getPassLetterDetail" resultMap="passLetterDetail">
SELECT pass_code, pass_file_url, expiry_date, partner_id SELECT auth_code, pass_code, pass_file_url, expiry_date, partner_id
FROM hy_partner_interview FROM hy_partner_interview
WHERE id = #{interviewId} WHERE id = #{interviewId}
</select> </select>
<!-- 获取意向开店区域 --> <!-- 获取意向开店区域 -->
<select id="getVerifyCity" resultType="string"> <select id="getVerifyCity" resultType="string">
SELECT want_shop_area SELECT area_path
FROM hy_partner_intent_info FROM hy_open_area_info
WHERE partner_id = #{partner_id} WHERE id = (
SELECT want_shop_area
FROM hy_partner_intent_info
WHERE partner_id = #{partner_id}
)
</select> </select>
<select id="selectByPrimaryKeySelective" resultType="com.cool.store.entity.HyPartnerInterviewDO"> <select id="selectByPrimaryKeySelective" resultType="com.cool.store.entity.HyPartnerInterviewDO">
select select
@@ -343,4 +352,21 @@
</select> </select>
<!-- 生成通过函 pdf 后修改 -->
<update id="updatePassLetterInfo">
UPDATE hy_partner_interview
<set>
<if test="passCode != null and passCode != ''">
pass_code = #{passCode},
</if>
<if test="passFileUrl != null and passFileUrl != ''">
pass_file_url = #{passFileUrl},
</if>
<if test="expiryDate != null and expiryDate != ''">
expiry_date = #{expiryDate}
</if>
</set>
WHERE id = #{interviewId}
</update>
</mapper> </mapper>

View File

@@ -357,8 +357,11 @@
from hy_partner_line_info a inner join hy_partner_user_info b where a.partner_id = b.partner_id from hy_partner_line_info a inner join hy_partner_user_info b where a.partner_id = b.partner_id
where deleted = 0 where deleted = 0
and line_status = 3 and line_status = 3
<if test="keyWord!=null and keyWord !=''"> <if test="userNameKeyword!=null and userNameKeyword !=''">
and (b.username like concat('%', #{keyWord}, '%') or b.mobile like concat('%', #{keyWord}, '%')) and b.username like concat('%', #{userNameKeyword}, '%')
</if>
<if test="phoneKeyword!=null and phoneKeyword !=''">
and b.mobile like concat('%', #{phoneKeyword}, '%')
</if> </if>
<if test="intentArea!=null and intentArea!=''"> <if test="intentArea!=null and intentArea!=''">
and b.want_shop_area = #{intentArea} and b.want_shop_area = #{intentArea}
@@ -384,4 +387,67 @@
where id = #{lineId} where id = #{lineId}
</update> </update>
<select id="getByPartnerId" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List"></include>
from hy_partner_line_info
where partner_id = #{partnerId}
</select>
<select id="getPublicSeaLineList" resultType="com.cool.store.dto.partner.PublicSeaLineDTO">
select
a.create_time as createTime,
b.partner_id as partner_id,
b.mobile as mobile,
b.username as userName,
b.want_shop_area as wantShopArea,
b.accept_adjust_type as acceptAdjustType
FROM hy_partner_line_info a inner JOIN hy_partner_user_info b on a.partner_id = b.partner_id
where a.line_status = 1
<if test="userNameKeyword!=null and userNameKeyword!=''">
and b.username like concat('%',#{userNameKeyword},'%')
</if>
<if test="phoneKeyword!=null and phoneKeyword!=''">
and b.mobile like concat('%',#{phoneKeyword},'%')
</if>
<if test="intentArea!=null and intentArea!=''">
and b.want_shop_area = #{intentArea}
</if>
<if test="acceptAdjustType!=null">
and b.accept_adjust_type = #{acceptAdjustType}
</if>
<if test="updateStartTime!=null and updateEndTime!=''">
and a.update_time BETWEEN #{updateStartTime} and #{updateEndTime}
</if>
<if test="userIdList!=null and userIdList.size>0">
<foreach collection="userIdList" item="userId" open="and a.investment_manager in (" close=")" separator=",">
#{userId}
</foreach>
</if>
</select>
<select id="getPartnerLastLine" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"></include>
FROM hy_partner_line_info h1
WHERE h1.create_time = (
SELECT MAX(h2.create_time)
FROM hy_partner_line_info h2
WHERE h1.partner_id = h2.partner_id
<if test="partnerIdList!=null and partnerIdList.size>0">
<foreach collection="partnerIdList" item="partnerId" open="and h1.partner_id in (" close=")" separator=",">
#{partnerId}
</foreach>
</if>
)
</select>
<select id="getFollowCountList" resultType="com.cool.store.dto.partner.LineCountDTO">
SELECT partner_id, COUNT(1) AS num_of_leads
FROM hy_partner_line_info
GROUP BY partner_id;
</select>
</mapper> </mapper>

View File

@@ -147,4 +147,11 @@
</set> </set>
where id = #{record.id} where id = #{record.id}
</update> </update>
<update id="updateJoinKnowById">
update hy_partner_user_info
set `is_write_partner_know`=#{isWritePartnerKnow,jdbcType=INTEGER}
where id=#{id,jdbcType=BIGINT}
</update>
</mapper> </mapper>

View File

@@ -123,4 +123,12 @@
update user_region_mapping set deleted = 1 where user_id = #{userId} update user_region_mapping set deleted = 1 where user_id = #{userId}
</update> </update>
<select id="getUserListByRegionId" resultType="string">
select user_id from user_region_mapping where region_id = #{regionId}
</select>
<select id="getRegionIdsByUserId" resultType="string">
select region_id from user_region_mapping where user_id = #{userId}
</select>
</mapper> </mapper>

View File

@@ -1,5 +1,7 @@
package com.cool.store.dto.content; package com.cool.store.dto.content;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -13,10 +15,10 @@ public class ContentAddDto {
private String status; private String status;
@ApiModelProperty(value = "栏目code", required = true) @ApiModelProperty(value = "栏目code", required = true)
private String subject; private ContentSubjectEnum subject;
@ApiModelProperty(value = "类型", required = true) @ApiModelProperty(value = "类型", required = true)
private String contentType; private ContentTypeEnum contentType;
@ApiModelProperty(value = "封面地址", required = true) @ApiModelProperty(value = "封面地址", required = true)
private String cover; private String cover;

View File

@@ -1,6 +1,8 @@
package com.cool.store.dto.content; package com.cool.store.dto.content;
import com.cool.store.common.PageBasicInfo; import com.cool.store.common.PageBasicInfo;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -13,10 +15,10 @@ public class ContentQueryListDto extends PageBasicInfo {
private String contentTitle; private String contentTitle;
@ApiModelProperty("栏目Code") @ApiModelProperty("栏目Code")
private String subject; private ContentSubjectEnum subject;
@ApiModelProperty("类型,默认选中全部时不传值") @ApiModelProperty("类型,默认选中全部时不传值")
private String contentType; private ContentTypeEnum contentType;
@ApiModelProperty("筛选开始时间") @ApiModelProperty("筛选开始时间")
private String startTime; private String startTime;

View File

@@ -1,5 +1,7 @@
package com.cool.store.dto.content; package com.cool.store.dto.content;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -16,10 +18,10 @@ public class ContentUpdateDto {
private String status; private String status;
@ApiModelProperty("栏目code") @ApiModelProperty("栏目code")
private String subject; private ContentSubjectEnum subject;
@ApiModelProperty("类型") @ApiModelProperty("类型")
private String contentType; private ContentTypeEnum contentType;
@ApiModelProperty("封面地址") @ApiModelProperty("封面地址")
private String cover; private String cover;

View File

@@ -0,0 +1,33 @@
package com.cool.store.dto.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: DescribePhoneNumberDTO
* @Description:手机号归属
* @date 2023-06-15 20:07
*/
@Data
public class DescribePhoneNumberDTO {
@ApiModelProperty("基础运营商")
public String basicCarrier;
@ApiModelProperty("实际运营商")
public String carrier;
@ApiModelProperty("是否携号转网")
public Boolean isNumberPortability;
@ApiModelProperty("号码归属号段")
public Long numberSegment;
@ApiModelProperty("号码归属城市")
public String city;
@ApiModelProperty("号码归属省份")
public String province;
}

View File

@@ -0,0 +1,17 @@
package com.cool.store.dto.partner;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/15 21:19
* @Version 1.0
*/
@Data
public class LineCountDTO {
private String partnerId;
private Integer followCount;
}

View File

@@ -0,0 +1,28 @@
package com.cool.store.dto.partner;
import lombok.Data;
import java.util.Date;
/**
* @Author suzhuhong
* @Date 2023/6/15 20:21
* @Version 1.0
*/
@Data
public class PublicSeaLineDTO {
private Date createTime;
private Long lineId;
private String partnerId;
private String userName;
private String mobile;
private String wantShopArea;
private String acceptAdjustType;
}

View File

@@ -1,8 +1,10 @@
package com.cool.store.entity; package com.cool.store.entity;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@@ -25,10 +27,10 @@ public class HyContentInfoDO implements Serializable {
private String contentTitle; private String contentTitle;
@ApiModelProperty("栏目CODE") @ApiModelProperty("栏目CODE")
private String subject; private ContentSubjectEnum subject;
@ApiModelProperty("类型 image-图文 video-视频") @ApiModelProperty("类型 image-图文 video-视频")
private String contentType; private ContentTypeEnum contentType;
@ApiModelProperty("封面URL") @ApiModelProperty("封面URL")
private String cover; private String cover;

View File

@@ -17,8 +17,11 @@ import java.util.Date;
public class LineRequest extends PageInfoRequest{ public class LineRequest extends PageInfoRequest{
@ApiModelProperty("关键字") @ApiModelProperty("用户名关键字")
private String keyWord; private String userNameKeyword;
@ApiModelProperty("手机号关键字")
private String phoneKeyword;
@ApiModelProperty("意向区域") @ApiModelProperty("意向区域")
private String intentArea; private String intentArea;
@@ -26,8 +29,11 @@ public class LineRequest extends PageInfoRequest{
@ApiModelProperty("调剂类型") @ApiModelProperty("调剂类型")
private Integer acceptAdjustType; private Integer acceptAdjustType;
@ApiModelProperty("更新时间") @ApiModelProperty("更新开始时间")
private Date updateTime; private Date updateStartTime;
@ApiModelProperty("更新结束时间")
private Date updateEndTime;

View File

@@ -18,6 +18,12 @@ public class PartnerIntentInfoRequest {
@ApiModelProperty("") @ApiModelProperty("")
private Long id; private Long id;
@ApiModelProperty("线索表ID")
private Long partnerLineId;
@ApiModelProperty("加盟商C端用户表ID partnerId ")
private String partnerId;
@ApiModelProperty("常驻区域") @ApiModelProperty("常驻区域")
private String liveArea; private String liveArea;

View File

@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
public class PartnerEnterInterviewVO { public class EnterInterviewVO {
@ApiModelProperty("userSig 进入会议需要的用户签名") @ApiModelProperty("userSig 进入会议需要的用户签名")
private String userSign; private String userSign;
@@ -12,4 +12,10 @@ public class PartnerEnterInterviewVO {
@ApiModelProperty("面试官id") @ApiModelProperty("面试官id")
private String interviewerId; private String interviewerId;
@ApiModelProperty("面试官姓名")
private String interviewerName;
@ApiModelProperty("加盟商姓名")
private String partnerName;
} }

View File

@@ -0,0 +1,18 @@
package com.cool.store.vo;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/6/15 14:31
* @Version 1.0
*/
@Data
public class EnterpriseUserSingleInfoVO {
private String userId;
private String userName;
private String mobile;
}

View File

@@ -1,5 +1,7 @@
package com.cool.store.vo; package com.cool.store.vo;
import com.cool.store.enums.ContentSubjectEnum;
import com.cool.store.enums.ContentTypeEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -13,10 +15,10 @@ public class HyContentInfoVO {
private String contentTitle; private String contentTitle;
@ApiModelProperty("栏目CODE") @ApiModelProperty("栏目CODE")
private String subject; private ContentSubjectEnum subject;
@ApiModelProperty("类型 image-图文 video-视频") @ApiModelProperty("类型 image-图文 video-视频")
private String contentType; private ContentTypeEnum contentType;
@ApiModelProperty("封面URL") @ApiModelProperty("封面URL")
private String cover; private String cover;

View File

@@ -22,6 +22,12 @@ public class PartnerIntentInfoVO {
@ApiModelProperty("hy_partner_user_info.partner_id") @ApiModelProperty("hy_partner_user_info.partner_id")
private String partnerId; private String partnerId;
@ApiModelProperty("加盟商姓名")
private String partnerUserName;
@ApiModelProperty("加盟商手机号")
private String partnerUserPhone;
@ApiModelProperty("hy_partner_line_info.id") @ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId; private Long partnerLineId;

View File

@@ -9,7 +9,10 @@ public class PartnerPassLetterDetailVO {
@ApiModelProperty("加盟商姓名") @ApiModelProperty("加盟商姓名")
private String partnerName; private String partnerName;
@ApiModelProperty("") @ApiModelProperty("授权")
private String authCode;
@ApiModelProperty("通过函编码")
private String passCode; private String passCode;
@ApiModelProperty("审核城市") @ApiModelProperty("审核城市")

View File

@@ -55,8 +55,22 @@ public class PrivateSeaLineListVo {
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂") @ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
private Integer acceptAdjustType; private Integer acceptAdjustType;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("门店编码")
private String storeCode;
@ApiModelProperty("门店名称")
private String storeName;
@ApiModelProperty("线索状态")
private Integer lineStatus;
@ApiModelProperty("推荐加盟商ID")
private String recommendPartnerId;
@ApiModelProperty("推荐加盟商名称")
private String recommendPartnerName;
} }

View File

@@ -59,5 +59,9 @@ public class PublicSeaLineListVo {
@ApiModelProperty("跟进次数") @ApiModelProperty("跟进次数")
private Integer followCount; private Integer followCount;
@ApiModelProperty("意向开店区域ID")
private String wantShopArea;
private String acceptAdjustType;
} }

View File

@@ -0,0 +1,41 @@
package com.cool.store.vo.cuser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zhangchenbiao
* @FileName: IdentityCardInfoVO
* @Description:
* @date 2023-06-16 10:18
*/
@Data
public class IdentityCardInfoVO {
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("地址")
private String liveAddress;
@ApiModelProperty("出生日期")
private String birthdate;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("民族")
private String nation;
public IdentityCardInfoVO(String username, String liveAddress, String birthdate, String sex, String idCard, String nation) {
this.username = username;
this.liveAddress = liveAddress;
this.birthdate = birthdate;
this.sex = sex;
this.idCard = idCard;
this.nation = nation;
}
}

View File

@@ -130,6 +130,20 @@
<orderEntry type="library" name="Maven: com.squareup.okio:okio:1.17.2" level="project" /> <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.17.2" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:ons20190214:1.0.0" level="project" /> <orderEntry type="library" name="Maven: com.aliyun:ons20190214:1.0.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:endpoint-util:0.0.6" level="project" /> <orderEntry type="library" name="Maven: com.aliyun:endpoint-util:0.0.6" level="project" />
<orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.13.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
<orderEntry type="library" name="Maven: org.jdom:jdom2:2.0.6" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.jettison:jettison:1.1" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.5.10" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: io.opentracing:opentracing-api:0.33.0" level="project" />
<orderEntry type="library" name="Maven: io.opentracing:opentracing-util:0.33.0" level="project" />
<orderEntry type="library" name="Maven: io.opentracing:opentracing-noop:0.33.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ram:3.1.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-kms:2.11.0" level="project" />
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.2" level="project" /> <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.3.2" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.5" level="project" /> <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.5" level="project" />
<orderEntry type="library" name="Maven: redis.clients:jedis:2.8.0" level="project" /> <orderEntry type="library" name="Maven: redis.clients:jedis:2.8.0" level="project" />
@@ -141,5 +155,18 @@
<orderEntry type="library" name="Maven: io.netty:netty-all:4.1.48.Final" level="project" /> <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" /> <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.groovy:groovy:2.5.10" level="project" /> <orderEntry type="library" name="Maven: org.codehaus.groovy:groovy:2.5.10" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:dytnsapi20200217:1.0.28" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:ocr20191230:1.0.26" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:openplatform20191219:5.0.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:oss-client:3.0.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-xml:0.1.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-rpc-util:0.1.2" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-rpc:0.1.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:oss-util:1.0.2" level="project" />
<orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-fileform:0.0.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:darabonba-array:0.1.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:darabonba-number:0.0.3" level="project" />
</component> </component>
</module> </module>

View File

@@ -41,6 +41,11 @@
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>ons20190214</artifactId> <artifactId>ons20190214</artifactId>
</dependency> </dependency>
<!-- OSS -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId> <artifactId>pagehelper</artifactId>
@@ -59,6 +64,14 @@
<groupId>com.xuxueli</groupId> <groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId> <artifactId>xxl-job-core</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dytnsapi20200217</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>ocr20191230</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -4,6 +4,7 @@ package com.cool.store.handler;
import com.cool.store.exception.ApiException; import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.response.error.ErrorResponse; import com.cool.store.response.error.ErrorResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -15,23 +16,27 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
* @Description: 自定义异常处理 * @Description: 自定义异常处理
* @date 2023-06-13 19:42 * @date 2023-06-13 19:42
*/ */
@Slf4j
@RestControllerAdvice @RestControllerAdvice
public class CustomExceptionHandler { public class CustomExceptionHandler {
@ExceptionHandler(value = ServiceException.class) @ExceptionHandler(value = ServiceException.class)
public ResponseEntity<ErrorResponse> handleCustomException(ServiceException e) { public ResponseEntity<ErrorResponse> handleCustomException(ServiceException e) {
log.error(e.getMessage(), e);
ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage()); ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);
} }
@ExceptionHandler(value = ApiException.class) @ExceptionHandler(value = ApiException.class)
public ResponseEntity<ErrorResponse> handleCustomException(ApiException e) { public ResponseEntity<ErrorResponse> handleCustomException(ApiException e) {
log.error(e.getMessage(), e);
ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage()); ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST); return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);
} }
@ExceptionHandler(value = Exception.class) @ExceptionHandler(value = Exception.class)
public ResponseEntity<ErrorResponse> handleException(Exception e) { public ResponseEntity<ErrorResponse> handleException(Exception e) {
log.error(e.getMessage(), e);
ErrorResponse errorResponse = new ErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage()); ErrorResponse errorResponse = new ErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR); return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
} }

View File

@@ -283,4 +283,32 @@ public class ISVHttpRequest {
} }
return null; return null;
} }
/**
* 获取飞书日程
* @param userId
* @param startTime
* @param endTime
* @return
* @throws ApiException
*/
public List<UserCalendarsEventDTO> getUserCalendarsEvents(String userId, long startTime, long endTime)throws ApiException{
String url = isvDomain + "/user/getUserCalendarsEvents";
HashMap requestMap = new HashMap();
requestMap.put("userId", userId);
requestMap.put("startTime", startTime);
requestMap.put("endTime", endTime);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), UserCalendarsEventDTO.class);
}
} catch (Exception e) {
log.info("调用isv出错{}", e);
throw new ApiException(e.getMessage());
}
return null;
}
} }

View File

@@ -0,0 +1,64 @@
package com.cool.store.oss;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.PutObjectRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.io.InputStream;
@Component
@Slf4j
public class OSSServer {
@Value("${oss.accessKeyId:null}")
private String accessKeyId;
@Value("${oss.accessKeySecret:null}")
private String accessKeySecret;
@Value("${oss.endpoint:null}")
private String endpoint;
@Value("${oss.bucket:null}")
private String bucket;
@Value("${corp.id:null}")
private String corpId;
/**
* 服务端上传文件的方法
* ObjectName 为文件存放位置 + 名字,不可包含 bucket
*/
public String uploadFileServer(InputStream inputStream, String objectName) {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 创建PutObjectRequest对象。
PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, objectName, inputStream);
// 创建PutObject请求。
ossClient.putObject(putObjectRequest);
return "http://" + bucket + "." + endpoint + "/" + objectName;
} catch (OSSException oe) {
log.error("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
log.error("Error Message:" + oe.getErrorMessage());
log.error("Error Code:" + oe.getErrorCode());
log.error("Request ID:" + oe.getRequestId());
log.error("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
log.error("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
log.error("Error Message:" + ce.getMessage());
} catch (RuntimeException e) {
throw new RuntimeException(e);
}
finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
return null;
}
}

View File

@@ -0,0 +1,28 @@
package com.cool.store.service;
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
import com.cool.store.vo.cuser.IdentityCardInfoVO;
/**
* @author zhangchenbiao
* @FileName: AliyunService
* @Description:阿里云相关服务
* @date 2023-06-15 20:04
*/
public interface AliyunService {
/**
* 获取手机号归属信息
* @param phoneNumber
* @return
*/
DescribePhoneNumberDTO getPhoneNumberAttribute(String phoneNumber);
/**
* 根据身份证正面获取信息
* @param faceImageUrl
* @return
*/
IdentityCardInfoVO getIdentityCardInfo(String faceImageUrl);
}

View File

@@ -1,6 +1,7 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.request.EnterpriseUserRequest; import com.cool.store.request.EnterpriseUserRequest;
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
import com.cool.store.vo.buser.EnterpriseUserPageVO; import com.cool.store.vo.buser.EnterpriseUserPageVO;
import java.util.List; import java.util.List;
@@ -16,4 +17,12 @@ public interface EnterpriseUserService {
EnterpriseUserDO getUserInfoByUserId(String userId); EnterpriseUserDO getUserInfoByUserId(String userId);
/**
*
* @param userId
* @return
*/
List<EnterpriseUserSingleInfoVO> getInvestmentManagerList(String type,String userId,String keyword);
} }

View File

@@ -1,6 +1,8 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.PartnerBaseInfoRequest;
import com.cool.store.vo.PartnerBaseInfoVO;
/** /**
* @Author suzhuhong * @Author suzhuhong
@@ -16,4 +18,8 @@ public interface HyPartnerBaseInfoService {
* @return * @return
*/ */
Boolean addTags(AddTagsRequest addTagsRequest); Boolean addTags(AddTagsRequest addTagsRequest);
Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request);
PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId);
} }

View File

@@ -0,0 +1,30 @@
package com.cool.store.service;
import com.cool.store.request.PartnerClerkInfoRequest;
import com.cool.store.vo.PartnerClerkVO;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 11:05
* @Version 1.0
*/
public interface HyPartnerClerkService {
/**
* 通过线索ID查询店员信息
* @param lineId
* @return
*/
List<PartnerClerkVO> getPartnerClerkList(Long lineId);
Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request);
List<PartnerClerkVO> queryPartnerClerkInfo(String partnerId, Long lineId);
}

View File

@@ -1,7 +1,9 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.PartnerIntentInfoRequest;
import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentApplyInfoVO;
import com.cool.store.vo.PartnerIntentInfoVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
/** /**
@@ -27,7 +29,7 @@ public interface HyPartnerIntentInfoService {
* @param lineId * @param lineId
* @return * @return
*/ */
PartnerIntentApplyInfoVO getPartnerIntentApplyInfo(Long lineId); PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId);
/** /**
* 员工端 修改加盟商意向信息 * 员工端 修改加盟商意向信息
@@ -36,4 +38,8 @@ public interface HyPartnerIntentInfoService {
*/ */
Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest); Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest);
Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest);
PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId);
} }

View File

@@ -2,10 +2,7 @@ package com.cool.store.service;
import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest; import com.cool.store.request.LineRequest;
import com.cool.store.vo.BlackListVO; import com.cool.store.vo.*;
import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO;
import com.cool.store.vo.PartnerLineInfoVO;
import com.cool.store.vo.StageCountVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import java.util.List; import java.util.List;
@@ -99,5 +96,13 @@ public interface HyPartnerLineInfoService {
*/ */
Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest); Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest);
/**
* 公海线索
* @param userId
* @param lineRequest
* @return
*/
PageInfo<PublicSeaLineListVo> publicSeaLineList(String userId,LineRequest lineRequest);
} }

View File

@@ -1,9 +1,11 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.request.EntrustOthersReq; import com.cool.store.request.EntrustOthersReq;
import com.cool.store.request.FinishInterviewReq; import com.cool.store.request.FinishInterviewReq;
import com.cool.store.request.GetInterviewListReq; import com.cool.store.request.GetInterviewListReq;
import com.cool.store.request.ModifyInterviewTimeReq; import com.cool.store.request.ModifyInterviewTimeReq;
import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.interview.InterviewVO; import com.cool.store.vo.interview.InterviewVO;
import java.util.List; import java.util.List;
@@ -39,4 +41,13 @@ public interface InterviewService {
* @param request * @param request
*/ */
void finishInterview(FinishInterviewReq request); void finishInterview(FinishInterviewReq request);
/**
* 进入面试间的方法
* 修改一些面试状态
* 最后返回 userSign 用于进入腾讯云音视频房间
* @return userSign 进入视频所需签名
*/
EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto);
} }

View File

@@ -24,6 +24,15 @@ public interface OpenAreaService {
List<OpenAreaTreeVO> queryByKeyword(String keyword,Boolean flag); List<OpenAreaTreeVO> queryByKeyword(String keyword,Boolean flag);
/**
* 查询所有的开放区域 城市树
* @param keyword
* @param flag
* @return
*/
List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean flag);
/** /**
* 查询字列表 * 查询字列表
* @param type * @param type

View File

@@ -1,7 +1,7 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.vo.PartnerEnterInterviewVO; import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerInterviewInfoVO;
import com.cool.store.vo.PartnerPassLetterDetailVO; import com.cool.store.vo.PartnerPassLetterDetailVO;
@@ -20,7 +20,7 @@ public interface PartnerInterviewService {
* 最后返回 userSign 用于进入腾讯云音视频房间 * 最后返回 userSign 用于进入腾讯云音视频房间
* @return userSign 进入视频所需签名 * @return userSign 进入视频所需签名
*/ */
PartnerEnterInterviewVO enterInterviewRoom(EnterInterviewDto dto); EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto);
/** /**
* 获取通知函详情 * 获取通知函详情

View File

@@ -1,5 +1,12 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.entity.HyPartnerUserInfoDO;
public interface PartnerUserInfoService { public interface PartnerUserInfoService {
HyPartnerUserInfoDO selectByPartnerId(String partnerId);
Boolean queryJoinNotice(String partnerId);
Boolean completeJoinNotice(String partnerId);
} }

View File

@@ -61,6 +61,12 @@ public interface ZoneService {
*/ */
List<ZoneCheckVO> checkZone(IntentAreaSettingRequest intentAreaSettingRequest); List<ZoneCheckVO> checkZone(IntentAreaSettingRequest intentAreaSettingRequest);
/**
* 查询所有绑定战区的组织机构
* @return
*/
List<String> queryAllBingZoneRegionList(String type);
} }

View File

@@ -26,6 +26,7 @@ public class AdvanceSettingServiceImpl implements AdvanceSettingService {
if (advancedSettingRequest.getId()!=null){ if (advancedSettingRequest.getId()!=null){
//修改 //修改
updateAdvanceSetting(userId,advancedSettingRequest); updateAdvanceSetting(userId,advancedSettingRequest);
return Boolean.TRUE;
} }
HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO(); HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO();
hyAdvancedSettingDO.setCreateUserId(userId); hyAdvancedSettingDO.setCreateUserId(userId);
@@ -38,7 +39,7 @@ public class AdvanceSettingServiceImpl implements AdvanceSettingService {
private Boolean updateAdvanceSetting(String userId, AdvancedSettingRequest advancedSettingRequest) { private Boolean updateAdvanceSetting(String userId, AdvancedSettingRequest advancedSettingRequest) {
HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO(); HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO();
hyAdvancedSettingDO.setCreateUserId(userId); hyAdvancedSettingDO.setUpdateUserId(userId);
hyAdvancedSettingDO.setId(advancedSettingRequest.getId()); hyAdvancedSettingDO.setId(advancedSettingRequest.getId());
hyAdvancedSettingDO.setPartnerUrl(advancedSettingRequest.getPartnerUrl()); hyAdvancedSettingDO.setPartnerUrl(advancedSettingRequest.getPartnerUrl());
hyAdvancedSettingDO.setTencentVideoAccount(advancedSettingRequest.getTencentVideoAccount()); hyAdvancedSettingDO.setTencentVideoAccount(advancedSettingRequest.getTencentVideoAccount());

View File

@@ -0,0 +1,116 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.dytnsapi20200217.Client;
import com.aliyun.dytnsapi20200217.models.DescribePhoneNumberOperatorAttributeRequest;
import com.aliyun.dytnsapi20200217.models.DescribePhoneNumberOperatorAttributeResponse;
import com.aliyun.ocr20191230.models.RecognizeIdentityCardResponse;
import com.aliyun.ocr20191230.models.RecognizeIdentityCardResponseBody;
import com.aliyun.tea.TeaException;
import com.aliyun.tea.TeaModel;
import com.aliyun.teaopenapi.models.Config;
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.service.AliyunService;
import com.cool.store.vo.cuser.IdentityCardInfoVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Optional;
/**
* @author zhangchenbiao
* @FileName: AliyunServiceImpl
* @Description:
* @date 2023-06-15 20:04
*/
@Slf4j
@Service
public class AliyunServiceImpl implements AliyunService {
@Override
public DescribePhoneNumberDTO getPhoneNumberAttribute(String phoneNumber) {
try {
Config config = new Config();
//todo zcb ak sk替换
config.accessKeyId = "LTAI5t9RaXvABZbHvoXjDFJ1";
config.accessKeySecret = "zhOK7WWo3yGoUWkOMaatty19k25CMd";
Client client = new Client(config);
DescribePhoneNumberOperatorAttributeRequest request = new DescribePhoneNumberOperatorAttributeRequest();
request.authCode = "Y81FVZepk6";
request.inputNumber = phoneNumber;
request.mask = "NORMAL";
DescribePhoneNumberOperatorAttributeResponse response = client.describePhoneNumberOperatorAttribute(request);
String code = response.body.code;
if (!com.aliyun.teautil.Common.equalString(code, "OK")) {
log.error("错误信息:" , response.body.message + "");
throw new ServiceException(ErrorCodeEnum.GET_PHONENUMBER_INFO_ERROR);
}
return JSONObject.parseObject(JSONObject.toJSONString(response.body.data), DescribePhoneNumberDTO.class);
} catch (Exception e) {
log.error("获取手机号异常:", e);
throw new ServiceException(ErrorCodeEnum.GET_PHONENUMBER_INFO_ERROR);
}
}
@Override
public IdentityCardInfoVO getIdentityCardInfo(String faceImageUrl) {
//todo zcb ak sk替换
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setAccessKeyId("LTAI5t9RaXvABZbHvoXjDFJ1")
.setAccessKeySecret("zhOK7WWo3yGoUWkOMaatty19k25CMd");
// 访问的域名
config.endpoint = "ocr.cn-shanghai.aliyuncs.com";
try {
com.aliyun.ocr20191230.Client client = new com.aliyun.ocr20191230.Client(config);
URL url = new URL(faceImageUrl);
InputStream inputStream = url.openConnection().getInputStream();
com.aliyun.ocr20191230.models.RecognizeIdentityCardAdvanceRequest recognizeIdentityCardAdvanceRequest = new com.aliyun.ocr20191230.models.RecognizeIdentityCardAdvanceRequest()
.setImageURLObject(inputStream)
.setSide("face");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
RecognizeIdentityCardResponse idCardResponse = client.recognizeIdentityCardAdvance(recognizeIdentityCardAdvanceRequest, runtime);
log.info("身份证解析结果:{}", JSONObject.toJSONString(idCardResponse));
RecognizeIdentityCardResponseBody.RecognizeIdentityCardResponseBodyDataFrontResult frontResult = Optional.ofNullable(idCardResponse).map(o -> o.getBody()).map(o -> o.data).map(o -> o.frontResult).orElse(null);
String username = frontResult.name;
String liveAddress = frontResult.address;
String birthdate = frontResult.birthDate;
if(StringUtils.isNotBlank(birthdate)){
birthdate = convertDate(birthdate, "yyyyMMdd");
}
String sex = frontResult.gender;
String idCard = frontResult.IDNumber;
String nation = frontResult.nationality;
IdentityCardInfoVO result = new IdentityCardInfoVO(username, liveAddress, birthdate, sex, idCard, nation);
log.info("身份证解析:{}", JSONObject.toJSONString(result));
return result;
} catch (com.aliyun.tea.TeaException e) {
log.error("身份证解析报错TeaException{}", e);
} catch (MalformedURLException e) {
log.error("身份证解析报错MalformedURLException{}", e);
} catch (IOException e) {
log.error("身份证解析报错IOException{}", e);
} catch (Exception e) {
log.error("身份证解析报错Exception{}", e);
}
return null;
}
public static String convertDate(String date, String format) {
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
LocalDate localDate = LocalDate.parse(date, formatter);
return localDate.toString();
} catch (Exception e) {
throw new ServiceException(ErrorCodeEnum.DATA_CONVERT_ERROR);
}
}
}

View File

@@ -1,11 +1,19 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.service.EnterpriseUserService; import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.ZoneService;
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
/** /**
* @author zhangchenbiao * @author zhangchenbiao
@@ -22,10 +30,61 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
private EnterpriseUserDAO enterpriseUserDAO; private EnterpriseUserDAO enterpriseUserDAO;
@Resource @Resource
private EnterpriseUserRoleDAO enterpriseUserRoleDAO; private EnterpriseUserRoleDAO enterpriseUserRoleDAO;
@Resource
ZoneService zoneService;
@Resource
RegionDAO regionDAO;
@Resource
UserRegionMappingDAO userRegionMappingDAO;
@Override @Override
public EnterpriseUserDO getUserInfoByUserId(String userId) { public EnterpriseUserDO getUserInfoByUserId(String userId) {
return enterpriseUserDAO.getUserInfoById(userId); return enterpriseUserDAO.getUserInfoById(userId);
} }
@Override
public List<EnterpriseUserSingleInfoVO> getInvestmentManagerList(String type,String userId, String keyword) {
//查询当前人员信息
EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(userId);
//当前登录人所在组织机构
List<String> regionIds = userRegionMappingDAO.getRegionIdsByUserId(userId);
//所有绑定了战区的组织机构
List<String> list = zoneService.queryAllBingZoneRegionList("intend");
HashSet<String> regionList = new HashSet<>();
regionIds.forEach(x->{
if (list.contains(x)){
regionList.add(x);
}
});
//分配
//如果是招商经理 只能分配给自己
//如果是负责人 分配给负责人所在战区人员
List<EnterpriseUserDO> enterpriseUserDOS = new ArrayList<>();
if (CommonConstants.ALLOCATION.equals(type)){
if (userInfo.getIsLeader()){
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.TRUE);
}
if (CollectionUtils.isNotEmpty(regionList)){
//只有招商经理本人
enterpriseUserDOS.add(userInfo);
}
}
//转交 所有的招商经理
if (CommonConstants.TRANSFER.equals(type)){
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.TRUE);
}
List<EnterpriseUserSingleInfoVO> enterpriseUserSingleInfoVOS = new ArrayList<>();
enterpriseUserDOS.forEach(x->{
EnterpriseUserSingleInfoVO enterpriseUserSingleInfoVO = new EnterpriseUserSingleInfoVO();
enterpriseUserSingleInfoVO.setUserId(x.getUserId());
enterpriseUserSingleInfoVO.setUserName(x.getName());
enterpriseUserSingleInfoVO.setMobile(x.getMobile());
enterpriseUserSingleInfoVOS.add(enterpriseUserSingleInfoVO);
});
return enterpriseUserSingleInfoVOS;
}
} }

View File

@@ -1,10 +1,16 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerBaseInfoDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.PartnerBaseInfoRequest;
import com.cool.store.service.HyPartnerBaseInfoService; import com.cool.store.service.HyPartnerBaseInfoService;
import com.cool.store.vo.PartnerBaseInfoVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -29,4 +35,49 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO); hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO);
return Boolean.TRUE; return Boolean.TRUE;
} }
/**
* //前提 未提交加盟申请
* //成功 意向区域变更成功 失败 您已进入意向申请流程,当前不可变更意向区域
* @param request
* @return
*/
@Override
public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) {
HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
if(baseInfoDO == null){
baseInfoDO = new HyPartnerBaseInfoDO();
fillBaseInfo(baseInfoDO, request);
hyPartnerBaseInfoDAO.insertSelective(baseInfoDO);
}else {
fillBaseInfo(baseInfoDO, request);
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO);
}
return true;
}
@Override
public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) {
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId);
if (hyPartnerBaseInfoDO == null){
throw new ServiceException(ErrorCodeEnum.PARTNER_BASEINFO_NOT_EXIST);
}
PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO();
BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO);
return baseInfoVO;
}
private void fillBaseInfo(HyPartnerBaseInfoDO baseInfoDO, PartnerBaseInfoRequest request) {
baseInfoDO.setPartnerId(request.getPartnerId());
baseInfoDO.setPartnerLineId(request.getPartnerLineId());
baseInfoDO.setMobile(request.getMobile());
baseInfoDO.setUsername(request.getUsername());
baseInfoDO.setSex(request.getSex());
baseInfoDO.setNation(request.getNation());
baseInfoDO.setBirthdate(request.getBirthdate());
baseInfoDO.setIdCard(request.getIdCard());
baseInfoDO.setIdCardPhotoFront(request.getIdCardPhotoFront());
baseInfoDO.setIdCardPhotoBlack(request.getIdCardPhotoBlack());
baseInfoDO.setLiveAddress(request.getLiveAddress());
}
} }

View File

@@ -0,0 +1,82 @@
package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.cool.store.dao.HyPartnerClerkDAO;
import com.cool.store.entity.HyPartnerClerkDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.PartnerClerkInfoRequest;
import com.cool.store.service.HyPartnerClerkService;
import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerClerkVO;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Author wxp
* @Date 2023/6/14 21:37
* @Version 1.0
*/
@Service
public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
@Resource
HyPartnerClerkDAO hyPartnerClerkDAO;
@Override
public List<PartnerClerkVO> getPartnerClerkList(Long lineId) {
List<HyPartnerClerkDO> hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId);
List<PartnerClerkVO> result= new ArrayList<>();
hyPartnerClerkList.forEach(x->{
PartnerClerkVO partnerClerkVO = new PartnerClerkVO();
partnerClerkVO.setPartnerId(x.getPartnerId());
partnerClerkVO.setPartnerLineId(x.getPartnerLineId());
partnerClerkVO.setAge(x.getAge());
partnerClerkVO.setChooseReason(x.getChooseReason());
partnerClerkVO.setUsername(x.getUsername());
partnerClerkVO.setRelationship(x.getRelationship());
result.add(partnerClerkVO);
});
return result;
}
@Override
public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) {
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
hyPartnerClerkDAO.deleteByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
List<HyPartnerClerkDO> clerkDOList = new ArrayList<>();
request.getPartnerClerkRequestList().stream().forEach(x->{
HyPartnerClerkDO clerkDO = new HyPartnerClerkDO();
clerkDO.setPartnerLineId(request.getPartnerLineId());
clerkDO.setPartnerId(request.getPartnerId());
clerkDO.setUsername(x.getUsername());
clerkDO.setRelationship(x.getRelationship());
clerkDO.setAge(x.getAge());
clerkDO.setChooseReason(x.getChooseReason());
clerkDOList.add(clerkDO);
});
hyPartnerClerkDAO.batchInsert(clerkDOList);
return true;
}
@Override
public List<PartnerClerkVO> queryPartnerClerkInfo(String partnerId, Long lineId) {
List<HyPartnerClerkDO> clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId);
List<PartnerClerkVO> clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> {
PartnerClerkVO clerkVO = new PartnerClerkVO();
BeanUtil.copyProperties(clerkDO, clerkVO);
return clerkVO;
}).collect(Collectors.toList());
return clerkVOList;
}
}

View File

@@ -1,27 +1,35 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import cn.hutool.core.bean.BeanUtil;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerBaseInfoDAO;
import com.cool.store.dao.HyPartnerIntentInfoDAO; import com.cool.store.dao.HyPartnerIntentInfoDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
import com.cool.store.entity.HyPartnerIntentInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.WorkflowStageEnum; import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.PartnerIntentInfoRequest;
import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.service.HyPartnerIntentInfoService;
import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentApplyInfoVO;
import com.cool.store.vo.PartnerIntentInfoVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -50,7 +58,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
workflowStatus = WorkflowStatusEnum.RESERVATION_0.getCode(); workflowStatus = WorkflowStatusEnum.RESERVATION_0.getCode();
} }
if (CommonConstants.FOLLOW.equals(type)) { if (CommonConstants.FOLLOW.equals(type)) {
workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode(); workflowStatus = WorkflowStatusEnum.INTERVIEW_5.getCode();
} }
PageHelper.startPage(pageNumber,pageSize); PageHelper.startPage(pageNumber,pageSize);
PageInfo partnerIntentApplyInfo = hyPartnerIntentInfoDAO.selectPartnerIntentApplyInfoList(userId, WorkflowStageEnum.INTENT.getCode(), workflowStatus); PageInfo partnerIntentApplyInfo = hyPartnerIntentInfoDAO.selectPartnerIntentApplyInfoList(userId, WorkflowStageEnum.INTENT.getCode(), workflowStatus);
@@ -73,17 +81,6 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
return partnerIntentApplyInfo; return partnerIntentApplyInfo;
} }
@Override
public PartnerIntentApplyInfoVO getPartnerIntentApplyInfo(Long lineId) {
PartnerIntentApplyInfoDTO partnerIntentApplyInfoDTO= hyPartnerIntentInfoDAO.selectByLineId(lineId);
PartnerIntentApplyInfoVO partnerIntentApplyInfoVO = partnerIntentApplyInfoDTOToVo(partnerIntentApplyInfoDTO);
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerIntentApplyInfoDTO.getPartnerId());
partnerIntentApplyInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername());
partnerIntentApplyInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile());
//todo su 手机号归属地 意向申请区域名称
return partnerIntentApplyInfoVO;
}
@Override @Override
public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) { public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) {
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId())); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId()));
@@ -102,6 +99,68 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
return Boolean.TRUE; return Boolean.TRUE;
} }
@Override
public PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId) {
HyPartnerIntentInfoDO hyPartnerIntentInfoDO= hyPartnerIntentInfoDAO.selectByLineId(lineId);
PartnerIntentInfoVO partnerIntentInfoVO = convertPartnerIntentApplyInfoDOToVO(hyPartnerIntentInfoDO);
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerIntentInfoDO.getPartnerId());
partnerIntentInfoVO.setPartnerUserName(hyPartnerUserInfoDO.getUsername());
partnerIntentInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile());
//todo su 手机号归属地 意向申请区域名称
return partnerIntentInfoVO;
}
@Override
public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) {
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
if(intentInfoDO == null){
intentInfoDO = new HyPartnerIntentInfoDO();
fillIntentInfo(intentInfoDO, request);
hyPartnerIntentInfoDAO.insertSelective(intentInfoDO);
}else {
fillIntentInfo(intentInfoDO, request);
hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO);
}
return true;
}
@Override
public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) {
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId);
if (intentInfoDO == null){
throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST);
}
PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO();
BeanUtil.copyProperties(intentInfoDO, intentInfoVO);
return intentInfoVO;
}
private void fillIntentInfo(HyPartnerIntentInfoDO intentInfoDO, PartnerIntentInfoRequest request) {
intentInfoDO.setPartnerId(request.getPartnerId());
intentInfoDO.setPartnerLineId(request.getPartnerLineId());
intentInfoDO.setLiveArea(request.getLiveArea());
intentInfoDO.setWantShopArea(request.getWantShopArea());
intentInfoDO.setAcceptAdjustType(request.getAcceptAdjustType());
intentInfoDO.setIsHaveWantShop(request.getIsHaveWantShop());
intentInfoDO.setWantShopInfo(request.getWantShopInfo());
intentInfoDO.setMaxBudget(request.getMaxBudget());
intentInfoDO.setMoneySource(request.getMoneySource());
intentInfoDO.setMoneyProve(String.join(",", request.getMoneyProve()));
intentInfoDO.setEducation(request.getEducation());
intentInfoDO.setWorkYear(request.getWorkYear());
intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp());
intentInfoDO.setWorkExp(request.getWorkExp());
intentInfoDO.setIsConsumer(request.getIsConsumer());
intentInfoDO.setOtherBand(request.getOtherBand());
intentInfoDO.setBrandStrength(request.getBrandStrength());
intentInfoDO.setNeedImprove(request.getNeedImprove());
intentInfoDO.setStrength(request.getStrength());
intentInfoDO.setWeakness(request.getWeakness());
}
/** /**
* partnerIntentApplyInfoDTOToVo * partnerIntentApplyInfoDTOToVo
* @param partnerIntentApplyInfoDTO * @param partnerIntentApplyInfoDTO
@@ -121,4 +180,37 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
} }
/**
*
* @param hyPartnerIntentInfoDO
* @return
*/
private PartnerIntentInfoVO convertPartnerIntentApplyInfoDOToVO(HyPartnerIntentInfoDO hyPartnerIntentInfoDO){
PartnerIntentInfoVO partnerIntentInfoVO = new PartnerIntentInfoVO();
partnerIntentInfoVO.setId(hyPartnerIntentInfoDO.getId());
partnerIntentInfoVO.setPartnerId(hyPartnerIntentInfoDO.getPartnerId());
partnerIntentInfoVO.setPartnerLineId(hyPartnerIntentInfoDO.getPartnerLineId());
partnerIntentInfoVO.setAcceptAdjustType(hyPartnerIntentInfoDO.getAcceptAdjustType());
partnerIntentInfoVO.setLiveArea(hyPartnerIntentInfoDO.getLiveArea());
partnerIntentInfoVO.setWantShopArea(hyPartnerIntentInfoDO.getWantShopArea());
partnerIntentInfoVO.setEducation(hyPartnerIntentInfoDO.getEducation());
partnerIntentInfoVO.setMaxBudget(hyPartnerIntentInfoDO.getMaxBudget());
partnerIntentInfoVO.setBrandStrength(hyPartnerIntentInfoDO.getBrandStrength());
partnerIntentInfoVO.setIsConsumer(hyPartnerIntentInfoDO.getIsConsumer());
partnerIntentInfoVO.setIsHaveWantShop(hyPartnerIntentInfoDO.getIsHaveWantShop());
partnerIntentInfoVO.setIsHaveWorkExp(hyPartnerIntentInfoDO.getIsHaveWorkExp());
partnerIntentInfoVO.setMoneyProve(StringUtil.isEmpty(hyPartnerIntentInfoDO.getMoneyProve())?
Lists.newArrayList(): JSONObject.parseArray(hyPartnerIntentInfoDO.getMoneyProve(),String.class));
partnerIntentInfoVO.setMoneySource(hyPartnerIntentInfoDO.getMoneySource());
partnerIntentInfoVO.setWorkYear(hyPartnerIntentInfoDO.getWorkYear());
partnerIntentInfoVO.setWeakness(hyPartnerIntentInfoDO.getWeakness());
partnerIntentInfoVO.setCreateTime(hyPartnerIntentInfoDO.getCreateTime());
partnerIntentInfoVO.setOtherBand(hyPartnerIntentInfoDO.getOtherBand());
partnerIntentInfoVO.setStrength(hyPartnerIntentInfoDO.getStrength());
partnerIntentInfoVO.setNeedImprove(hyPartnerIntentInfoDO.getNeedImprove());
return partnerIntentInfoVO;
}
} }

View File

@@ -84,10 +84,10 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
public PageInfo<PartnerInterviewInfoVO> getQualifiedInterviewList(String userId, String type, Integer pageSize, Integer pageNumber) { public PageInfo<PartnerInterviewInfoVO> getQualifiedInterviewList(String userId, String type, Integer pageSize, Integer pageNumber) {
String workflowStatus = ""; String workflowStatus = "";
if (CommonConstants.PENDING.equals(type)) { if (CommonConstants.PENDING.equals(type)) {
workflowStatus = WorkflowStatusEnum.INTERVIEW_3.getCode(); workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode();
} }
if (CommonConstants.FOLLOW.equals(type)) { if (CommonConstants.FOLLOW.equals(type)) {
workflowStatus = WorkflowStatusEnum.INTERVIEW_4.getCode(); workflowStatus = WorkflowStatusEnum.INTERVIEW_5.getCode();
} }
PageHelper.startPage(pageNumber,pageSize); PageHelper.startPage(pageNumber,pageSize);

View File

@@ -2,11 +2,12 @@ package com.cool.store.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.dto.partner.PartnerBlackListDTO; import com.cool.store.dao.UserRegionMappingDAO;
import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.*;
import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
@@ -16,24 +17,20 @@ import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest; import com.cool.store.request.LineRequest;
import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.vo.BlackListVO; import com.cool.store.vo.*;
import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO;
import com.cool.store.vo.PartnerLineInfoVO;
import com.cool.store.vo.StageCountVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -48,6 +45,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
HyPartnerLineInfoDAO hyPartnerLineInfoDAO; HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource @Resource
HyPartnerUserInfoDAO hyPartnerUserInfoDAO; HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
@Resource
EnterpriseUserDAO enterpriseUserDAO;
@Resource
UserRegionMappingDAO userRegionMappingDAO;
@Override @Override
public StageCountVO selectStagePendingCount(String userId) { public StageCountVO selectStagePendingCount(String userId) {
@@ -138,7 +139,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override @Override
public PageInfo<BlackListVO> getBlackList(LineRequest LineRequest) { public PageInfo<BlackListVO> getBlackList(LineRequest LineRequest) {
PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize()); PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize());
PageInfo blackListDTOPageInfo = hyPartnerLineInfoDAO.getBlackList(LineRequest.getKeyWord(), LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType()); PageInfo blackListDTOPageInfo = hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType());
List<PartnerBlackListDTO> list = blackListDTOPageInfo.getList(); List<PartnerBlackListDTO> list = blackListDTOPageInfo.getList();
List<BlackListVO> result = new ArrayList<>(); List<BlackListVO> result = new ArrayList<>();
list.stream().forEach(x->{ list.stream().forEach(x->{
@@ -228,6 +229,68 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
return Boolean.TRUE; return Boolean.TRUE;
} }
@Override
public PageInfo<PublicSeaLineListVo> publicSeaLineList(String userId, LineRequest lineRequest) {
//确认是招商经理还是部门负责人
EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(userId);
List<String> userIds = new ArrayList<>();
if (userInfo.getIsLeader()){
if (StringUtil.isNotEmpty(userInfo.getLeaderDeptIds())){
List<String> regionIds = JSONObject.parseArray(userInfo.getLeaderDeptIds(), String.class);
List<EnterpriseUserDO> enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(regionIds, null, true);
userIds =enterpriseUserDOS.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
}
}else {
userIds = Arrays.asList(userId);
}
PageHelper.startPage(lineRequest.getPageNum(),lineRequest.getPageSize());
PageInfo publicSeaLineList = hyPartnerLineInfoDAO.getPublicSeaLineList(lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(),
lineRequest.getIntentArea(), lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), userIds);
List<PublicSeaLineDTO> list = publicSeaLineList.getList();
if (CollectionUtils.isEmpty(list)){
return new PageInfo<>();
}
//上一次结束的线索
List<String> partnerIdList = list.stream().map(PublicSeaLineDTO::getPartnerId).collect(Collectors.toList());
List<HyPartnerLineInfoDO> partnerLastLine = hyPartnerLineInfoDAO.getPartnerLastLine(partnerIdList);
List<String> investmentManagerIds = partnerLastLine.stream().map(HyPartnerLineInfoDO::getInvestmentManager).collect(Collectors.toList());
List<EnterpriseUserDO> userInfoList = enterpriseUserDAO.getUserInfoByUserIds(investmentManagerIds);
Map<String, String> mobileMap = userInfoList.stream().filter(x ->
StringUtil.isNotEmpty(x.getMobile())).collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getMobile));
Map<String, HyPartnerLineInfoDO> hyPartnerLineInfoDOMap = partnerLastLine.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getPartnerId, data -> data));
List<LineCountDTO> followCountList = hyPartnerLineInfoDAO.getFollowCountList(partnerIdList);
Map<String, Integer> countMap = followCountList.stream().collect(Collectors.toMap(LineCountDTO::getPartnerId, LineCountDTO::getFollowCount));
List<PublicSeaLineListVo> result = new ArrayList<>();
list.forEach(x->{
PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo();
publicSeaLineListVo.setPartnerId(x.getPartnerId());
publicSeaLineListVo.setCreateTime(x.getCreateTime());
publicSeaLineListVo.setPartnerUserName(x.getUserName());
publicSeaLineListVo.setPartnerUserPhone(x.getMobile());
// TODO: 2023/6/15 手机号归属地
publicSeaLineListVo.setPhoneAddress("");
publicSeaLineListVo.setWantShopArea(x.getWantShopArea());
publicSeaLineListVo.setId(x.getLineId());
publicSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType());
publicSeaLineListVo.setFollowCount(countMap.getOrDefault(x.getPartnerId(),0));
HyPartnerLineInfoDO hy = hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerId(), new HyPartnerLineInfoDO());
publicSeaLineListVo.setRejectPublicReason(hy.getRejectPublicReason());
publicSeaLineListVo.setRejectRealReason(hy.getRejectRealReason());
publicSeaLineListVo.setLastCloseDate(hy.getCloseTime());
publicSeaLineListVo.setLastInvestmentManager(hy.getInvestmentManager());
publicSeaLineListVo.setPartnerUserPhone(mobileMap.get(hy.getInvestmentManager()));
result.add(publicSeaLineListVo);
});
publicSeaLineList.setList(result);
return publicSeaLineList;
}
/** /**
* convertPartnerBlackListDTOToVo * convertPartnerBlackListDTOToVo
* @param partnerBlackListDTO * @param partnerBlackListDTO

View File

@@ -2,8 +2,11 @@ package com.cool.store.service.impl;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.entity.HyPartnerInterviewDO; import com.cool.store.entity.HyPartnerInterviewDO;
import com.cool.store.entity.HyPartnerInterviewPlanDO; import com.cool.store.entity.HyPartnerInterviewPlanDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper; import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
import com.cool.store.request.EntrustOthersReq; import com.cool.store.request.EntrustOthersReq;
@@ -11,10 +14,14 @@ import com.cool.store.request.FinishInterviewReq;
import com.cool.store.request.GetInterviewListReq; import com.cool.store.request.GetInterviewListReq;
import com.cool.store.request.ModifyInterviewTimeReq; import com.cool.store.request.ModifyInterviewTimeReq;
import com.cool.store.service.InterviewService; import com.cool.store.service.InterviewService;
import com.cool.store.utils.TRTCUtils;
import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.interview.InterviewVO; import com.cool.store.vo.interview.InterviewVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@@ -28,9 +35,18 @@ import java.util.List;
@Service @Service
public class InterviewServiceImpl implements InterviewService { public class InterviewServiceImpl implements InterviewService {
@Value("${trtc.sdkAppId}")
private Long sdkAppId;
@Value("${trtc.secretKey}")
private String key;
@Autowired @Autowired
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper; private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
@Autowired
private HyPartnerInterviewMapper interviewMapper;
@Autowired @Autowired
private HyPartnerInterviewMapper hyPartnerInterviewMapper; private HyPartnerInterviewMapper hyPartnerInterviewMapper;
@Override @Override
@@ -97,6 +113,35 @@ public class InterviewServiceImpl implements InterviewService {
} }
/**
* 进入面试间的方法
* 修改一些面试状态
* 最后返回 userSign 用于进入腾讯云音视频房间
*
* @return userSign 进入视频所需签名
*/
@Override
@Transactional
public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
try {
//1. 将面试状态改为 --> 2已开始
interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2);
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
interviewMapper.updateActualStartTime(dto.getInterviewId(), DateUtil.now());
//4. 修改加盟商或面试官进入面试时间
interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now());
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId());
//6. 查询对应的面试官id、姓名及加盟商姓名
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId());
//生成 userSign
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
vo.setUserSign(userSig);
return vo;
} catch (Exception e) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_ENTER_FAIL);
}
}
} }

View File

@@ -12,13 +12,11 @@ import com.cool.store.vo.OpenAreaVO;
import com.cool.store.vo.OpenProvinceVO; import com.cool.store.vo.OpenProvinceVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -43,6 +41,8 @@ public class OpenAreaServiceImpl implements OpenAreaService {
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag); List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag);
Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet()); Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
List<HyOpenAreaInfoDO> result = new ArrayList<>();
result.addAll(hyOpenAreaInfoDOS);
hyOpenAreaInfoDOS.stream().forEach(x->{ hyOpenAreaInfoDOS.stream().forEach(x->{
Long parentId = x.getParentId(); Long parentId = x.getParentId();
@@ -50,10 +50,57 @@ public class OpenAreaServiceImpl implements OpenAreaService {
//添加到集合中 //添加到集合中
longSet.add(x.getParentId()); longSet.add(x.getParentId());
HyOpenAreaInfoDO hyOpenAreaInfoDO = longHyOpenAreaInfoDOMap.get(parentId); HyOpenAreaInfoDO hyOpenAreaInfoDO = longHyOpenAreaInfoDOMap.get(parentId);
hyOpenAreaInfoDOS.add(hyOpenAreaInfoDO); result.add(hyOpenAreaInfoDO);
} }
}); });
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(result)), "id", "parentId","childNode" );
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
return openAreaTreeVOS;
}
@Override
public List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword, Boolean flag) {
//先查出所有的一级菜单
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag);
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
Set list = new HashSet();
hyOpenAreaInfoDOS.stream().forEach(x->{
Long parentId = x.getParentId();
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId);
if (hyOpenAreaInfoDO==null&&parentId!=null){
//添加到集合中
list.add(x.getParentId());
}
});
if (CollectionUtils.isNotEmpty(list)){
//二级采单
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByIdsExcludeFirstLevel(new ArrayList<>(list));
hyOpenAreaInfoDOS.addAll(hyOpenAreaInfoDOList);
//如果二级采单是空 说明list全部是一级采单
if (CollectionUtils.isEmpty(hyOpenAreaInfoDOList)){
list.stream().forEach(x->{
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(x);
if (hyOpenAreaInfoDO==null){
hyOpenAreaInfoDOS.add(longHyOpenAreaInfoDOMap.get(x));
}
});
}
hyOpenAreaInfoDOList.stream().forEach(x->{
Long parentId = x.getParentId();
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId);
if (hyOpenAreaInfoDO==null){
HyOpenAreaInfoDO infoDO = longHyOpenAreaInfoDOMap.get(parentId);
hyOpenAreaInfoDOS.add(infoDO);
}
});
}
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" ); JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class); List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
return openAreaTreeVOS; return openAreaTreeVOS;

View File

@@ -2,16 +2,16 @@ package com.cool.store.service.impl;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.ObjectUtil;
import com.cool.store.dto.partner.EnterInterviewDto; import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.HyPartnerInterviewMapper; import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.oss.OSSServer;
import com.cool.store.service.PartnerInterviewService; import com.cool.store.service.PartnerInterviewService;
import com.cool.store.utils.PDFUtils;
import com.cool.store.utils.PassLetterUtils; import com.cool.store.utils.PassLetterUtils;
import com.cool.store.utils.TRTCUtils; import com.cool.store.utils.TRTCUtils;
import com.cool.store.vo.PartnerEnterInterviewVO; import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.PartnerInterviewInfoVO; import com.cool.store.vo.PartnerInterviewInfoVO;
import com.cool.store.vo.PartnerPassLetterDetailVO; import com.cool.store.vo.PartnerPassLetterDetailVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -19,8 +19,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.io.ByteArrayOutputStream; import java.io.*;
import java.io.OutputStream;
@Service @Service
public class PartnerInterviewServiceImpl implements PartnerInterviewService { public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@@ -28,6 +27,9 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@Autowired @Autowired
private HyPartnerInterviewMapper interviewMapper; private HyPartnerInterviewMapper interviewMapper;
@Autowired
private OSSServer ossServer;
@Value("${trtc.sdkAppId}") @Value("${trtc.sdkAppId}")
private Long sdkAppId; private Long sdkAppId;
@@ -54,7 +56,7 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
*/ */
@Override @Override
@Transactional @Transactional
public PartnerEnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) { public EnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
try { try {
//1. 将面试状态改为 --> 2已开始 //1. 将面试状态改为 --> 2已开始
interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2); interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2);
@@ -64,13 +66,11 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now()); interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now());
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段 //5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId()); interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId());
//6. 查询对应的面试官id //6. 查询对应的面试官id、姓名及加盟商姓名
String interviewId = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId()); EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId());
//生成 userSign //生成 userSign
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId()); String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
PartnerEnterInterviewVO vo = new PartnerEnterInterviewVO();
vo.setUserSign(userSig); vo.setUserSign(userSig);
vo.setInterviewerId(interviewId);
return vo; return vo;
} catch (Exception e) { } catch (Exception e) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_ENTER_FAIL); throw new ServiceException(ErrorCodeEnum.INTERVIEW_ENTER_FAIL);
@@ -84,17 +84,8 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
@Override @Override
public PartnerPassLetterDetailVO passLetterDetail(String interviewId) { public PartnerPassLetterDetailVO passLetterDetail(String interviewId) {
PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewId); PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewId);
//有效期为审批通过次日起第 60 天的 23:59:59由此倒推 createTime
DateTime expiryDate = DateUtil.parseDate(vo.getExpiryDate());
DateTime createTime = DateUtil.offsetDay(expiryDate, -61);
vo.setCreateTime(DateUtil.format(createTime, "yyyy-MM-dd"));
//解析意向开店区域为市级行政区 //解析意向开店区域为市级行政区
String verifyCity = vo.getVerifyCity(); String verifyCity = vo.getVerifyCity();
if (verifyCity == null) {
String passCode = PassLetterUtils.genPassLetter(vo.getPartnerName(), verifyCity, vo.getPassCode(), createTime);
vo.setPassCode(passCode);
return vo;
}
String[] split = verifyCity.split("/"); String[] split = verifyCity.split("/");
//根据长度来取市级行政区域 //根据长度来取市级行政区域
if (split.length == 2) { if (split.length == 2) {
@@ -106,9 +97,35 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
} else { } else {
System.out.println("wrong"); System.out.println("wrong");
} }
String passCode = PassLetterUtils.genPassLetter(vo.getPartnerName(), verifyCity, vo.getPassCode(), createTime); // TODO 调用生成通过函和修改数据库数据的方法
vo.setPassCode(passCode); String passCode = genPassLetterAndUpdateDB(vo, interviewId);
//再查一次 vo
vo = interviewMapper.getPassLetterDetail(interviewId);
//有效期为审批通过次日起第 60 天的 23:59:59由此倒推 createTime
DateTime expiryDate = DateUtil.parseDate(vo.getExpiryDate());
DateTime createTime = DateUtil.offsetDay(expiryDate, -60);
vo.setCreateTime(DateUtil.format(createTime, "yyyy-MM-dd"));
return vo; return vo;
} }
/**
* TODO 暂时将生成 passLetter 并上传 OSS 和修改数据库对应信息的方法放在这里,实际应该在 800 的回调方法中
* @return passCode
*/
private String genPassLetterAndUpdateDB(PartnerPassLetterDetailVO passLetterDetail, String interviewId) {
//已经有 passCode 的话就不要再生成了,默认上游全部数据都正确
if (ObjectUtil.isEmpty(passLetterDetail.getPassCode())) {
DateTime createTime = DateUtil.date();
String code = passLetterDetail.getPassCode() == null ? PassLetterUtils.genPassCode(createTime) : passLetterDetail.getPassCode();
ByteArrayOutputStream outputStream = PassLetterUtils.genPassLetter(passLetterDetail.getPartnerName(), code, passLetterDetail.getVerifyCity(), createTime);
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
String passFileUrl = ossServer.uploadFileServer(inputStream, "partner/passLetter/" + code + ".pdf");
//计算有效期截至日期
DateTime expiryDate = DateUtil.offsetDay(createTime, 60);
String expiryDateStr = DateUtil.format(expiryDate, "yyyy-MM-dd") + " 23:59:59";
interviewMapper.updatePassLetterInfo(code, passFileUrl, expiryDateStr, interviewId);
}
return passLetterDetail.getPassCode();
}
} }

View File

@@ -1,6 +1,10 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.service.PartnerUserInfoService; import com.cool.store.service.PartnerUserInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -11,4 +15,27 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
@Autowired @Autowired
private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; private HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
@Override
public HyPartnerUserInfoDO selectByPartnerId(String partnerId) {
return hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
}
@Override
public Boolean queryJoinNotice(String partnerId) {
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
if (hyPartnerUserInfoDO==null){
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
}
return hyPartnerUserInfoDO.getIsWritePartnerKnow() == 1;
}
@Override
public Boolean completeJoinNotice(String partnerId) {
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
if (hyPartnerUserInfoDO == null){
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
}
hyPartnerUserInfoDAO.updateJoinKnowById(CommonConstants.ONE, hyPartnerUserInfoDO.getId());
return true;
}
} }

View File

@@ -201,13 +201,26 @@ public class ZoneServiceImpl implements ZoneService {
List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList()); List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList());
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList); List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList);
Map<Long, String> areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName)); Map<Long, String> areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName));
List<ZoneCheckVO> reslut = new ArrayList<>(); List<ZoneCheckVO> result = new ArrayList<>();
list.forEach(x->{ list.forEach(x->{
ZoneCheckVO zoneCheckVO = new ZoneCheckVO(); ZoneCheckVO zoneCheckVO = new ZoneCheckVO();
zoneCheckVO.setZoneName(x.getZoneName()); zoneCheckVO.setZoneName(x.getZoneName());
String areaName = areaNameMap.get(x.getOpenAreaMappingId()); String areaName = areaNameMap.get(x.getOpenAreaMappingId());
zoneCheckVO.setAreaName(areaName); zoneCheckVO.setAreaName(areaName);
result.add(zoneCheckVO);
}); });
return reslut; return result;
} }
@Override
public List<String> queryAllBingZoneRegionList(String type) {
PageInfo<HyIntendDevZoneInfoDO> intend = hyIntendDevZoneInfoDAO.getHyIntendDevZoneInfoList(type);
List<HyIntendDevZoneInfoDO> list = intend.getList();
List<String> resultList = list.stream().filter(x->StringUtil.isNotEmpty(x.getAssociatedRegionId()))
.flatMap(HyIntendDevZoneInfoDO -> JSONObject.parseArray(HyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class).stream())
.collect(Collectors.toList());
return resultList;
}
} }

View File

@@ -106,6 +106,19 @@
<orderEntry type="library" name="Maven: io.netty:netty-all:4.1.48.Final" level="project" /> <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.48.Final" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" /> <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.groovy:groovy:2.5.10" level="project" /> <orderEntry type="library" name="Maven: org.codehaus.groovy:groovy:2.5.10" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:dytnsapi20200217:1.0.28" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:ocr20191230:1.0.26" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:openplatform20191219:5.0.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:oss-client:3.0.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-xml:0.1.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-rpc-util:0.1.2" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-rpc:0.1.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:oss-util:1.0.2" level="project" />
<orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-fileform:0.0.3" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:darabonba-array:0.1.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:darabonba-number:0.0.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.6.RELEASE" level="project" />

View File

@@ -0,0 +1,41 @@
package com.cool.store.controller;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.HyPartnerClerkService;
import com.cool.store.vo.PartnerClerkVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 11:13
* @Version 1.0
*/
@RestController
@Slf4j
public class ClerkController {
@Resource
HyPartnerClerkService hyPartnerClerkService;
@GetMapping(path = "/queryPartnerClerkInfoList")
@ApiOperation("根据线索ID 查询店员列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
})
public ResponseResult<List<PartnerClerkVO>> queryPartnerClerkInfoList(@RequestParam(value = "lineId",required = false)Long lineId){
return ResponseResult.success(hyPartnerClerkService.getPartnerClerkList(lineId));
}
}

View File

@@ -32,14 +32,16 @@ public class ContentController {
@PostMapping("/delete") @PostMapping("/delete")
@ApiOperation("删除动态") @ApiOperation("删除动态")
public void deleteContent(@RequestParam(value = "contentId") String contentId) { public ResponseResult deleteContent(@RequestParam(value = "contentId") String contentId) {
contentService.deleteContent(contentId); contentService.deleteContent(contentId);
return ResponseResult.success();
} }
@PostMapping("/modify") @PostMapping("/modify")
@ApiOperation("修改动态") @ApiOperation("修改动态")
public void updateContent(@RequestBody ContentUpdateDto dto) { public ResponseResult updateContent(@RequestBody ContentUpdateDto dto) {
contentService.updateContent(dto); contentService.updateContent(dto);
return ResponseResult.success();
} }
@PostMapping("/queryContentList") @PostMapping("/queryContentList")

View File

@@ -1,6 +1,10 @@
package com.cool.store.controller; package com.cool.store.controller;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.dto.calendar.UserCalendarsEventDTO;
import com.cool.store.enums.LineStatusEnum; import com.cool.store.enums.LineStatusEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.request.*; import com.cool.store.request.*;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.*; import com.cool.store.service.*;
@@ -36,34 +40,55 @@ public class DeskController {
@Resource @Resource
HyPartnerBaseInfoService hyPartnerBaseInfoService; HyPartnerBaseInfoService hyPartnerBaseInfoService;
@Resource @Resource
OpenAreaService openAreaService; private ISVHttpRequest isvHttpRequest;
@Resource
EnterpriseUserService enterpriseUserService;
@GetMapping(path = "/interviewSchedule") @GetMapping(path = "/interviewSchedule")
@ApiOperation("面试日程信息 面试信息有限 不做分页") @ApiOperation("面试日程信息 面试信息有限 不做分页")
public ResponseResult<InterviewScheduleInfoVO> interviewSchedule(@RequestParam(value = "userId",required = false) String userId, public ResponseResult<InterviewScheduleInfoVO> interviewSchedule(@RequestParam(value = "selectedData",required = false) Date selectedData){
@RequestParam(value = "selectedData",required = false) Date selectedData){
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(deskService.interviewSchedule(userId,selectedData)); return ResponseResult.success(deskService.interviewSchedule(userId,selectedData));
} }
@GetMapping(path = "/getInvestmentManagerList")
@ApiOperation("招商经理")
@ApiImplicitParams({
@ApiImplicitParam(name = "type", value = "allocation-招商经理 transfer", required = false),
@ApiImplicitParam(name = "keyword", value = "keyword", required = false),
})
public ResponseResult<List<EnterpriseUserSingleInfoVO>> getInvestmentManagerList(String type,String keyword){
return ResponseResult.success(enterpriseUserService.getInvestmentManagerList(type,CurrentUserHolder.getUserId(),keyword));
}
@GetMapping(path = "/getUserCalendarsEvents")
@ApiOperation("飞书日程信息")
public ResponseResult<List<UserCalendarsEventDTO>> getUserCalendarsEvents(@RequestParam(value = "startTime",required = true) Long startTime,
@RequestParam(value = "endTime",required = true) Long endTime) throws ApiException {
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(isvHttpRequest.getUserCalendarsEvents(userId,startTime,endTime));
}
@GetMapping(path = "/queryStageCount") @GetMapping(path = "/queryStageCount")
@ApiOperation("招商经理视角====各阶段待处理待跟进数量") @ApiOperation("招商经理视角====各阶段待处理待跟进数量")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "type", value = "类型 待处理-Pending 待跟进-follow", required = false), @ApiImplicitParam(name = "type", value = "类型 待处理-Pending 待跟进-follow", required = false),
}) })
public ResponseResult<StageCountVO> queryStageCount(@RequestParam(value = "type",required = false)String type){ public ResponseResult<StageCountVO> queryStageCount(@RequestParam(value = "type",required = false)String type){
String userId = ""; return ResponseResult.success(deskService.getStageCountByType(CurrentUserHolder.getUserId(),type));
return ResponseResult.success(deskService.getStageCountByType(userId,type));
} }
@GetMapping(path = "/queryInterviewPlan") @GetMapping(path = "/queryInterviewPlan")
@ApiOperation("是否有面试与临期线索") @ApiOperation("是否有面试与临期线索")
@ApiImplicitParams({ public ResponseResult<InterviewPlanVO> queryInterviewPlanVO(){
@ApiImplicitParam(name = "userId", value = "招商经理ID", required = false), String userId = CurrentUserHolder.getUserId();
})
public ResponseResult<InterviewPlanVO> queryInterviewPlanVO(@RequestParam(value = "userId",required = false)String userId){
return ResponseResult.success(deskService.getInterviewPlan(userId)); return ResponseResult.success(deskService.getInterviewPlan(userId));
} }
@@ -78,7 +103,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerIntentApplyInfoVO>> queryIntentApplyList(@RequestParam(value = "type",required = false)String type, public ResponseResult<PageInfo<PartnerIntentApplyInfoVO>> queryIntentApplyList(@RequestParam(value = "type",required = false)String type,
@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, @RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = ""; String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyList(userId,type,pageSize,pageNumber)); return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyList(userId,type,pageSize,pageNumber));
} }
@@ -88,7 +113,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerInterviewInfoVO>> querySubscribeInterviewTimeList(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, public ResponseResult<PageInfo<PartnerInterviewInfoVO>> querySubscribeInterviewTimeList(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = ""; String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerInterviewPlanService.getPartnerInterviewInfoList(userId,pageSize,pageNumber)); return ResponseResult.success(hyPartnerInterviewPlanService.getPartnerInterviewInfoList(userId,pageSize,pageNumber));
} }
@@ -100,7 +125,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerInterviewInfoVO>> queryQualifiedInterviewList(@RequestParam(value = "type",required = false)String type, public ResponseResult<PageInfo<PartnerInterviewInfoVO>> queryQualifiedInterviewList(@RequestParam(value = "type",required = false)String type,
@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, @RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = ""; String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerInterviewPlanService.getQualifiedInterviewList(userId,type,pageSize,pageNumber)); return ResponseResult.success(hyPartnerInterviewPlanService.getQualifiedInterviewList(userId,type,pageSize,pageNumber));
} }
@@ -120,8 +145,8 @@ public class DeskController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false), @ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
}) })
public ResponseResult<PartnerIntentApplyInfoVO> getPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){ public ResponseResult<PartnerIntentInfoVO> getPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){
return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyInfo(lineId)); return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyDetail(lineId));
} }
@@ -158,7 +183,7 @@ public class DeskController {
public ResponseResult<PageInfo<PartnerLineInfoVO>> lastMonthCloseLine(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, public ResponseResult<PageInfo<PartnerLineInfoVO>> lastMonthCloseLine(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
String userId = ""; String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(hyPartnerLineInfoService.lastMonthCloseLine(userId,pageSize,pageNumber)); return ResponseResult.success(hyPartnerLineInfoService.lastMonthCloseLine(userId,pageSize,pageNumber));
} }
@@ -178,7 +203,6 @@ public class DeskController {
} }
@PostMapping(path = "/queryPublicSeqLineList") @PostMapping(path = "/queryPublicSeqLineList")
@ApiOperation("公海列表") @ApiOperation("公海列表")
public ResponseResult<PageInfo<PublicSeaLineListVo>> queryPublicSeaLineList(@RequestBody LineRequest LineRequest){ public ResponseResult<PageInfo<PublicSeaLineListVo>> queryPublicSeaLineList(@RequestBody LineRequest LineRequest){
@@ -187,8 +211,6 @@ public class DeskController {
} }
@PostMapping(path = "/queryPrivateSeaLineList") @PostMapping(path = "/queryPrivateSeaLineList")
@ApiOperation("私海列表") @ApiOperation("私海列表")
public ResponseResult<PageInfo<PrivateSeaLineListVo>> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){ public ResponseResult<PageInfo<PrivateSeaLineListVo>> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){
@@ -196,8 +218,6 @@ public class DeskController {
return ResponseResult.success(); return ResponseResult.success();
} }
@PostMapping(path = "/queryBlackList") @PostMapping(path = "/queryBlackList")
@ApiOperation("黑名单列表") @ApiOperation("黑名单列表")
public ResponseResult<PageInfo<BlackListVO>> queryBlackList(@RequestBody LineRequest LineRequest){ public ResponseResult<PageInfo<BlackListVO>> queryBlackList(@RequestBody LineRequest LineRequest){
@@ -224,9 +244,7 @@ public class DeskController {
@PostMapping(path = "/closeOrPassFollow") @PostMapping(path = "/closeOrPassFollow")
@ApiOperation("意向申请审核 结束跟进/通过流程") @ApiOperation("意向申请审核 结束跟进/通过流程")
public ResponseResult<Boolean> closeOrPassFollow(@RequestBody CloseFollowRequest closeFollowRequest){ public ResponseResult<Boolean> closeOrPassFollow(@RequestBody CloseFollowRequest closeFollowRequest){
return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(CurrentUserHolder.getUserId(),closeFollowRequest));
String userId = "";
return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(userId,closeFollowRequest));
} }
@PostMapping(path = "/changeIntentInfo") @PostMapping(path = "/changeIntentInfo")
@@ -242,56 +260,4 @@ public class DeskController {
return ResponseResult.success(hyPartnerBaseInfoService.addTags(addTagsRequest)); return ResponseResult.success(hyPartnerBaseInfoService.addTags(addTagsRequest));
} }
// TODO: 2023/6/13 添加根据线索查询店员接口列表接口
// @GetMapping(path = "/queryPartnerIntentApplyInfo")
// @ApiOperation("查看意向审核信息")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
// })
// public ResponseResult<PartnerSummaryInfoVO> queryPartnerIntentApplyInfo(@RequestParam(value = "lineId",required = false)Long lineId){
//
// return ResponseResult.success();
// }
@GetMapping(path = "/getOpenAreaTree")
@ApiOperation("开放城市树-搜索城市")
@ApiImplicitParams({
@ApiImplicitParam(name = "keyWord", value = "搜索关键字", required = false)
})
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaTree(@RequestParam(value = "keyWord",required = false)String keyWord){
return ResponseResult.success(openAreaService.queryByKeyword(keyWord,Boolean.TRUE));
}
@GetMapping(path = "/getOpenAreaList")
@ApiOperation("开放城市树-子列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "parentId", value = "父区域名称", required = false),
@ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false)
})
public ResponseResult<List<OpenAreaVO>> getOpenAreaList(@RequestParam(value = "parentId",required = false)Long parentId,
@RequestParam(value = "type",required = false)String type){
return ResponseResult.success(openAreaService.getChildrenList(type,parentId));
}
@PostMapping(path = "/changeOpenAreaStatus")
@ApiOperation("变更开放区域状态")
public ResponseResult<Boolean> changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){
String userId = "";
return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest));
}
} }

View File

@@ -1,8 +1,10 @@
package com.cool.store.controller; package com.cool.store.controller;
import com.cool.store.dto.partner.EnterInterviewDto;
import com.cool.store.request.*; import com.cool.store.request.*;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.InterviewService; import com.cool.store.service.InterviewService;
import com.cool.store.vo.EnterInterviewVO;
import com.cool.store.vo.interview.InterviewVO; import com.cool.store.vo.interview.InterviewVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
@@ -65,6 +67,10 @@ public class InterviewController {
return ResponseResult.success(); return ResponseResult.success();
} }
@PostMapping("/enter")
@ApiOperation("进入面试间")
public ResponseResult<EnterInterviewVO> enterInterviewRoom(@RequestBody EnterInterviewDto dto) {
return ResponseResult.success(interviewService.enterInterviewRoom(dto));
}
} }

View File

@@ -0,0 +1,67 @@
package com.cool.store.controller;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.request.OpenAreaRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.OpenAreaService;
import com.cool.store.vo.OpenAreaTreeVO;
import com.cool.store.vo.OpenAreaVO;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2023/6/15 9:49
* @Version 1.0
*/
@RestController
public class OpenAreaController {
@Resource
OpenAreaService openAreaService;
@GetMapping(path = "/getOpenAreaTree")
@ApiOperation("开放城市树-搜索城市 到第二节点")
@ApiImplicitParams({
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false)
})
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){
return ResponseResult.success(openAreaService.queryByKeyword(keyword,Boolean.TRUE));
}
@GetMapping(path = "/getAllOpenAreaTree")
@ApiOperation("开放城市树-所有节点")
@ApiImplicitParams({
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false)
})
public ResponseResult<List<OpenAreaTreeVO>> getAllOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){
return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE));
}
@GetMapping(path = "/getOpenAreaList")
@ApiOperation("开放城市树-子列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "parentId", value = "父区域名称", required = false),
@ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false)
})
public ResponseResult<List<OpenAreaVO>> getOpenAreaList(@RequestParam(value = "parentId",required = false)Long parentId,
@RequestParam(value = "type",required = false)String type){
return ResponseResult.success(openAreaService.getChildrenList(type,parentId));
}
@PostMapping(path = "/changeOpenAreaStatus")
@ApiOperation("变更开放区域状态")
public ResponseResult<Boolean> changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){
String userId = CurrentUserHolder.getUserId();
return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest));
}
}

View File

@@ -2,11 +2,16 @@ package com.cool.store.controller;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.RegionService; import com.cool.store.service.RegionService;
import com.cool.store.service.ZoneService;
import com.cool.store.vo.region.RegionBaseInfoVO; import com.cool.store.vo.region.RegionBaseInfoVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -28,6 +33,8 @@ public class RegionController {
@Resource @Resource
private RegionService regionService; private RegionService regionService;
@Resource
ZoneService zoneService;
@GetMapping("/getRegionList") @GetMapping("/getRegionList")
public ResponseResult<List<RegionBaseInfoVO>> getRegionBaseInfoList(){ public ResponseResult<List<RegionBaseInfoVO>> getRegionBaseInfoList(){
@@ -36,4 +43,13 @@ public class RegionController {
} }
@ApiOperation("查询所有被绑定战区的组织机构")
@ApiImplicitParams({
@ApiImplicitParam(name = "type", value = "intent-意向区域 development 开发区域", required = false)
})
@GetMapping("/queryAllBingZoneRegionList")
public ResponseResult<List<String>> queryAllBingZoneRegionList(@RequestParam(value = "type",required = false)String type){
return ResponseResult.success(zoneService.queryAllBingZoneRegionList(type));
}
} }

View File

@@ -1,26 +1,29 @@
package com.cool.store.controller; package com.cool.store.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dto.calendar.CreateCalendarEventDTO; import com.cool.store.dto.calendar.CreateCalendarEventDTO;
import com.cool.store.dto.calendar.DeleteCalendarEventDTO; import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
import com.cool.store.dto.calendar.UpdateCalendarEventDTO; import com.cool.store.dto.calendar.UpdateCalendarEventDTO;
import com.cool.store.dto.calendar.UserCalendarsEventDTO; import com.cool.store.dto.calendar.UserCalendarsEventDTO;
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
import com.cool.store.dto.response.ResultDTO; import com.cool.store.dto.response.ResultDTO;
import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.enums.RocketMqTagEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ApiException; import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.HyOpenAreaInfoMapper; import com.cool.store.mapper.HyOpenAreaInfoMapper;
import com.cool.store.http.ISVHttpRequest; import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mq.producer.SimpleMessageService;
import com.cool.store.request.AllocationInvestmentManagerRequest;
import com.cool.store.request.City; import com.cool.store.request.City;
import com.cool.store.request.TestRequest; import com.cool.store.request.TestRequest;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.AliyunService;
import com.cool.store.service.EnterpriseSyncService; import com.cool.store.service.EnterpriseSyncService;
import com.cool.store.service.EnterpriseUserService; import com.cool.store.service.EnterpriseUserService;
import com.cool.store.utils.UUIDUtils; import com.cool.store.vo.cuser.IdentityCardInfoVO;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -43,9 +46,13 @@ public class TestController {
@Resource @Resource
private ISVHttpRequest isvHttpRequest; private ISVHttpRequest isvHttpRequest;
@Resource @Resource
HyOpenAreaInfoMapper hyOpenAreaInfoMapper; private HyOpenAreaInfoMapper hyOpenAreaInfoMapper;
@Resource @Resource
private EnterpriseSyncService enterpriseSyncService; private EnterpriseSyncService enterpriseSyncService;
@Resource
private EnterpriseUserDAO enterpriseUserDAO;
@Resource
private AliyunService aliyunService;
@PostMapping("/post") @PostMapping("/post")
public ResponseResult<Boolean> get(@RequestBody List<TestRequest> testRequestList){ public ResponseResult<Boolean> get(@RequestBody List<TestRequest> testRequestList){
@@ -186,4 +193,22 @@ public class TestController {
return ResultDTO.successResult(isvHttpRequest.deleteUserCalendarEvent(param)); return ResultDTO.successResult(isvHttpRequest.deleteUserCalendarEvent(param));
} }
@GetMapping("/user/getUserCalendarsEvents")
public ResultDTO<List<UserCalendarsEventDTO>> getUserCalendarsEvents(@RequestParam("userId") String userId, @RequestParam("startTime") long startTime,
@RequestParam("endTime") long endTime) throws ApiException {
log.info("getUserCalendarsEvents : corpId:{}, appType:{}, userId:{}, startTime:{}, endTime:{}", userId, startTime, endTime);
return ResultDTO.successResult(isvHttpRequest.getUserCalendarsEvents(userId, startTime, endTime));
}
@GetMapping(path = "/getIdentityCardInfo")
@ApiOperation("根据身份证正面解析获取数据")
public ResponseResult<IdentityCardInfoVO> getIdentityCardInfo(@RequestParam(value = "faceImageUrl")String faceImageUrl){
try {
IdentityCardInfoVO identityCardInfo = aliyunService.getIdentityCardInfo(faceImageUrl);
return ResponseResult.success(identityCardInfo);
} catch (Exception e) {
throw new ServiceException(ErrorCodeEnum.IDENTITY_CARD_PARSE_FAIL);
}
}
} }

View File

@@ -4,6 +4,7 @@ import com.cool.store.context.CurrentUserHolder;
import com.cool.store.request.IntentAreaSettingRequest; import com.cool.store.request.IntentAreaSettingRequest;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.ZoneService; import com.cool.store.service.ZoneService;
import com.cool.store.vo.ZoneCheckVO;
import com.cool.store.vo.ZoneVO; import com.cool.store.vo.ZoneVO;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -13,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
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 suzhuhong * @Author suzhuhong
@@ -32,6 +34,12 @@ public class ZoneController {
return ResponseResult.success(zoneService.addZone( CurrentUserHolder.getUserId(),intentAreaSettingRequest)); return ResponseResult.success(zoneService.addZone( CurrentUserHolder.getUserId(),intentAreaSettingRequest));
} }
@PostMapping(path = "/checkZone")
@ApiOperation("校验战区")
public ResponseResult<List<ZoneCheckVO>> checkZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){
return ResponseResult.success(zoneService.checkZone(intentAreaSettingRequest));
}
@PostMapping(path = "/updateZone") @PostMapping(path = "/updateZone")
@ApiOperation("编辑意向战区/开发战区") @ApiOperation("编辑意向战区/开发战区")
public ResponseResult<Boolean> updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){ public ResponseResult<Boolean> updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){

View File

@@ -56,6 +56,11 @@ cdn.url=https://testhsaypic.coolstore.cn
trtc.sdkAppId=1400811820 trtc.sdkAppId=1400811820
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wx6f984e535e571818
weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
signKey=77fea013c3a6459685b83c21a2fc3411
#xxljob配置 #xxljob配置
xxl.job.admin.addresses = http://10.7.53.224:10001/xxl-job-admin xxl.job.admin.addresses = http://10.7.53.224:10001/xxl-job-admin
xxl.job.executor.appname = ${spring.application.name} xxl.job.executor.appname = ${spring.application.name}

View File

@@ -53,6 +53,11 @@ corp.id = 171cddee76471740
trtc.sdkAppId=1400811820 trtc.sdkAppId=1400811820
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wx6f984e535e571818
weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
signKey=77fea013c3a6459685b83c21a2fc3411
#八佰流程配置 #八佰流程配置
hs.mdm.baseUrl=http://172.35.37.52:8080 hs.mdm.baseUrl=http://172.35.37.52:8080

View File

@@ -51,4 +51,9 @@ corp.id = 171cddee76471740
#TRTC #TRTC
trtc.sdkAppId=1400811820 trtc.sdkAppId=1400811820
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wx6f984e535e571818
weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
signKey=d851f2a9ac90474abecdc2fbb148d4d7

View File

@@ -36,7 +36,7 @@ customize_sub_table_size=10
mybatis.configuration.call-setters-on-nulls=true mybatis.configuration.call-setters-on-nulls=true
mybatis.configuration.map-underscore-to-camel-case=true mybatis.configuration.map-underscore-to-camel-case=true
isv.domain = http://localhost:31100 isv.domain = http://localhost:31100/isv
#rocketmq \u914D\u7F6E #rocketmq \u914D\u7F6E
rocketmq.accessKey=zK2oVEz4G1ts23d2 rocketmq.accessKey=zK2oVEz4G1ts23d2
@@ -59,6 +59,11 @@ cdn.url=https://testhsaypic.coolstore.cn
trtc.sdkAppId=1400811820 trtc.sdkAppId=1400811820
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wx6f984e535e571818
weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
signKey=77fea013c3a6459685b83c21a2fc3411
xxl.job.admin.addresses = xxl.job.admin.addresses =
xxl.job.executor.appname = ${spring.application.name} xxl.job.executor.appname = ${spring.application.name}
xxl.job.executor.ip = xxl.job.executor.ip =

View File

@@ -51,4 +51,9 @@ corp.id = 171cddee76471740
#TRTC #TRTC
trtc.sdkAppId=1400811820 trtc.sdkAppId=1400811820
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wx6f984e535e571818
weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
signKey=d851f2a9ac90474abecdc2fbb148d4d7

View File

@@ -51,4 +51,9 @@ corp.id = 171cddee76471740
#TRTC #TRTC
trtc.sdkAppId=1400811820 trtc.sdkAppId=1400811820
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wx6f984e535e571818
weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
signKey=d851f2a9ac90474abecdc2fbb148d4d7

View File

@@ -51,4 +51,9 @@ corp.id = 171cddee76471740
#TRTC #TRTC
trtc.sdkAppId=1400811820 trtc.sdkAppId=1400811820
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219 trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
weixin.appId=wx6f984e535e571818
weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
signKey=77fea013c3a6459685b83c21a2fc3411

View File

@@ -41,7 +41,7 @@
</encoder> </encoder>
</appender> </appender>
<logger name="com.cool.store.mapper" level="DEBUG" additivity="true" /> <logger name="com.cool.store.mapper" level="DEBUG" additivity="true" />
<!--灰度、线上、预防 不输出到console--> <!--灰度、线上、预防 不输出到console-->
<springProfile name="hd,online,pre"> <springProfile name="hd,online,pre">
<root level="info"> <root level="info">

Some files were not shown because too many files have changed in this diff Show More