Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -114,4 +114,8 @@ public class CommonConstants {
|
||||
public static final String FOLLOW = "follow";
|
||||
public static final String PENDING = "pending";
|
||||
|
||||
public static final String ALLOCATION = "allocation";
|
||||
|
||||
public static final String TRANSFER = "transfer";
|
||||
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ package com.cool.store.enums;
|
||||
*/
|
||||
public enum DataSourceEnum {
|
||||
|
||||
SYNC(0, "同步"),
|
||||
CREATE(1, "创建");
|
||||
SYNC(0, "EC同步"),
|
||||
CREATE(1, "小程序创建");
|
||||
|
||||
private Integer code;
|
||||
|
||||
|
||||
@@ -44,19 +44,22 @@ public enum ErrorCodeEnum {
|
||||
USER_GROUP_NAME_EXIST(1021076, "用户分组名称已存在", null),
|
||||
USER_GROUP_NOT_EXIST(1021077, "用户分组不存在", null),
|
||||
GET_INFO_ERROR(1021078, "获取信息异常", null),
|
||||
|
||||
|
||||
|
||||
|
||||
GET_PHONENUMBER_INFO_ERROR(1021079, "手机号归属地获取异常", null),
|
||||
IDENTITY_CARD_PARSE_FAIL(1021080, "身份证解析失败", null),
|
||||
PARAMS_REQUIRED(400002, "参数缺失!", null),
|
||||
DATA_CONVERT_ERROR(400002, "日期转换异常!", null),
|
||||
|
||||
|
||||
LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在!", null),
|
||||
WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null),
|
||||
PARTNER_USER_NOT_EXIST(500003, "加盟商用户信息不存在!", null),
|
||||
ZONE_NOT_EXIST(500004, "战区不存在!", null),
|
||||
PARTNER_BASEINFO_NOT_EXIST(500005, "基本信息不存在!", null),
|
||||
INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null),
|
||||
|
||||
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
|
||||
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
|
||||
INTERVIEW_NOT_EXIST(1021103, "面试信息不存在!", null),
|
||||
|
||||
SIGN_FAIL(600000, "验签失败", null),
|
||||
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null),
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: MessageTypeEnum
|
||||
* @Description:
|
||||
* @date 2023-06-15 10:14
|
||||
*/
|
||||
public enum MessageTypeEnum {
|
||||
|
||||
SCHEDULE_REMINDER("schedule_reminder", "日历提醒事件", "img_v2_0709ece3-77a8-49a4-820f-f245b2a4fdag")
|
||||
|
||||
|
||||
|
||||
;
|
||||
|
||||
private String code;
|
||||
|
||||
private String name;
|
||||
|
||||
private String imageMediaId;
|
||||
|
||||
MessageTypeEnum(String code, String name, String imageMediaId) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
this.imageMediaId = imageMediaId;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getImageMediaId() {
|
||||
return imageMediaId;
|
||||
}
|
||||
|
||||
public static String getImageMediaId(String code){
|
||||
for (MessageTypeEnum value : MessageTypeEnum.values()) {
|
||||
if(value.code.equals(code)){
|
||||
return value.imageMediaId;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ public enum RocketMqGroupEnum {
|
||||
/**
|
||||
* 事件消息监听
|
||||
*/
|
||||
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE))),
|
||||
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))),
|
||||
|
||||
;
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ public enum RocketMqTagEnum {
|
||||
|
||||
AUTH_SCOPE_CHANGE("auth_scope_change","授权范围变更"),
|
||||
USER_EVENT("user_event","钉钉通讯录变更事件"),
|
||||
DEPT_EVENT("dept_event","部门事件"),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -171,4 +171,8 @@ public class RedisUtil {
|
||||
public void delete(String key) {
|
||||
redisTemplate.delete(key);
|
||||
}
|
||||
|
||||
public Long increment(String key) {
|
||||
return redisTemplate.boundValueOps(key).increment(1L);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.entity.HyIntendDevZoneInfoDO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.mapper.HyIntendDevZoneInfoMapper;
|
||||
import com.cool.store.mapper.HyOpenAreaInfoMapper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -37,14 +41,11 @@ public class HyIntendDevZoneInfoDAO {
|
||||
}
|
||||
|
||||
|
||||
public PageInfo<HyIntendDevZoneInfoDO> getHyIntendDevZoneInfoList(String type){
|
||||
public List<HyIntendDevZoneInfoDO> getHyIntendDevZoneInfoList(String type){
|
||||
if (StringUtils.isEmpty(type)){
|
||||
return new PageInfo<>();
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return hyIntendDevZoneInfoMapper.getHyIntendDevZoneInfoList(type);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,14 +25,11 @@ public class HyOpenAreaInfoDAO {
|
||||
@Resource
|
||||
HyOpenAreaInfoMapper hyOpenAreaInfoMapper;
|
||||
|
||||
public PageInfo<HyOpenAreaInfoDO> queryKeyOpenArea(){
|
||||
public List<HyOpenAreaInfoDO> queryKeyOpenArea(){
|
||||
return hyOpenAreaInfoMapper.queryKeyOpenArea();
|
||||
}
|
||||
|
||||
public List<HyOpenAreaInfoDO> queryByKeyword(String keyword,Boolean filterData){
|
||||
if (StringUtils.isEmpty(keyword)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return hyOpenAreaInfoMapper.queryByKeyword(keyword,filterData);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.entity.HyPartnerBaseInfoDO;
|
||||
import com.cool.store.mapper.HyPartnerBaseInfoMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -38,4 +38,11 @@ public class HyPartnerBaseInfoDAO {
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.entity.HyPartnerClerkDO;
|
||||
import com.cool.store.mapper.HyPartnerClerkMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
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
|
||||
@@ -31,4 +34,25 @@ public class HyPartnerClerkDAO {
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,13 +4,11 @@ import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
|
||||
import com.cool.store.entity.HyPartnerIntentInfoDO;
|
||||
import com.cool.store.mapper.HyPartnerIntentInfoMapper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -48,12 +46,19 @@ public class HyPartnerIntentInfoDAO {
|
||||
}
|
||||
|
||||
|
||||
public PartnerIntentApplyInfoDTO selectByLineId(Long lineId){
|
||||
public HyPartnerIntentInfoDO selectByLineId(Long lineId){
|
||||
if (lineId==null){
|
||||
return null;
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
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.StageCountDTO;
|
||||
import com.cool.store.dto.partner.*;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -113,8 +114,8 @@ public class HyPartnerLineInfoDAO {
|
||||
}
|
||||
|
||||
|
||||
public PageInfo<PartnerBlackListDTO> getBlackList( String keyWord, String intentArea , Integer acceptAdjustType){
|
||||
return hyPartnerLineInfoMapper.getBlackList(keyWord,intentArea,acceptAdjustType);
|
||||
public PageInfo<PartnerBlackListDTO> getBlackList( String userNameKeyword,String phoneKeyword, String intentArea , Integer acceptAdjustType){
|
||||
return hyPartnerLineInfoMapper.getBlackList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType);
|
||||
}
|
||||
|
||||
|
||||
@@ -125,7 +126,37 @@ public class HyPartnerLineInfoDAO {
|
||||
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);
|
||||
}
|
||||
|
||||
public List<HyPartnerLineInfoDO> getHyPartnerLineInfoListByIds( List<Long> lineIds){
|
||||
if (CollectionUtils.isEmpty(lineIds)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return hyPartnerLineInfoMapper.getHyPartnerLineInfoListByIds(lineIds);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -68,5 +68,12 @@ public class HyPartnerUserInfoDAO {
|
||||
return hyPartnerUserInfoMapper.insertSelective(record);
|
||||
}
|
||||
|
||||
public int updateJoinKnowById(Integer isWritePartnerKnow, Long id){
|
||||
if (id == null || isWritePartnerKnow == null){
|
||||
return 0;
|
||||
}
|
||||
return hyPartnerUserInfoMapper.updateJoinKnowById(isWritePartnerKnow, id);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.DingdingUserDO;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @date 2023-06-15 10:03
|
||||
*/
|
||||
public interface DingdingUserMapper {
|
||||
/**
|
||||
*
|
||||
* 默认插入方法,只会给有值的字段赋值
|
||||
* 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null
|
||||
* dateTime:2023-06-15 10:03
|
||||
*/
|
||||
int insertSelective(DingdingUserDO record);
|
||||
|
||||
/**
|
||||
*
|
||||
* 默认更新方法,根据主键更新,不会把null值更新到数据库,避免覆盖之前有值的
|
||||
* dateTime:2023-06-15 10:03
|
||||
*/
|
||||
int updateByPrimaryKeySelective(DingdingUserDO record);
|
||||
|
||||
DingdingUserDO selectDingDingUserByMobile(String mobile);
|
||||
}
|
||||
@@ -4,6 +4,8 @@ import com.cool.store.entity.HyIntendDevZoneInfoDO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @date 2023-05-29 03:50
|
||||
@@ -36,5 +38,5 @@ public interface HyIntendDevZoneInfoMapper {
|
||||
* @param type
|
||||
* @return
|
||||
*/
|
||||
PageInfo<HyIntendDevZoneInfoDO> getHyIntendDevZoneInfoList(String type);
|
||||
List<HyIntendDevZoneInfoDO> getHyIntendDevZoneInfoList(String type);
|
||||
}
|
||||
@@ -32,7 +32,7 @@ public interface HyOpenAreaInfoMapper {
|
||||
* 查询重点城市
|
||||
* @return
|
||||
*/
|
||||
PageInfo<HyOpenAreaInfoDO> queryKeyOpenArea();
|
||||
List<HyOpenAreaInfoDO> queryKeyOpenArea();
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -33,4 +33,7 @@ public interface HyPartnerBaseInfoMapper {
|
||||
int updateByPartnerId(@Param("userName") String userName,
|
||||
@Param("mobile") String mobile,
|
||||
@Param("partnerId") String partnerId);
|
||||
|
||||
HyPartnerBaseInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId);
|
||||
|
||||
}
|
||||
@@ -27,4 +27,17 @@ public interface HyPartnerClerkMapper {
|
||||
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
@@ -46,5 +46,7 @@ public interface HyPartnerIntentInfoMapper {
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
PartnerIntentApplyInfoDTO selectByLineId(@Param("lineId") Long lineId);
|
||||
HyPartnerIntentInfoDO selectByLineId(@Param("lineId") Long lineId);
|
||||
|
||||
HyPartnerIntentInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId);
|
||||
}
|
||||
@@ -74,4 +74,8 @@ public interface HyPartnerInterviewMapper {
|
||||
*/
|
||||
int updatePassLetterInfo(@Param("passCode") String passCode, @Param("passPdfUrl") String passPdfUrl, @Param("passImageUrl") String passImageUrl, @Param("expiryDate") String expiryDate, @Param("interviewId") String interviewId);
|
||||
|
||||
/**
|
||||
* 根据面试 id 查询面试信息
|
||||
*/
|
||||
HyPartnerInterviewDO selectByPrimaryKeySelective(String interviewId);
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.dto.partner.*;
|
||||
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.StageCountDTO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -109,12 +109,14 @@ public interface HyPartnerLineInfoMapper {
|
||||
|
||||
/**
|
||||
* 查询黑名单列表
|
||||
* @param keyWord
|
||||
* @param userNameKeyword
|
||||
* @param phoneKeyword
|
||||
* @param intentArea
|
||||
* @param acceptAdjustType
|
||||
* @return
|
||||
*/
|
||||
PageInfo<PartnerBlackListDTO> getBlackList(@Param("keyWord") String keyWord,
|
||||
PageInfo<PartnerBlackListDTO> getBlackList(@Param("userNameKeyword") String userNameKeyword,
|
||||
@Param("phoneKeyword") String phoneKeyword,
|
||||
@Param("intentArea") String intentArea ,
|
||||
@Param("acceptAdjustType") Integer acceptAdjustType);
|
||||
|
||||
@@ -132,4 +134,48 @@ public interface HyPartnerLineInfoMapper {
|
||||
@Param("joinReason") String joinReason,
|
||||
@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);
|
||||
|
||||
|
||||
/**
|
||||
* 根据线索ID查询线索数据
|
||||
* @param lineIds
|
||||
* @return
|
||||
*/
|
||||
List<HyPartnerLineInfoDO> getHyPartnerLineInfoListByIds(@Param("lineIds") List<Long> lineIds);
|
||||
}
|
||||
@@ -40,4 +40,7 @@ public interface HyPartnerUserInfoMapper {
|
||||
* @return
|
||||
*/
|
||||
List<HyPartnerUserInfoDO> selectByPartnerIds(@Param("partnerIdList") List<String> partnerIdList);
|
||||
|
||||
int updateJoinKnowById(@Param("isWritePartnerKnow")Integer isWritePartnerKnow, @Param("id")Long id);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,309 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cool.store.mapper.DingdingUserMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.DingdingUserDO">
|
||||
<id column="id" jdbcType="INTEGER" property="id" />
|
||||
<result column="userid" jdbcType="VARCHAR" property="userid" />
|
||||
<result column="unionid" jdbcType="VARCHAR" property="unionid" />
|
||||
<result column="remark" jdbcType="VARCHAR" property="remark" />
|
||||
<result column="is_boss" jdbcType="TINYINT" property="isBoss" />
|
||||
<result column="hired_date" jdbcType="VARCHAR" property="hiredDate" />
|
||||
<result column="is_senior" jdbcType="TINYINT" property="isSenior" />
|
||||
<result column="tel" jdbcType="VARCHAR" property="tel" />
|
||||
<result column="work_place" jdbcType="VARCHAR" property="workPlace" />
|
||||
<result column="email" jdbcType="VARCHAR" property="email" />
|
||||
<result column="active" jdbcType="TINYINT" property="active" />
|
||||
<result column="avatar" jdbcType="VARCHAR" property="avatar" />
|
||||
<result column="is_admin" jdbcType="TINYINT" property="isAdmin" />
|
||||
<result column="is_hide" jdbcType="TINYINT" property="isHide" />
|
||||
<result column="job_number" jdbcType="VARCHAR" property="jobNumber" />
|
||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||
<result column="state_code" jdbcType="VARCHAR" property="stateCode" />
|
||||
<result column="real_authed" jdbcType="TINYINT" property="realAuthed" />
|
||||
<result column="db_update_timestamp" jdbcType="TIMESTAMP" property="dbUpdateTimestamp" />
|
||||
<result column="position" jdbcType="VARCHAR" property="position" />
|
||||
<result column="mobile" jdbcType="VARCHAR" property="mobile" />
|
||||
<result column="check_status" jdbcType="TINYINT" property="checkStatus" />
|
||||
<result column="job_status" jdbcType="TINYINT" property="jobStatus" />
|
||||
<result column="config_code_id" jdbcType="INTEGER" property="configCodeId" />
|
||||
</resultMap>
|
||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.DingdingUserDO">
|
||||
<result column="is_leader_in_depts" jdbcType="LONGVARCHAR" property="isLeaderInDepts" />
|
||||
<result column="department" jdbcType="LONGVARCHAR" property="department" />
|
||||
<result column="extattr" jdbcType="LONGVARCHAR" property="extattr" />
|
||||
<result column="roles" jdbcType="LONGVARCHAR" property="roles" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, userid, unionid, remark, is_boss, hired_date, is_senior, tel, work_place, email,
|
||||
active, avatar, is_admin, is_hide, job_number, name, state_code, real_authed, db_update_timestamp,
|
||||
position, mobile, check_status, job_status, config_code_id
|
||||
</sql>
|
||||
<sql id="Blob_Column_List">
|
||||
is_leader_in_depts, department, extattr, roles
|
||||
</sql>
|
||||
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
||||
insert into dingding_user
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="userid != null">
|
||||
userid,
|
||||
</if>
|
||||
<if test="unionid != null">
|
||||
unionid,
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark,
|
||||
</if>
|
||||
<if test="isBoss != null">
|
||||
is_boss,
|
||||
</if>
|
||||
<if test="hiredDate != null">
|
||||
hired_date,
|
||||
</if>
|
||||
<if test="isSenior != null">
|
||||
is_senior,
|
||||
</if>
|
||||
<if test="tel != null">
|
||||
tel,
|
||||
</if>
|
||||
<if test="workPlace != null">
|
||||
work_place,
|
||||
</if>
|
||||
<if test="email != null">
|
||||
email,
|
||||
</if>
|
||||
<if test="active != null">
|
||||
active,
|
||||
</if>
|
||||
<if test="avatar != null">
|
||||
avatar,
|
||||
</if>
|
||||
<if test="isAdmin != null">
|
||||
is_admin,
|
||||
</if>
|
||||
<if test="isHide != null">
|
||||
is_hide,
|
||||
</if>
|
||||
<if test="jobNumber != null">
|
||||
job_number,
|
||||
</if>
|
||||
<if test="name != null">
|
||||
name,
|
||||
</if>
|
||||
<if test="stateCode != null">
|
||||
state_code,
|
||||
</if>
|
||||
<if test="realAuthed != null">
|
||||
real_authed,
|
||||
</if>
|
||||
<if test="dbUpdateTimestamp != null">
|
||||
db_update_timestamp,
|
||||
</if>
|
||||
<if test="position != null">
|
||||
position,
|
||||
</if>
|
||||
<if test="mobile != null">
|
||||
mobile,
|
||||
</if>
|
||||
<if test="checkStatus != null">
|
||||
check_status,
|
||||
</if>
|
||||
<if test="jobStatus != null">
|
||||
job_status,
|
||||
</if>
|
||||
<if test="configCodeId != null">
|
||||
config_code_id,
|
||||
</if>
|
||||
<if test="isLeaderInDepts != null">
|
||||
is_leader_in_depts,
|
||||
</if>
|
||||
<if test="department != null">
|
||||
department,
|
||||
</if>
|
||||
<if test="extattr != null">
|
||||
extattr,
|
||||
</if>
|
||||
<if test="roles != null">
|
||||
roles,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="userid != null">
|
||||
#{userid},
|
||||
</if>
|
||||
<if test="unionid != null">
|
||||
#{unionid},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
#{remark},
|
||||
</if>
|
||||
<if test="isBoss != null">
|
||||
#{isBoss},
|
||||
</if>
|
||||
<if test="hiredDate != null">
|
||||
#{hiredDate},
|
||||
</if>
|
||||
<if test="isSenior != null">
|
||||
#{isSenior},
|
||||
</if>
|
||||
<if test="tel != null">
|
||||
#{tel},
|
||||
</if>
|
||||
<if test="workPlace != null">
|
||||
#{workPlace},
|
||||
</if>
|
||||
<if test="email != null">
|
||||
#{email},
|
||||
</if>
|
||||
<if test="active != null">
|
||||
#{active},
|
||||
</if>
|
||||
<if test="avatar != null">
|
||||
#{avatar},
|
||||
</if>
|
||||
<if test="isAdmin != null">
|
||||
#{isAdmin},
|
||||
</if>
|
||||
<if test="isHide != null">
|
||||
#{isHide},
|
||||
</if>
|
||||
<if test="jobNumber != null">
|
||||
#{jobNumber},
|
||||
</if>
|
||||
<if test="name != null">
|
||||
#{name},
|
||||
</if>
|
||||
<if test="stateCode != null">
|
||||
#{stateCode},
|
||||
</if>
|
||||
<if test="realAuthed != null">
|
||||
#{realAuthed},
|
||||
</if>
|
||||
<if test="dbUpdateTimestamp != null">
|
||||
#{dbUpdateTimestamp},
|
||||
</if>
|
||||
<if test="position != null">
|
||||
#{position},
|
||||
</if>
|
||||
<if test="mobile != null">
|
||||
#{mobile},
|
||||
</if>
|
||||
<if test="checkStatus != null">
|
||||
#{checkStatus},
|
||||
</if>
|
||||
<if test="jobStatus != null">
|
||||
#{jobStatus},
|
||||
</if>
|
||||
<if test="configCodeId != null">
|
||||
#{configCodeId},
|
||||
</if>
|
||||
<if test="isLeaderInDepts != null">
|
||||
#{isLeaderInDepts},
|
||||
</if>
|
||||
<if test="department != null">
|
||||
#{department},
|
||||
</if>
|
||||
<if test="extattr != null">
|
||||
#{extattr},
|
||||
</if>
|
||||
<if test="roles != null">
|
||||
#{roles},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective">
|
||||
update dingding_user
|
||||
<set>
|
||||
<if test="userid != null">
|
||||
userid = #{userid},
|
||||
</if>
|
||||
<if test="unionid != null">
|
||||
unionid = #{unionid},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark = #{remark},
|
||||
</if>
|
||||
<if test="isBoss != null">
|
||||
is_boss = #{isBoss},
|
||||
</if>
|
||||
<if test="hiredDate != null">
|
||||
hired_date = #{hiredDate},
|
||||
</if>
|
||||
<if test="isSenior != null">
|
||||
is_senior = #{isSenior},
|
||||
</if>
|
||||
<if test="tel != null">
|
||||
tel = #{tel},
|
||||
</if>
|
||||
<if test="workPlace != null">
|
||||
work_place = #{workPlace},
|
||||
</if>
|
||||
<if test="email != null">
|
||||
email = #{email},
|
||||
</if>
|
||||
<if test="active != null">
|
||||
active = #{active},
|
||||
</if>
|
||||
<if test="avatar != null">
|
||||
avatar = #{avatar},
|
||||
</if>
|
||||
<if test="isAdmin != null">
|
||||
is_admin = #{isAdmin},
|
||||
</if>
|
||||
<if test="isHide != null">
|
||||
is_hide = #{isHide},
|
||||
</if>
|
||||
<if test="jobNumber != null">
|
||||
job_number = #{jobNumber},
|
||||
</if>
|
||||
<if test="name != null">
|
||||
name = #{name},
|
||||
</if>
|
||||
<if test="stateCode != null">
|
||||
state_code = #{stateCode},
|
||||
</if>
|
||||
<if test="realAuthed != null">
|
||||
real_authed = #{realAuthed},
|
||||
</if>
|
||||
<if test="dbUpdateTimestamp != null">
|
||||
db_update_timestamp = #{dbUpdateTimestamp},
|
||||
</if>
|
||||
<if test="position != null">
|
||||
position = #{position},
|
||||
</if>
|
||||
<if test="mobile != null">
|
||||
mobile = #{mobile},
|
||||
</if>
|
||||
<if test="checkStatus != null">
|
||||
check_status = #{checkStatus},
|
||||
</if>
|
||||
<if test="jobStatus != null">
|
||||
job_status = #{jobStatus},
|
||||
</if>
|
||||
<if test="configCodeId != null">
|
||||
config_code_id = #{configCodeId},
|
||||
</if>
|
||||
<if test="isLeaderInDepts != null">
|
||||
is_leader_in_depts = #{isLeaderInDepts},
|
||||
</if>
|
||||
<if test="department != null">
|
||||
department = #{department},
|
||||
</if>
|
||||
<if test="extattr != null">
|
||||
extattr = #{extattr},
|
||||
</if>
|
||||
<if test="roles != null">
|
||||
roles = #{roles},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id}
|
||||
</update>
|
||||
<select id="selectDingDingUserByMobile" resultType="com.cool.store.entity.DingdingUserDO">
|
||||
select
|
||||
<include refid="Base_Column_List"/>,
|
||||
<include refid="Blob_Column_List"/>
|
||||
from
|
||||
dingding_user
|
||||
where
|
||||
mobile = #{mobile}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -84,7 +84,7 @@
|
||||
partner_url = #{record.partnerUrl},
|
||||
tencent_video_account = #{record.tencentVideoAccount},
|
||||
tencent_video_key = #{record.tencentVideoKey},
|
||||
update_user_id = #{record.updateUserId},
|
||||
update_user_id = #{record.updateUserId}
|
||||
where id = #{record.id}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -120,10 +120,12 @@
|
||||
where id = #{record.id}
|
||||
</update>
|
||||
|
||||
|
||||
<select id="getHyIntendDevZoneInfoList" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List"></include>
|
||||
*
|
||||
from hy_intend_dev_zone_info
|
||||
where type = #{type}
|
||||
and deleted = 0
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -91,8 +91,8 @@
|
||||
<if test="type!=null and type!=''">
|
||||
and type = #{type}
|
||||
</if>
|
||||
<if test="deleteByMappingIds!=null and deleteByMappingIds.size>0">
|
||||
<foreach collection="deleteByMappingIds" open="and mapping_id in (" close=")" separator="," item="mappingId">
|
||||
<if test="mappingIds!=null and mappingIds.size>0">
|
||||
<foreach collection="mappingIds" open="and mapping_id in (" close=")" separator="," item="mappingId">
|
||||
#{mappingId}
|
||||
</foreach>
|
||||
</if>
|
||||
@@ -112,7 +112,7 @@
|
||||
<foreach collection="recordList" item="record" separator=",">
|
||||
(#{record.mappingId},
|
||||
#{record.openAreaMappingId},
|
||||
#{record.type}
|
||||
#{record.type})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
from hy_intend_developement_mapping a inner join hy_intend_dev_zone_info b on a.mapping_id = b.id
|
||||
<where>
|
||||
<if test="mappingIdList!=null and mappingIdList.size>0">
|
||||
<foreach collection="mappingIdList" open="and a.open_area_mapping_id in (" close=")" separator="," item="mappingId">
|
||||
<foreach collection="mappingIdList" open="and a.mapping_id in (" close=")" separator="," item="mappingId">
|
||||
#{mappingId}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
@@ -185,10 +185,14 @@
|
||||
<select id="queryByKeyword" resultMap="BaseResultMap">
|
||||
select * from
|
||||
hy_open_area_info
|
||||
where area_path like concat('%',#{keyword},'%')
|
||||
<if test="filterData!=null and filterData==true">
|
||||
and province_city_flag = 1
|
||||
</if>
|
||||
<where>
|
||||
<if test="keyword!=null and keyword!=''">
|
||||
and area_path like concat('%',#{keyword},'%')
|
||||
</if>
|
||||
<if test="filterData!=null and filterData==true">
|
||||
and province_city_flag = 1
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@@ -216,4 +216,12 @@
|
||||
where partner_id = #{partnerId}
|
||||
</set>
|
||||
</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>
|
||||
@@ -8,7 +8,6 @@
|
||||
<result column="partner_interview_id" jdbcType="BIGINT" property="partnerInterviewId" />
|
||||
<result column="partnership" jdbcType="VARCHAR" property="partnership" />
|
||||
<result column="want_sign_time" jdbcType="TIMESTAMP" property="wantSignTime" />
|
||||
<result column="data_source" jdbcType="TINYINT" property="dataSource" />
|
||||
<result column="partner_fee" jdbcType="VARCHAR" property="partnerFee" />
|
||||
<result column="security_fund" jdbcType="VARCHAR" property="securityFund" />
|
||||
<result column="technical_service_fee" jdbcType="VARCHAR" property="technicalServiceFee" />
|
||||
@@ -26,7 +25,7 @@
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, partner_id, partner_line_id, partner_interview_id, partnership, want_sign_time,
|
||||
data_source, partner_fee, security_fund, technical_service_fee, intention_money,
|
||||
partner_fee, security_fund, technical_service_fee, intention_money,
|
||||
intention_signer_username, intention_signer_mobile, intention_edu, real_control_username,
|
||||
real_control_idcard, signer_real_control_relation, signer_other_real_control_relation,
|
||||
signer_real_control_relation_cert, create_time, update_time
|
||||
@@ -49,9 +48,6 @@
|
||||
<if test="record.wantSignTime != null">
|
||||
want_sign_time,
|
||||
</if>
|
||||
<if test="record.dataSource != null">
|
||||
data_source,
|
||||
</if>
|
||||
<if test="record.partnerFee != null">
|
||||
partner_fee,
|
||||
</if>
|
||||
@@ -176,9 +172,6 @@
|
||||
<if test="record.wantSignTime != null">
|
||||
want_sign_time = #{record.wantSignTime},
|
||||
</if>
|
||||
<if test="record.dataSource != null">
|
||||
data_source = #{record.dataSource},
|
||||
</if>
|
||||
<if test="record.partnerFee != null">
|
||||
partner_fee = #{record.partnerFee},
|
||||
</if>
|
||||
|
||||
@@ -108,4 +108,37 @@
|
||||
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>
|
||||
@@ -279,7 +279,7 @@
|
||||
order by b.create_time
|
||||
</select>
|
||||
|
||||
<select id="selectByLineId" resultType="com.cool.store.dto.partner.PartnerIntentApplyInfoDTO">
|
||||
<select id="selectByLineId" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List"></include>
|
||||
from hy_partner_intent_info
|
||||
@@ -288,4 +288,11 @@
|
||||
</where>
|
||||
</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>
|
||||
@@ -14,6 +14,7 @@
|
||||
<result column="record_time" jdbcType="TIMESTAMP" property="recordTime" />
|
||||
<result column="summary" jdbcType="VARCHAR" property="summary" />
|
||||
<result column="auth_code" jdbcType="VARCHAR" property="authCode" />
|
||||
<result column="qualify_verify_id" jdbcType="VARCHAR" property="qualifyVerifyId" />
|
||||
<result column="pass_file_url" jdbcType="VARCHAR" property="passFileUrl" />
|
||||
<result column="expiry_date" jdbcType="TIMESTAMP" property="expiryDate" />
|
||||
<result column="latest_log_message" jdbcType="VARCHAR" property="latestLogMessage" />
|
||||
@@ -46,7 +47,7 @@
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id, status, partner_line_id, interview_plan_id, partner_id, deadline, interviewer,
|
||||
recorder, process_info, record_time, summary, auth_code, pass_file_url, expiry_date,
|
||||
recorder, process_info, record_time, summary, auth_code, qualify_verify_id, pass_file_url, expiry_date,
|
||||
latest_log_message, pass_reason, certify_file, create_time, update_time, approve_time,
|
||||
partner_enter_time, interviewer_enter_time
|
||||
</sql>
|
||||
@@ -249,6 +250,9 @@
|
||||
<if test="interviewerEnterTime != null">
|
||||
interviewer_enter_time = #{interviewerEnterTime},
|
||||
</if>
|
||||
<if test="qualifyVerifyId != null">
|
||||
qualify_verify_id = #{qualifyVerifyId},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id}
|
||||
</update>
|
||||
@@ -330,6 +334,15 @@
|
||||
WHERE partner_id = #{partner_id}
|
||||
)
|
||||
</select>
|
||||
<select id="selectByPrimaryKeySelective" resultType="com.cool.store.entity.HyPartnerInterviewDO">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from
|
||||
hy_partner_intent_info
|
||||
where
|
||||
id = #{interviewId}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 生成通过函 pdf 后修改 -->
|
||||
<update id="updatePassLetterInfo">
|
||||
|
||||
@@ -357,8 +357,11 @@
|
||||
from hy_partner_line_info a inner join hy_partner_user_info b where a.partner_id = b.partner_id
|
||||
where deleted = 0
|
||||
and line_status = 3
|
||||
<if test="keyWord!=null and keyWord !=''">
|
||||
and (b.username like concat('%', #{keyWord}, '%') or b.mobile like concat('%', #{keyWord}, '%'))
|
||||
<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}
|
||||
@@ -384,4 +387,79 @@
|
||||
where id = #{lineId}
|
||||
</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>
|
||||
|
||||
|
||||
<select id="getHyPartnerLineInfoListByIds" resultMap="BaseResultMap">
|
||||
SELECT <include refid="Base_Column_List"></include>
|
||||
FROM hy_partner_line_info
|
||||
<where>
|
||||
<if test="lineIds!=null and lineIds.size>0">
|
||||
<foreach collection="lineIds" item="lineId" open="and id in (" close=")" separator=",">
|
||||
#{partnerId}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -147,4 +147,11 @@
|
||||
</set>
|
||||
where id = #{record.id}
|
||||
</update>
|
||||
|
||||
<update id="updateJoinKnowById">
|
||||
update hy_partner_user_info
|
||||
set `is_write_partner_know`=#{isWritePartnerKnow,jdbcType=INTEGER}
|
||||
where id=#{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.cool.store.dto.dept;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: DepartmentEventDTO
|
||||
* @Description: 部门事件
|
||||
* @date 2023-06-16 15:30
|
||||
*/
|
||||
@Data
|
||||
public class DepartmentEventDTO {
|
||||
|
||||
@ApiModelProperty("部门id")
|
||||
private String departmentId;
|
||||
|
||||
@ApiModelProperty("是否变更父级节点")
|
||||
private Boolean isChangeParent;
|
||||
|
||||
@ApiModelProperty("事件类型")
|
||||
private String eventType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.dto.mdm;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-15 13:35
|
||||
* @Description:
|
||||
*/
|
||||
public class AccessTokenDTO {
|
||||
private Long expiresIn;
|
||||
private String accessToken;
|
||||
|
||||
public Long getExpiresIn() {
|
||||
return expiresIn;
|
||||
}
|
||||
|
||||
public void setExpiresIn(Long expiresIn) {
|
||||
this.expiresIn = expiresIn;
|
||||
}
|
||||
|
||||
public String getAccessToken() {
|
||||
return accessToken;
|
||||
}
|
||||
|
||||
public void setAccessToken(String accessToken) {
|
||||
this.accessToken = accessToken;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cool.store.dto.message;
|
||||
|
||||
import com.cool.store.enums.MessageTypeEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @FileName: SendCardMessageDTO
|
||||
* @Description:发送卡片消息
|
||||
* @date 2023-06-15 11:05
|
||||
*/
|
||||
@Data
|
||||
public class SendCardMessageDTO {
|
||||
|
||||
@ApiModelProperty("消息接收人")
|
||||
private List<String> userIds;
|
||||
|
||||
@ApiModelProperty("消息链接")
|
||||
private String messageUrl;
|
||||
|
||||
@ApiModelProperty("消息标题")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty("消息内容")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty("消息类型, MessageTypeEnum")
|
||||
private MessageTypeEnum messageType;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.cool.store.dto.response;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 16:39
|
||||
* @Description:
|
||||
*/
|
||||
public class MDMResultDTO<T> extends ResultDTO<T>{
|
||||
private Object bizKey;
|
||||
|
||||
private String traceId;
|
||||
|
||||
public Object getBizKey() {
|
||||
return bizKey;
|
||||
}
|
||||
|
||||
public void setBizKey(Object bizKey) {
|
||||
this.bizKey = bizKey;
|
||||
}
|
||||
|
||||
public String getTraceId() {
|
||||
return traceId;
|
||||
}
|
||||
|
||||
public void setTraceId(String traceId) {
|
||||
this.traceId = traceId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author zhangchenbiao
|
||||
* @date 2023-06-15 10:03
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DingdingUserDO implements Serializable {
|
||||
@ApiModelProperty("")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty("用户id")
|
||||
private String userid;
|
||||
|
||||
@ApiModelProperty("")
|
||||
private String unionid;
|
||||
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty("是不是老板")
|
||||
private Integer isBoss;
|
||||
|
||||
@ApiModelProperty("入职时间【毫秒时间戳】")
|
||||
private String hiredDate;
|
||||
|
||||
@ApiModelProperty("是否是高管")
|
||||
private Integer isSenior;
|
||||
|
||||
@ApiModelProperty("分机号")
|
||||
private String tel;
|
||||
|
||||
@ApiModelProperty("办公地点")
|
||||
private String workPlace;
|
||||
|
||||
@ApiModelProperty("员工电子邮箱")
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty("是否已经激活,true表示已激活,false表示未激活")
|
||||
private Integer active;
|
||||
|
||||
@ApiModelProperty("头像url")
|
||||
private String avatar;
|
||||
|
||||
@ApiModelProperty("是否为企业的管理员,true表示是,false表示不是")
|
||||
private Integer isAdmin;
|
||||
|
||||
@ApiModelProperty("是否号码隐藏,true表示隐藏,false表示不隐藏")
|
||||
private Integer isHide;
|
||||
|
||||
@ApiModelProperty("员工工号")
|
||||
private String jobNumber;
|
||||
|
||||
@ApiModelProperty("员工名字")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("国家地区码")
|
||||
private String stateCode;
|
||||
|
||||
@ApiModelProperty("是否实名认证")
|
||||
private Integer realAuthed;
|
||||
|
||||
@ApiModelProperty("数据库更新时间")
|
||||
private Date dbUpdateTimestamp;
|
||||
|
||||
@ApiModelProperty("职位")
|
||||
private String position;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("审核状态[0、待审核;1、已审核;2、拒绝审核;3、首次同步不处理]")
|
||||
private Integer checkStatus;
|
||||
|
||||
@ApiModelProperty("工作状态[1、在职;0、离职]")
|
||||
private Integer jobStatus;
|
||||
|
||||
@ApiModelProperty("所在组织")
|
||||
private Integer configCodeId;
|
||||
|
||||
@ApiModelProperty("json格式的【是不是部门老大,多部门所以json】")
|
||||
private String isLeaderInDepts;
|
||||
|
||||
@ApiModelProperty("所属部门id")
|
||||
private String department;
|
||||
|
||||
@ApiModelProperty("扩展属性")
|
||||
private String extattr;
|
||||
|
||||
@ApiModelProperty("用户角色信息")
|
||||
private String roles;
|
||||
}
|
||||
@@ -36,9 +36,6 @@ public class HyPartnerCertificationInfoDO implements Serializable {
|
||||
@ApiModelProperty("意向签约时间")
|
||||
private Date wantSignTime;
|
||||
|
||||
@ApiModelProperty("数据来源")
|
||||
private Integer dataSource;
|
||||
|
||||
@ApiModelProperty("加盟费")
|
||||
private String partnerFee;
|
||||
|
||||
|
||||
@@ -54,6 +54,9 @@ public class HyPartnerInterviewDO implements Serializable {
|
||||
@ApiModelProperty("授权码")
|
||||
private String authCode;
|
||||
|
||||
@ApiModelProperty("资质审核流程id")
|
||||
private String qualifyVerifyId;
|
||||
|
||||
@ApiModelProperty("函文件url")
|
||||
private String passFileUrl;
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 14:18
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(description = "发起加盟商资质审核请求")
|
||||
public class CreateQualifyVerifyReq {
|
||||
@ApiModelProperty(value = "线索id", required = true)
|
||||
private String lineId;
|
||||
|
||||
@ApiModelProperty(value = "会议id", required = true)
|
||||
private String interviewId;
|
||||
|
||||
@ApiModelProperty(value = "加盟商id", required = true)
|
||||
private String partnerId;
|
||||
|
||||
@ApiModelProperty(value = "面试表现记录", required = true)
|
||||
private String summary;
|
||||
|
||||
@ApiModelProperty(value = "合作关系: 1总部下属; 2小区代直营; 3县代直营; 4县代下属; 5区代直营; 6区代下属", required = true)
|
||||
private Integer partnership;
|
||||
|
||||
@ApiModelProperty(value = "意向签约时间", required = true, example = "YYYY-MM-DD")
|
||||
private String wantSignTime;
|
||||
|
||||
@ApiModelProperty(value = "加盟费", required = true)
|
||||
private String partnerFee;
|
||||
|
||||
@ApiModelProperty(value = "保证金", required = true)
|
||||
private String securityFund;
|
||||
|
||||
@ApiModelProperty(value = "技术服务费", required = true)
|
||||
private String technicalServiceFee;
|
||||
|
||||
@ApiModelProperty(value = "意向金金额", required = true)
|
||||
private String intentionMoney;
|
||||
|
||||
@ApiModelProperty(value = "意向签约人姓名", required = true)
|
||||
private String intentionSignerUsername;
|
||||
|
||||
@ApiModelProperty(value = "意向签约人手机号", required = true)
|
||||
private String intentionSignerMobile;
|
||||
|
||||
@ApiModelProperty(value = "意向签约人学历: 1.初中及以下 2.高中 3.大专 4.本科 5.硕士及以上", required = true)
|
||||
private String intentionEdu;
|
||||
|
||||
@ApiModelProperty(value = "实控人姓名", required = true)
|
||||
private String realControlUsername;
|
||||
|
||||
@ApiModelProperty(value = "实控人身份证", required = true)
|
||||
private String realControlIdcard;
|
||||
|
||||
@ApiModelProperty(value = "实控人与签约人关系: 1.本人 2.配偶 3.二代直系亲属 4.雇佣 5.其他", required = true)
|
||||
private String signerRealControlRelation;
|
||||
|
||||
@ApiModelProperty(value = "其他实控人与签约人关系")
|
||||
private String signerOtherRealControlRelation;
|
||||
|
||||
@ApiModelProperty(value = "实控人与签约人关系证明(文件上传地址,多个以英文逗号隔开)")
|
||||
private String signerRealControlRelationCert;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -17,8 +17,11 @@ import java.util.Date;
|
||||
public class LineRequest extends PageInfoRequest{
|
||||
|
||||
|
||||
@ApiModelProperty("关键字")
|
||||
private String keyWord;
|
||||
@ApiModelProperty("用户名关键字")
|
||||
private String userNameKeyword;
|
||||
|
||||
@ApiModelProperty("手机号关键字")
|
||||
private String phoneKeyword;
|
||||
|
||||
@ApiModelProperty("意向区域")
|
||||
private String intentArea;
|
||||
@@ -26,8 +29,11 @@ public class LineRequest extends PageInfoRequest{
|
||||
@ApiModelProperty("调剂类型")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
@ApiModelProperty("更新时间")
|
||||
private Date updateTime;
|
||||
@ApiModelProperty("更新开始时间")
|
||||
private Date updateStartTime;
|
||||
|
||||
@ApiModelProperty("更新结束时间")
|
||||
private Date updateEndTime;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -18,6 +18,12 @@ public class PartnerIntentInfoRequest {
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("线索表ID")
|
||||
private Long partnerLineId;
|
||||
|
||||
@ApiModelProperty("加盟商C端用户表ID partnerId ")
|
||||
private String partnerId;
|
||||
|
||||
@ApiModelProperty("常驻区域")
|
||||
private String liveArea;
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 15:06
|
||||
* @Description:
|
||||
*/
|
||||
public class RpcCreateQualifyVerfyReq {
|
||||
@ApiModelProperty(value = "意向签约时间", required = true)
|
||||
private String intendedSignDate;
|
||||
|
||||
@ApiModelProperty(value = "请求来源", required = true)
|
||||
private String fraSource;
|
||||
|
||||
@ApiModelProperty(value = "保证金(元)", required = true, example = "5000")
|
||||
private int amtDeposit;
|
||||
|
||||
@ApiModelProperty(value = "授权码", required = true)
|
||||
private String authCode;
|
||||
|
||||
@ApiModelProperty(value = "意向签约人", required = true)
|
||||
private String intendedSigner;
|
||||
|
||||
@ApiModelProperty(value = "手机号", required = true)
|
||||
private String intendedSignerTel;
|
||||
|
||||
@ApiModelProperty(value = "钉钉用户id", required = true)
|
||||
private String dingUserId;
|
||||
|
||||
public String getIntendedSignDate() {
|
||||
return intendedSignDate;
|
||||
}
|
||||
|
||||
public void setIntendedSignDate(String intendedSignDate) {
|
||||
this.intendedSignDate = intendedSignDate;
|
||||
}
|
||||
|
||||
public String getFraSource() {
|
||||
return fraSource;
|
||||
}
|
||||
|
||||
public void setFraSource(String fraSource) {
|
||||
this.fraSource = fraSource;
|
||||
}
|
||||
|
||||
public int getAmtDeposit() {
|
||||
return amtDeposit;
|
||||
}
|
||||
|
||||
public void setAmtDeposit(int amtDeposit) {
|
||||
this.amtDeposit = amtDeposit;
|
||||
}
|
||||
|
||||
public String getAuthCode() {
|
||||
return authCode;
|
||||
}
|
||||
|
||||
public void setAuthCode(String authCode) {
|
||||
this.authCode = authCode;
|
||||
}
|
||||
|
||||
public String getIntendedSigner() {
|
||||
return intendedSigner;
|
||||
}
|
||||
|
||||
public void setIntendedSigner(String intendedSigner) {
|
||||
this.intendedSigner = intendedSigner;
|
||||
}
|
||||
|
||||
public String getIntendedSignerTel() {
|
||||
return intendedSignerTel;
|
||||
}
|
||||
|
||||
public void setIntendedSignerTel(String intendedSignerTel) {
|
||||
this.intendedSignerTel = intendedSignerTel;
|
||||
}
|
||||
|
||||
public String getDingUserId() {
|
||||
return dingUserId;
|
||||
}
|
||||
|
||||
public void setDingUserId(String dingUserId) {
|
||||
this.dingUserId = dingUserId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-15 13:28
|
||||
* @Description:
|
||||
*/
|
||||
public class RpcGetMdmTokenReq {
|
||||
private String appKey;
|
||||
private String appSecret;
|
||||
|
||||
public String getAppKey() {
|
||||
return appKey;
|
||||
}
|
||||
|
||||
public void setAppKey(String appKey) {
|
||||
this.appKey = appKey;
|
||||
}
|
||||
|
||||
public String getAppSecret() {
|
||||
return appSecret;
|
||||
}
|
||||
|
||||
public void setAppSecret(String appSecret) {
|
||||
this.appSecret = appSecret;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -30,7 +30,7 @@ public class PartnerIntentApplyInfoVO {
|
||||
private String partnerId;
|
||||
|
||||
@ApiModelProperty("hy_partner_line_info.id")
|
||||
private Long partnerLineId;
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("常驻区域")
|
||||
private String liveArea;
|
||||
@@ -50,4 +50,7 @@ public class PartnerIntentApplyInfoVO {
|
||||
@ApiModelProperty("阶段提交时间")
|
||||
private Date partnerSubmitTime;
|
||||
|
||||
@ApiModelProperty("阶段状态")
|
||||
private String WorkflowStatus;
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,12 @@ public class PartnerIntentInfoVO {
|
||||
@ApiModelProperty("hy_partner_user_info.partner_id")
|
||||
private String partnerId;
|
||||
|
||||
@ApiModelProperty("加盟商姓名")
|
||||
private String partnerUserName;
|
||||
|
||||
@ApiModelProperty("加盟商手机号")
|
||||
private String partnerUserPhone;
|
||||
|
||||
@ApiModelProperty("hy_partner_line_info.id")
|
||||
private Long partnerLineId;
|
||||
|
||||
|
||||
@@ -30,6 +30,9 @@ public class PartnerInterviewInfoVO {
|
||||
@ApiModelProperty("会议结束时间")
|
||||
private String endTime;
|
||||
|
||||
@ApiModelProperty("截止时间")
|
||||
private Date deadline;
|
||||
|
||||
@ApiModelProperty("房间号")
|
||||
private String roomId;
|
||||
|
||||
@@ -39,6 +42,9 @@ public class PartnerInterviewInfoVO {
|
||||
@ApiModelProperty("加盟商用户名称")
|
||||
private String partnerName;
|
||||
|
||||
@ApiModelProperty("加盟商手机号码")
|
||||
private String partnerPhone;
|
||||
|
||||
@ApiModelProperty("面试官ID")
|
||||
private String interviewerId;
|
||||
|
||||
@@ -50,4 +56,16 @@ public class PartnerInterviewInfoVO {
|
||||
|
||||
@ApiModelProperty("过程信息")
|
||||
private String processInfo;
|
||||
|
||||
@ApiModelProperty("线索状态")
|
||||
private Integer lineStatus;
|
||||
|
||||
@ApiModelProperty("线索ID")
|
||||
private Long lineId;
|
||||
|
||||
@ApiModelProperty("合同号")
|
||||
private String authCode;
|
||||
|
||||
@ApiModelProperty("审批发起时间")
|
||||
private Date approveTime;
|
||||
}
|
||||
|
||||
@@ -55,8 +55,22 @@ public class PrivateSeaLineListVo {
|
||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
@@ -59,5 +59,9 @@ public class PublicSeaLineListVo {
|
||||
|
||||
@ApiModelProperty("跟进次数")
|
||||
private Integer followCount;
|
||||
@ApiModelProperty("意向开店区域ID")
|
||||
private String wantShopArea;
|
||||
|
||||
private String acceptAdjustType;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -130,6 +130,20 @@
|
||||
<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: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.jsqlparser:jsqlparser:4.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: redis.clients:jedis:2.8.0" level="project" />
|
||||
@@ -142,5 +156,19 @@
|
||||
<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: 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.aspectj:aspectjrt:1.9.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -68,6 +68,18 @@
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>dytnsapi20200217</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>ocr20191230</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.aspectj</groupId>
|
||||
<artifactId>aspectjrt</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.aspectj</groupId>
|
||||
<artifactId>aspectjweaver</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -4,6 +4,7 @@ package com.cool.store.handler;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.response.error.ErrorResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
@@ -15,23 +16,27 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
* @Description: 自定义异常处理
|
||||
* @date 2023-06-13 19:42
|
||||
*/
|
||||
@Slf4j
|
||||
@RestControllerAdvice
|
||||
public class CustomExceptionHandler {
|
||||
|
||||
@ExceptionHandler(value = ServiceException.class)
|
||||
public ResponseEntity<ErrorResponse> handleCustomException(ServiceException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage());
|
||||
return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
|
||||
@ExceptionHandler(value = ApiException.class)
|
||||
public ResponseEntity<ErrorResponse> handleCustomException(ApiException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
ErrorResponse errorResponse = new ErrorResponse(e.getErrorCode(), e.getMessage());
|
||||
return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
|
||||
@ExceptionHandler(value = Exception.class)
|
||||
public ResponseEntity<ErrorResponse> handleException(Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
ErrorResponse errorResponse = new ErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR.value(), e.getMessage());
|
||||
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.cool.store.dto.enterprise.AuthScopeDTO;
|
||||
import com.cool.store.dto.enterprise.EnterpriseUserDTO;
|
||||
import com.cool.store.dto.enterprise.SysDepartmentDTO;
|
||||
import com.cool.store.dto.login.UserIdInfoDTO;
|
||||
import com.cool.store.dto.message.SendCardMessageDTO;
|
||||
import com.cool.store.dto.response.ResultDTO;
|
||||
import com.cool.store.entity.EnterpriseUserDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
@@ -17,6 +18,7 @@ import com.cool.store.utils.RestTemplateUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -311,4 +313,23 @@ public class ISVHttpRequest {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送飞书卡片消息
|
||||
* @param param
|
||||
*/
|
||||
public void sendFeiShuCardMessage(SendCardMessageDTO param) throws ApiException{
|
||||
if(CollectionUtils.isEmpty(param.getUserIds()) || StringUtils.isAnyBlank(param.getTitle(), param.getContent(), param.getMessageUrl()) || Objects.isNull(param.getMessageType())){
|
||||
return;
|
||||
}
|
||||
String url = isvDomain + "/sendFeiShuCardMessage";
|
||||
ResultDTO responseEntity = null;
|
||||
try {
|
||||
responseEntity = httpRestTemplateService.postForObject(url, param, ResultDTO.class);
|
||||
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
|
||||
} catch (Exception e) {
|
||||
log.info("调用isv出错{}", e);
|
||||
throw new ApiException(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.cool.store.mq;
|
||||
|
||||
|
||||
import com.aliyun.openservices.ons.api.Constants;
|
||||
import com.aliyun.openservices.ons.api.Message;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.aspectj.lang.JoinPoint;
|
||||
import org.aspectj.lang.annotation.AfterReturning;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Before;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 切面处理类,操作日志异常日志记录处理
|
||||
* @author jiangjixiang
|
||||
*/
|
||||
@Aspect
|
||||
@Component
|
||||
@Slf4j
|
||||
public class RocketMqLogAspect {
|
||||
|
||||
|
||||
/**
|
||||
* 设置操作异常切入点记录异常日志 扫描所有controller包下操作
|
||||
*/
|
||||
@Pointcut(value = "execution(public * com.cool.store.mq.consumer.listener..*.consume(..))")
|
||||
public void rocketMqMdc() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 正常返回通知,拦截用户操作日志,连接点正常执行完成后执行, 如果连接点抛出异常,则不会执行
|
||||
*
|
||||
* @param joinPoint 切入点
|
||||
* @param keys 返回结果
|
||||
*/
|
||||
@Before(value = "rocketMqMdc()")
|
||||
public void mqBeforeLog(JoinPoint joinPoint) {
|
||||
try {
|
||||
Object[] args = joinPoint.getArgs();
|
||||
Message message = (Message)args[0];
|
||||
String traceId = message.getMsgID() + Constants.TOPIC_PARTITION_SEPARATOR + message.getReconsumeTimes();
|
||||
Map<String, String> context = MDC.getCopyOfContextMap();
|
||||
if(Objects.isNull(context)){
|
||||
MDC.put(CommonConstants.REQUEST_ID, traceId);
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.info("MDC mqBeforeLog", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@AfterReturning(value = "rocketMqMdc()")
|
||||
public void doAfterReturning(JoinPoint joinPoint){
|
||||
try {
|
||||
MDC.clear();
|
||||
} catch (Exception e) {
|
||||
log.info("MDC doAfterReturning", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import com.aliyun.openservices.ons.api.Message;
|
||||
import com.aliyun.openservices.ons.api.MessageListener;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dto.buser.UserEventDTO;
|
||||
import com.cool.store.dto.dept.DepartmentEventDTO;
|
||||
import com.cool.store.enums.RocketMqTagEnum;
|
||||
import com.cool.store.service.EnterpriseSyncService;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
@@ -45,13 +46,19 @@ public class FeiShuEventListener implements MessageListener {
|
||||
RocketMqTagEnum tag = RocketMqTagEnum.getByTag(message.getTag());
|
||||
switch (tag){
|
||||
case USER_EVENT:
|
||||
UserEventDTO reqBody = JSONObject.parseObject(text, UserEventDTO.class);
|
||||
enterpriseSyncService.userUpdateEvent(reqBody);
|
||||
UserEventDTO userBody = JSONObject.parseObject(text, UserEventDTO.class);
|
||||
enterpriseSyncService.userUpdateEvent(userBody);
|
||||
break;
|
||||
case AUTH_SCOPE_CHANGE:
|
||||
enterpriseSyncService.syncAll();
|
||||
break;
|
||||
case DEPT_EVENT:
|
||||
DepartmentEventDTO deptBody = JSONObject.parseObject(text, DepartmentEventDTO.class);
|
||||
enterpriseSyncService.deptUpdateEvent(deptBody);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
log.error("DingMsgDealListener consume dealAddressBookChange error",e);
|
||||
return Action.ReconsumeLater;
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
|
||||
import com.cool.store.exception.ApiException;
|
||||
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) throws ApiException;
|
||||
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.dto.buser.UserEventDTO;
|
||||
import com.cool.store.dto.dept.DepartmentEventDTO;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
@@ -17,4 +18,10 @@ public interface EnterpriseSyncService {
|
||||
* @param param
|
||||
*/
|
||||
void userUpdateEvent(UserEventDTO param);
|
||||
|
||||
/**
|
||||
* 部门事件
|
||||
* @param param
|
||||
*/
|
||||
void deptUpdateEvent(DepartmentEventDTO param);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.service;
|
||||
import com.cool.store.entity.EnterpriseUserDO;
|
||||
import com.cool.store.request.EnterpriseUserRequest;
|
||||
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
|
||||
import com.cool.store.vo.buser.EnterpriseUserPageVO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -16,4 +17,12 @@ public interface EnterpriseUserService {
|
||||
|
||||
EnterpriseUserDO getUserInfoByUserId(String userId);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
List<EnterpriseUserSingleInfoVO> getInvestmentManagerList(String type,String userId,String keyword);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.request.CreateQualifyVerifyReq;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 13:51
|
||||
* @Description:
|
||||
*/
|
||||
public interface FlowService {
|
||||
void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException;
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.AddTagsRequest;
|
||||
import com.cool.store.request.PartnerBaseInfoRequest;
|
||||
import com.cool.store.vo.PartnerBaseInfoVO;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -16,4 +18,8 @@ public interface HyPartnerBaseInfoService {
|
||||
* @return
|
||||
*/
|
||||
Boolean addTags(AddTagsRequest addTagsRequest);
|
||||
|
||||
Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request);
|
||||
|
||||
PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.PartnerClerkInfoRequest;
|
||||
import com.cool.store.vo.PartnerClerkVO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -19,6 +20,10 @@ public interface HyPartnerClerkService {
|
||||
*/
|
||||
List<PartnerClerkVO> getPartnerClerkList(Long lineId);
|
||||
|
||||
Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request);
|
||||
|
||||
List<PartnerClerkVO> queryPartnerClerkInfo(String partnerId, Long lineId);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.BaseUserInfoRequest;
|
||||
import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
import com.cool.store.vo.PartnerIntentInfoVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
/**
|
||||
@@ -27,7 +29,7 @@ public interface HyPartnerIntentInfoService {
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
PartnerIntentApplyInfoVO getPartnerIntentApplyInfo(Long lineId);
|
||||
PartnerIntentInfoVO getPartnerIntentApplyDetail(Long lineId);
|
||||
|
||||
/**
|
||||
* 员工端 修改加盟商意向信息
|
||||
@@ -36,4 +38,8 @@ public interface HyPartnerIntentInfoService {
|
||||
*/
|
||||
Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest);
|
||||
|
||||
Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest);
|
||||
|
||||
PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId);
|
||||
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ public interface HyPartnerInterviewPlanService {
|
||||
* @param pageNumber
|
||||
* @return
|
||||
*/
|
||||
PageInfo<PartnerInterviewInfoVO> getPartnerInterviewInfoList(String userId,Integer pageSize,Integer pageNumber);
|
||||
PageInfo<PartnerInterviewInfoVO> getPartnerInterviewInfoList(String userId,String type,Integer pageSize,Integer pageNumber);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,10 +2,7 @@ package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
import com.cool.store.vo.BlackListVO;
|
||||
import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO;
|
||||
import com.cool.store.vo.PartnerLineInfoVO;
|
||||
import com.cool.store.vo.StageCountVO;
|
||||
import com.cool.store.vo.*;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -99,5 +96,13 @@ public interface HyPartnerLineInfoService {
|
||||
*/
|
||||
Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest);
|
||||
|
||||
/**
|
||||
* 公海线索
|
||||
* @param userId
|
||||
* @param lineRequest
|
||||
* @return
|
||||
*/
|
||||
PageInfo<PublicSeaLineListVo> publicSeaLineList(String userId,LineRequest lineRequest);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
|
||||
public interface PartnerUserInfoService {
|
||||
|
||||
HyPartnerUserInfoDO selectByPartnerId(String partnerId);
|
||||
|
||||
Boolean queryJoinNotice(String partnerId);
|
||||
|
||||
Boolean completeJoinNotice(String partnerId);
|
||||
}
|
||||
|
||||
@@ -61,6 +61,12 @@ public interface ZoneService {
|
||||
*/
|
||||
List<ZoneCheckVO> checkZone(IntentAreaSettingRequest intentAreaSettingRequest);
|
||||
|
||||
/**
|
||||
* 查询所有绑定战区的组织机构
|
||||
* @return
|
||||
*/
|
||||
List<String> queryAllBingZoneRegionList(String type);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ public class AdvanceSettingServiceImpl implements AdvanceSettingService {
|
||||
if (advancedSettingRequest.getId()!=null){
|
||||
//修改
|
||||
updateAdvanceSetting(userId,advancedSettingRequest);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO();
|
||||
hyAdvancedSettingDO.setCreateUserId(userId);
|
||||
@@ -38,7 +39,7 @@ public class AdvanceSettingServiceImpl implements AdvanceSettingService {
|
||||
|
||||
private Boolean updateAdvanceSetting(String userId, AdvancedSettingRequest advancedSettingRequest) {
|
||||
HyAdvancedSettingDO hyAdvancedSettingDO = new HyAdvancedSettingDO();
|
||||
hyAdvancedSettingDO.setCreateUserId(userId);
|
||||
hyAdvancedSettingDO.setUpdateUserId(userId);
|
||||
hyAdvancedSettingDO.setId(advancedSettingRequest.getId());
|
||||
hyAdvancedSettingDO.setPartnerUrl(advancedSettingRequest.getPartnerUrl());
|
||||
hyAdvancedSettingDO.setTencentVideoAccount(advancedSettingRequest.getTencentVideoAccount());
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
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.teaopenapi.models.Config;
|
||||
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
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) throws ApiException {
|
||||
//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);
|
||||
throw new ApiException(e.getMessage());
|
||||
} catch (MalformedURLException e) {
|
||||
log.error("身份证解析报错MalformedURLException:{}", e);
|
||||
throw new ApiException(e.getMessage());
|
||||
} catch (IOException e) {
|
||||
log.error("身份证解析报错IOException:{}", e);
|
||||
throw new ApiException(e.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("身份证解析报错Exception:{}", e);
|
||||
throw new ApiException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.buser.UserEventDTO;
|
||||
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
|
||||
import com.cool.store.dto.dept.DepartmentEventDTO;
|
||||
import com.cool.store.dto.enterprise.*;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.DataSourceEnum;
|
||||
@@ -204,4 +206,19 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deptUpdateEvent(DepartmentEventDTO param) {
|
||||
log.info("部门变更:{}", JSONObject.toJSONString(param));
|
||||
switch (parseValue(param.getEventType())){
|
||||
case DEPARTMENT_CREATED:
|
||||
break;
|
||||
case DEPARTMENT_UPDATED:
|
||||
break;
|
||||
case DEPARTMENT_DELETED:
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.service.EnterpriseUserService;
|
||||
import com.cool.store.service.ZoneService;
|
||||
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
@@ -22,10 +30,61 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
|
||||
private EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
private EnterpriseUserRoleDAO enterpriseUserRoleDAO;
|
||||
@Resource
|
||||
ZoneService zoneService;
|
||||
@Resource
|
||||
RegionDAO regionDAO;
|
||||
@Resource
|
||||
UserRegionMappingDAO userRegionMappingDAO;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public EnterpriseUserDO getUserInfoByUserId(String 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,188 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dto.login.UserIdInfoDTO;
|
||||
import com.cool.store.dto.mdm.AccessTokenDTO;
|
||||
import com.cool.store.dto.response.MDMResultDTO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.DataSourceEnum;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.DingdingUserMapper;
|
||||
import com.cool.store.mapper.HyPartnerCertificationInfoMapper;
|
||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
||||
import com.cool.store.request.CreateQualifyVerifyReq;
|
||||
import com.cool.store.request.RpcCreateQualifyVerfyReq;
|
||||
import com.cool.store.request.RpcGetMdmTokenReq;
|
||||
import com.cool.store.service.FlowService;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.utils.RestTemplateUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 14:22
|
||||
* @Description:
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class FlowServiceImpl implements FlowService {
|
||||
|
||||
// @Value("${hs.mdm.baseUrl}")
|
||||
private String mdmBaseUrl;
|
||||
@Autowired
|
||||
private RedisUtilPool redisUtilPool;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerLineInfoMapper hyPartnerLineInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private EnterpriseUserDAO enterpriseUserDAO;
|
||||
|
||||
@Autowired
|
||||
private DingdingUserMapper dingdingUserMapper;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerInterviewMapper hyPartnerInterviewMapper;
|
||||
|
||||
@Autowired
|
||||
private HyPartnerCertificationInfoMapper hyPartnerCertificationInfoMapper;
|
||||
|
||||
@Override
|
||||
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException {
|
||||
//1.发起加盟商资质审核
|
||||
RpcCreateQualifyVerfyReq rpcRequest = new RpcCreateQualifyVerfyReq();
|
||||
rpcRequest.setIntendedSignDate(request.getWantSignTime());
|
||||
rpcRequest.setFraSource("HSAYPartner");
|
||||
rpcRequest.setAmtDeposit(Integer.valueOf(request.getSecurityFund()));
|
||||
|
||||
//获取授权码
|
||||
String authCode = null;
|
||||
if (StringUtils.isBlank(request.getLineId())) {
|
||||
//根据线索id获取线索信息
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoMapper.selectByPrimaryKeySelective(Long.valueOf(request.getLineId()));
|
||||
if (!Objects.isNull(hyPartnerLineInfoDO)) {
|
||||
String investmentManagerId = hyPartnerLineInfoDO.getInvestmentManager();
|
||||
EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoById(investmentManagerId);
|
||||
if (!Objects.isNull(enterpriseUserDO)) {
|
||||
String jobNumber = enterpriseUserDO.getJobnumber();
|
||||
String mobile = enterpriseUserDO.getMobile();
|
||||
DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile);
|
||||
if (Objects.isNull(dingdingUserDO)) {
|
||||
throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST);
|
||||
}
|
||||
rpcRequest.setDingUserId(dingdingUserDO.getUserid());
|
||||
authCode = generateAuthCode(jobNumber);
|
||||
rpcRequest.setAuthCode(authCode);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
rpcRequest.setIntendedSigner(request.getIntentionSignerUsername());
|
||||
rpcRequest.setIntendedSignerTel(request.getIntentionSignerMobile());
|
||||
|
||||
String qualifyVerifyId = createQualifyVerify(rpcRequest);
|
||||
//2.更新审核信息
|
||||
HyPartnerCertificationInfoDO partnerCertificationInfoDO = new HyPartnerCertificationInfoDO();
|
||||
partnerCertificationInfoDO.setPartnerId(request.getPartnerId());
|
||||
partnerCertificationInfoDO.setPartnerLineId(Long.valueOf(request.getLineId()));
|
||||
partnerCertificationInfoDO.setPartnerInterviewId(Long.valueOf(request.getInterviewId()));
|
||||
partnerCertificationInfoDO.setPartnership(String.valueOf(request.getPartnership()));
|
||||
partnerCertificationInfoDO.setWantSignTime(DateUtil.parseDate(request.getWantSignTime()));
|
||||
partnerCertificationInfoDO.setPartnerFee(request.getPartnerFee());
|
||||
partnerCertificationInfoDO.setSecurityFund(request.getSecurityFund());
|
||||
partnerCertificationInfoDO.setTechnicalServiceFee(request.getTechnicalServiceFee());
|
||||
partnerCertificationInfoDO.setIntentionMoney(request.getIntentionMoney());
|
||||
partnerCertificationInfoDO.setIntentionSignerUsername(request.getIntentionSignerUsername());
|
||||
partnerCertificationInfoDO.setIntentionSignerMobile(request.getIntentionSignerMobile());
|
||||
partnerCertificationInfoDO.setIntentionEdu(request.getIntentionEdu());
|
||||
partnerCertificationInfoDO.setRealControlUsername(request.getRealControlUsername());
|
||||
partnerCertificationInfoDO.setRealControlIdcard(request.getRealControlIdcard());
|
||||
partnerCertificationInfoDO.setSignerRealControlRelation(request.getSignerRealControlRelation());
|
||||
partnerCertificationInfoDO.setSignerOtherRealControlRelation(request.getSignerOtherRealControlRelation());
|
||||
partnerCertificationInfoDO.setSignerRealControlRelationCert(request.getSignerRealControlRelationCert());
|
||||
partnerCertificationInfoDO.setCreateTime(new Date());
|
||||
partnerCertificationInfoDO.setUpdateTime(new Date());
|
||||
hyPartnerCertificationInfoMapper.updateByPrimaryKeySelective(partnerCertificationInfoDO);
|
||||
//3.更新面试信息
|
||||
//根据面试id获取面试信息
|
||||
HyPartnerInterviewDO hyPartnerInterviewDO = hyPartnerInterviewMapper.selectByPrimaryKeySelective(request.getInterviewId());
|
||||
if (Objects.isNull(hyPartnerInterviewDO)) {
|
||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
|
||||
}
|
||||
hyPartnerInterviewDO.setQualifyVerifyId(qualifyVerifyId);
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
//更新
|
||||
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_4.getCode()));
|
||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public String createQualifyVerify(RpcCreateQualifyVerfyReq rpcRequest) throws ApiException{
|
||||
String url = mdmBaseUrl + "/api/openapi/runtime/form/startFraQualExam";
|
||||
ResponseEntity<MDMResultDTO> responseEntity = null;
|
||||
try {
|
||||
RpcGetMdmTokenReq rpcGetMDMTokenReq = new RpcGetMdmTokenReq();
|
||||
Map<String, String> headers = new HashMap<>();
|
||||
headers.put("Authorization", getMdmAccessToken(rpcGetMDMTokenReq));
|
||||
responseEntity = RestTemplateUtil.post(url, headers,rpcRequest, MDMResultDTO.class);
|
||||
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
|
||||
if (Objects.nonNull(responseEntity.getBody()) && responseEntity.getBody().isSuccess()) {
|
||||
return JSONObject.toJSONString(responseEntity.getBody().getData());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info("调用MDM接口出错{}", e);
|
||||
throw new ApiException(e.getMessage());
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
public String getMdmAccessToken(RpcGetMdmTokenReq rpcGetMDMTokenReq) throws ApiException {
|
||||
String url = mdmBaseUrl + "/api/oauth2/accessToken";
|
||||
ResponseEntity<MDMResultDTO> responseEntity = null;
|
||||
try {
|
||||
responseEntity = RestTemplateUtil.post(url,rpcGetMDMTokenReq, MDMResultDTO.class);
|
||||
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
|
||||
if (Objects.nonNull(responseEntity.getBody()) && responseEntity.getBody().isSuccess()) {
|
||||
AccessTokenDTO accessTokenDTO = JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getBody().getData()), AccessTokenDTO.class);
|
||||
if(accessTokenDTO==null || StringUtils.isBlank(accessTokenDTO.getAccessToken())){
|
||||
throw new ServiceException("获取Mdm token失败!");
|
||||
}
|
||||
return accessTokenDTO.getAccessToken();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.info("调用MDM接口出错{}", e);
|
||||
throw new ApiException(e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成授权码
|
||||
*
|
||||
* @param jobNumber
|
||||
* @return
|
||||
*/
|
||||
public String generateAuthCode(String jobNumber) {
|
||||
String prefix = jobNumber + DateUtil.format(new Date(), "yyyyMMdd");
|
||||
return prefix + redisUtilPool.incrby(prefix, 1, 60 * 60 * 25);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,16 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
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.PartnerBaseInfoRequest;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.vo.PartnerBaseInfoVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -29,4 +35,49 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO);
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.dao.HyPartnerClerkDAO;
|
||||
import com.cool.store.entity.HyPartnerClerkDO;
|
||||
import com.cool.store.service.HyPartnerClerkService;
|
||||
import com.cool.store.vo.PartnerClerkVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/15 11:05
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
public class HyPartnerClerkImpl 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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,27 +1,35 @@
|
||||
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.dao.HyPartnerBaseInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerIntentInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
|
||||
import com.cool.store.entity.HyPartnerIntentInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.BaseUserInfoRequest;
|
||||
import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.service.HyPartnerIntentInfoService;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
import com.cool.store.vo.PartnerIntentInfoVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -62,28 +70,19 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds);
|
||||
Map<String, HyPartnerUserInfoDO> infoDOMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, data -> data));
|
||||
List<PartnerIntentApplyInfoVO> result = new ArrayList<>();
|
||||
String finalWorkflowStatus = workflowStatus;
|
||||
list.stream().forEach(x->{
|
||||
PartnerIntentApplyInfoVO pat = partnerIntentApplyInfoDTOToVo(x);
|
||||
HyPartnerUserInfoDO infoDOMapOrDefault = infoDOMap.getOrDefault(x.getPartnerId(), new HyPartnerUserInfoDO());
|
||||
pat.setPartnerUserName(infoDOMapOrDefault.getUsername());
|
||||
pat.setPartnerUserPhone(infoDOMapOrDefault.getMobile());
|
||||
pat.setWorkflowStatus(finalWorkflowStatus);
|
||||
result.add(pat);
|
||||
});
|
||||
partnerIntentApplyInfo.setList(result);
|
||||
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
|
||||
public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) {
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId()));
|
||||
@@ -102,6 +101,68 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
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
|
||||
* @param partnerIntentApplyInfoDTO
|
||||
@@ -111,7 +172,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
PartnerIntentApplyInfoVO partnerIntentApplyInfoVO = new PartnerIntentApplyInfoVO();
|
||||
partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId());
|
||||
partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId());
|
||||
partnerIntentApplyInfoVO.setPartnerLineId(partnerIntentApplyInfoDTO.getPartnerLineId());
|
||||
partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId());
|
||||
partnerIntentApplyInfoVO.setPartnerSubmitTime(partnerIntentApplyInfoDTO.getPartnerSubmitTime());
|
||||
partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType());
|
||||
partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea());
|
||||
@@ -121,4 +182,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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,9 +3,11 @@ package com.cool.store.service.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.HyPartnerInterviewPlanDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
@@ -39,6 +41,8 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
@Resource
|
||||
HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
|
||||
|
||||
@Resource
|
||||
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||
|
||||
@Override
|
||||
public List<InterviewDetailInfoVO> getInterviewPlanList(String userId) {
|
||||
@@ -63,17 +67,34 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<PartnerInterviewInfoVO> getPartnerInterviewInfoList(String userId ,Integer pageSize,Integer pageNumber) {
|
||||
public PageInfo<PartnerInterviewInfoVO> getPartnerInterviewInfoList(String userId ,String type,Integer pageSize,Integer pageNumber) {
|
||||
String workflowStatus = "";
|
||||
if (CommonConstants.PENDING.equals(type)) {
|
||||
workflowStatus = WorkflowStatusEnum.RESERVATION_1.getCode();
|
||||
}
|
||||
if (CommonConstants.FOLLOW.equals(type)) {
|
||||
workflowStatus = WorkflowStatusEnum.RESERVATION_0.getCode();
|
||||
}
|
||||
PageHelper.startPage(pageNumber,pageSize);
|
||||
//查询预约面试列表
|
||||
PageInfo partnerInterviewInfoList = hyPartnerInterviewPlanDAO.getPartnerInterviewInfoList(userId, WorkflowStageEnum.RESERVATION.getCode(), WorkflowStatusEnum.RESERVATION_0.getCode());
|
||||
PageInfo partnerInterviewInfoList = hyPartnerInterviewPlanDAO.getPartnerInterviewInfoList(userId, WorkflowStageEnum.RESERVATION.getCode(), workflowStatus);
|
||||
List<PartnerInterviewInfoDTO> list = partnerInterviewInfoList.getList();
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
return partnerInterviewInfoList;
|
||||
}
|
||||
List<PartnerInterviewInfoVO> result = new ArrayList<>();
|
||||
List<String> partnerIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerId).collect(Collectors.toList());
|
||||
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds);
|
||||
Map<String, HyPartnerUserInfoDO> userNameMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, Data->Data));
|
||||
List<Long> lineIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerLineId).collect(Collectors.toList());
|
||||
List<HyPartnerLineInfoDO> hyPartnerLineInfoDOS= hyPartnerLineInfoDAO.getHyPartnerLineInfoListByIds(lineIds);
|
||||
Map<Long, HyPartnerLineInfoDO> hyPartnerLineInfoDOMap = hyPartnerLineInfoDOS.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getId, data -> data));
|
||||
list.stream().forEach(x->{
|
||||
PartnerInterviewInfoVO partnerInterviewInfoVO = convertPartnerInterviewInfoDTOToVo(x);
|
||||
partnerInterviewInfoVO.setPartnerPhone(userNameMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getUsername());
|
||||
partnerInterviewInfoVO.setPartnerPhone(userNameMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getMobile());
|
||||
partnerInterviewInfoVO.setLineStatus(hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerLineId(),new HyPartnerLineInfoDO()).getLineStatus());
|
||||
partnerInterviewInfoVO.setLineId(hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerLineId(),new HyPartnerLineInfoDO()).getId());
|
||||
result.add(partnerInterviewInfoVO);
|
||||
});
|
||||
partnerInterviewInfoList.setList(result);
|
||||
@@ -97,9 +118,19 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
return partnerInterviewInfoList;
|
||||
}
|
||||
List<String> partnerIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerId).collect(Collectors.toList());
|
||||
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIds);
|
||||
Map<String, HyPartnerUserInfoDO> userNameMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, Data->Data));
|
||||
List<Long> lineIds = list.stream().map(PartnerInterviewInfoDTO::getPartnerLineId).collect(Collectors.toList());
|
||||
List<HyPartnerLineInfoDO> hyPartnerLineInfoDOS= hyPartnerLineInfoDAO.getHyPartnerLineInfoListByIds(lineIds);
|
||||
Map<Long, HyPartnerLineInfoDO> hyPartnerLineInfoDOMap = hyPartnerLineInfoDOS.stream().collect(Collectors.toMap(HyPartnerLineInfoDO::getId, data -> data));
|
||||
List<PartnerInterviewInfoVO> result = new ArrayList<>();
|
||||
list.stream().forEach(x->{
|
||||
PartnerInterviewInfoVO partnerInterviewInfoVO = convertPartnerInterviewInfoDTOToVo(x);
|
||||
partnerInterviewInfoVO.setPartnerPhone(userNameMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getUsername());
|
||||
partnerInterviewInfoVO.setPartnerPhone(userNameMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getMobile());
|
||||
partnerInterviewInfoVO.setLineStatus(hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerLineId(),new HyPartnerLineInfoDO()).getLineStatus());
|
||||
partnerInterviewInfoVO.setLineId(hyPartnerLineInfoDOMap.getOrDefault(x.getPartnerLineId(),new HyPartnerLineInfoDO()).getId());
|
||||
result.add(partnerInterviewInfoVO);
|
||||
});
|
||||
partnerInterviewInfoList.setList(result);
|
||||
@@ -135,9 +166,12 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
partnerInterviewInfoVO.setProcessInfo(partnerInterviewInfoDTO.getProcessInfo());
|
||||
partnerInterviewInfoVO.setCreateTime(DateUtil.format(partnerInterviewInfoDTO.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerInterviewInfoVO.setRoomId(partnerInterviewInfoDTO.getRoomId());
|
||||
partnerInterviewInfoVO.setDeadline(partnerInterviewInfoDTO.getDeadline());
|
||||
partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerInterviewInfoVO.setStatus(partnerInterviewInfoDTO.getStatus());
|
||||
partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getAuthCode());
|
||||
partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerInterviewInfoVO.setApproveTime(partnerInterviewInfoDTO.getApproveTime());
|
||||
return partnerInterviewInfoVO;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,11 +2,12 @@ package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.dto.partner.PartnerBlackListDTO;
|
||||
import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO;
|
||||
import com.cool.store.dto.partner.StageCountDTO;
|
||||
import com.cool.store.dao.UserRegionMappingDAO;
|
||||
import com.cool.store.dto.partner.*;
|
||||
import com.cool.store.entity.EnterpriseUserDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
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.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
import com.cool.store.service.EnterpriseUserService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.vo.BlackListVO;
|
||||
import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO;
|
||||
import com.cool.store.vo.PartnerLineInfoVO;
|
||||
import com.cool.store.vo.StageCountVO;
|
||||
import com.cool.store.vo.*;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -48,6 +45,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||
@Resource
|
||||
HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
|
||||
@Resource
|
||||
EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
UserRegionMappingDAO userRegionMappingDAO;
|
||||
|
||||
@Override
|
||||
public StageCountVO selectStagePendingCount(String userId) {
|
||||
@@ -138,7 +139,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
@Override
|
||||
public PageInfo<BlackListVO> getBlackList(LineRequest LineRequest) {
|
||||
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<BlackListVO> result = new ArrayList<>();
|
||||
list.stream().forEach(x->{
|
||||
@@ -228,6 +229,68 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||
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
|
||||
* @param partnerBlackListDTO
|
||||
|
||||
@@ -41,6 +41,8 @@ public class OpenAreaServiceImpl implements OpenAreaService {
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag);
|
||||
Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
|
||||
|
||||
List<HyOpenAreaInfoDO> result = new ArrayList<>();
|
||||
result.addAll(hyOpenAreaInfoDOS);
|
||||
hyOpenAreaInfoDOS.stream().forEach(x->{
|
||||
Long parentId = x.getParentId();
|
||||
|
||||
@@ -48,11 +50,11 @@ public class OpenAreaServiceImpl implements OpenAreaService {
|
||||
//添加到集合中
|
||||
longSet.add(x.getParentId());
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = longHyOpenAreaInfoDOMap.get(parentId);
|
||||
hyOpenAreaInfoDOS.add(hyOpenAreaInfoDO);
|
||||
result.add(hyOpenAreaInfoDO);
|
||||
}
|
||||
});
|
||||
|
||||
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
|
||||
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(result)), "id", "parentId","childNode" );
|
||||
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
|
||||
return openAreaTreeVOS;
|
||||
}
|
||||
@@ -128,7 +130,8 @@ public class OpenAreaServiceImpl implements OpenAreaService {
|
||||
@Override
|
||||
public PageInfo<OpenAreaVO> queryKeyOpenAreaList(Integer pageSize, Integer pageNumber) {
|
||||
PageHelper.startPage(pageNumber,pageSize);
|
||||
PageInfo hyOpenAreaInfoDOPageInfo = hyOpenAreaInfoDAO.queryKeyOpenArea();
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryKeyOpenArea();
|
||||
PageInfo hyOpenAreaInfoDOPageInfo = new PageInfo<>(hyOpenAreaInfoDOS);
|
||||
if (hyOpenAreaInfoDOPageInfo==null){
|
||||
return new PageInfo<>();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
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 org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -11,4 +15,27 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
@Autowired
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,10 +85,13 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = new HyIntendDevZoneInfoDO();
|
||||
hyIntendDevZoneInfoDO.setId(intentAreaSettingRequest.getId());
|
||||
hyIntendDevZoneInfoDO.setZoneName(intentAreaSettingRequest.getZoneName());
|
||||
hyIntendDevZoneInfoDO.setUpdateUserId(userId);
|
||||
hyIntendDevZoneInfoDO.setAssociatedRegionId(CollectionUtils.isNotEmpty(intentAreaSettingRequest.getOrgIdList())?JSONObject.toJSONString(intentAreaSettingRequest.getOrgIdList()):"");
|
||||
hyIntendDevZoneInfoDAO.updateByPrimaryKeySelective(hyIntendDevZoneInfoDO);
|
||||
//添加战区映射的意向区域
|
||||
hyIntendDevMappingDAO.deleteByOpenAreaIds(intentAreaSettingRequest.getOpenAreaIdList(),intentAreaSettingRequest.getType());
|
||||
hyIntendDevMappingDAO.deleteByMappingIds(Arrays.asList(intentAreaSettingRequest.getId())
|
||||
,intentAreaSettingRequest.getType());
|
||||
List<Long> openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList();
|
||||
List<HyIntendDevelopementMappingDO> list = new ArrayList<>();
|
||||
openAreaIdList.stream().forEach(x->{
|
||||
@@ -106,7 +109,7 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
@Override
|
||||
public PageInfo<ZoneVO> getZoneList(String type, Integer pageSize, Integer pageNum) {
|
||||
PageHelper.startPage(pageNum,pageSize);
|
||||
PageInfo hyIntendDevZoneInfoList = hyIntendDevZoneInfoDAO.getHyIntendDevZoneInfoList(type);
|
||||
PageInfo hyIntendDevZoneInfoList = new PageInfo(hyIntendDevZoneInfoDAO.getHyIntendDevZoneInfoList(type));
|
||||
List<ZoneVO> result = new ArrayList<>();
|
||||
List<HyIntendDevZoneInfoDO> list = hyIntendDevZoneInfoList.getList();
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
@@ -145,6 +148,8 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
List<String> regionIds = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class);
|
||||
Map<String, String> regionMap = regionDAO.getRegionMap(regionIds);
|
||||
zoneVO = handleZoneVO(regionMap, hyIntendDevZoneInfoDO);
|
||||
}
|
||||
if (enterpriseUserDO!=null){
|
||||
zoneVO.setUpdateUserName(enterpriseUserDO.getName());
|
||||
}
|
||||
List<ZoneCheckDTO> zoneCheckDTOS = hyIntendDevMappingDAO.selectByMappingIdList(Arrays.asList(zoneId));
|
||||
@@ -201,13 +206,26 @@ public class ZoneServiceImpl implements ZoneService {
|
||||
List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList());
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList);
|
||||
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->{
|
||||
ZoneCheckVO zoneCheckVO = new ZoneCheckVO();
|
||||
zoneCheckVO.setZoneName(x.getZoneName());
|
||||
String areaName = areaNameMap.get(x.getOpenAreaMappingId());
|
||||
zoneCheckVO.setAreaName(areaName);
|
||||
result.add(zoneCheckVO);
|
||||
});
|
||||
return reslut;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> queryAllBingZoneRegionList(String type) {
|
||||
PageInfo<HyIntendDevZoneInfoDO> intend = new PageInfo<>(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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -107,6 +107,20 @@
|
||||
<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: 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.aspectj:aspectjrt:1.9.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" 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:2.2.6.RELEASE" level="project" />
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
package com.cool.store.config;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.utils.UUIDUtils;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@@ -67,6 +70,7 @@ public class TokenValidateFilter implements Filter {
|
||||
|
||||
@Override
|
||||
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
||||
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
|
||||
HttpServletResponse response = (HttpServletResponse) servletResponse;
|
||||
HttpServletRequest reqs = (HttpServletRequest) servletRequest;
|
||||
String uri = reqs.getRequestURI();
|
||||
@@ -109,6 +113,7 @@ public class TokenValidateFilter implements Filter {
|
||||
filterChain.doFilter(servletRequest, servletResponse);
|
||||
} finally {
|
||||
CurrentUserHolder.removeUser();
|
||||
MDC.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
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.exception.ApiException;
|
||||
import com.cool.store.http.ISVHttpRequest;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.*;
|
||||
@@ -36,7 +39,10 @@ public class DeskController {
|
||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
@Resource
|
||||
HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||
|
||||
@Resource
|
||||
private ISVHttpRequest isvHttpRequest;
|
||||
@Resource
|
||||
EnterpriseUserService enterpriseUserService;
|
||||
|
||||
|
||||
@GetMapping(path = "/interviewSchedule")
|
||||
@@ -48,14 +54,35 @@ public class DeskController {
|
||||
}
|
||||
|
||||
|
||||
@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")
|
||||
@ApiOperation("招商经理视角====各阶段待处理待跟进数量")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "type", value = "类型 待处理-Pending 待跟进-follow", required = false),
|
||||
})
|
||||
public ResponseResult<StageCountVO> queryStageCount(@RequestParam(value = "type",required = false)String type){
|
||||
String userId = "";
|
||||
return ResponseResult.success(deskService.getStageCountByType(userId,type));
|
||||
return ResponseResult.success(deskService.getStageCountByType(CurrentUserHolder.getUserId(),type));
|
||||
}
|
||||
|
||||
@GetMapping(path = "/queryInterviewPlan")
|
||||
@@ -83,11 +110,12 @@ public class DeskController {
|
||||
|
||||
@PostMapping(path = "/querySubscribeInterviewTimeList")
|
||||
@ApiOperation("招商经理视角===预约面试时间 列表")
|
||||
public ResponseResult<PageInfo<PartnerInterviewInfoVO>> querySubscribeInterviewTimeList(@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
|
||||
public ResponseResult<PageInfo<PartnerInterviewInfoVO>> querySubscribeInterviewTimeList(@RequestParam(value = "type",required = false)String type,
|
||||
@RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber,
|
||||
@RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){
|
||||
|
||||
String userId = CurrentUserHolder.getUserId();
|
||||
return ResponseResult.success(hyPartnerInterviewPlanService.getPartnerInterviewInfoList(userId,pageSize,pageNumber));
|
||||
return ResponseResult.success(hyPartnerInterviewPlanService.getPartnerInterviewInfoList(userId,type,pageSize,pageNumber));
|
||||
}
|
||||
|
||||
@PostMapping(path = "/queryQualifiedInterviewList")
|
||||
@@ -118,8 +146,8 @@ public class DeskController {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
|
||||
})
|
||||
public ResponseResult<PartnerIntentApplyInfoVO> getPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyInfo(lineId));
|
||||
public ResponseResult<PartnerIntentInfoVO> getPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.getPartnerIntentApplyDetail(lineId));
|
||||
}
|
||||
|
||||
|
||||
@@ -176,7 +204,6 @@ public class DeskController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping(path = "/queryPublicSeqLineList")
|
||||
@ApiOperation("公海列表")
|
||||
public ResponseResult<PageInfo<PublicSeaLineListVo>> queryPublicSeaLineList(@RequestBody LineRequest LineRequest){
|
||||
@@ -185,8 +212,6 @@ public class DeskController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping(path = "/queryPrivateSeaLineList")
|
||||
@ApiOperation("私海列表")
|
||||
public ResponseResult<PageInfo<PrivateSeaLineListVo>> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){
|
||||
@@ -194,8 +219,6 @@ public class DeskController {
|
||||
return ResponseResult.success();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping(path = "/queryBlackList")
|
||||
@ApiOperation("黑名单列表")
|
||||
public ResponseResult<PageInfo<BlackListVO>> queryBlackList(@RequestBody LineRequest LineRequest){
|
||||
@@ -222,9 +245,7 @@ public class DeskController {
|
||||
@PostMapping(path = "/closeOrPassFollow")
|
||||
@ApiOperation("意向申请审核 结束跟进/通过流程")
|
||||
public ResponseResult<Boolean> closeOrPassFollow(@RequestBody CloseFollowRequest closeFollowRequest){
|
||||
|
||||
String userId = "";
|
||||
return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(userId,closeFollowRequest));
|
||||
return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(CurrentUserHolder.getUserId(),closeFollowRequest));
|
||||
}
|
||||
|
||||
@PostMapping(path = "/changeIntentInfo")
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.cool.store.controller;
|
||||
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.request.CreateQualifyVerifyReq;
|
||||
import com.cool.store.request.FinishInterviewReq;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.FlowService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-14 13:47
|
||||
* @Description: 流程相关
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping({"/flow"})
|
||||
public class FlowController {
|
||||
|
||||
@Autowired
|
||||
private FlowService flowService;
|
||||
@PostMapping("/qualifyVerify/create")
|
||||
@ApiOperation("发起加盟商资质审核")
|
||||
public ResponseResult createQualifyVerify(@RequestBody CreateQualifyVerifyReq request) throws ApiException {
|
||||
flowService.createQualifyVerify(request);
|
||||
return ResponseResult.success();
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,16 @@ package com.cool.store.controller;
|
||||
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.RegionService;
|
||||
import com.cool.store.service.ZoneService;
|
||||
import com.cool.store.vo.region.RegionBaseInfoVO;
|
||||
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 org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -28,6 +33,8 @@ public class RegionController {
|
||||
|
||||
@Resource
|
||||
private RegionService regionService;
|
||||
@Resource
|
||||
ZoneService zoneService;
|
||||
|
||||
@GetMapping("/getRegionList")
|
||||
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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,26 +1,30 @@
|
||||
package com.cool.store.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dto.calendar.CreateCalendarEventDTO;
|
||||
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
|
||||
import com.cool.store.dto.calendar.UpdateCalendarEventDTO;
|
||||
import com.cool.store.dto.calendar.UserCalendarsEventDTO;
|
||||
import com.cool.store.dto.message.SendCardMessageDTO;
|
||||
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
|
||||
import com.cool.store.dto.response.ResultDTO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
|
||||
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.ServiceException;
|
||||
import com.cool.store.mapper.HyOpenAreaInfoMapper;
|
||||
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.TestRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.AliyunService;
|
||||
import com.cool.store.service.EnterpriseSyncService;
|
||||
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 org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -43,9 +47,13 @@ public class TestController {
|
||||
@Resource
|
||||
private ISVHttpRequest isvHttpRequest;
|
||||
@Resource
|
||||
HyOpenAreaInfoMapper hyOpenAreaInfoMapper;
|
||||
private HyOpenAreaInfoMapper hyOpenAreaInfoMapper;
|
||||
@Resource
|
||||
private EnterpriseSyncService enterpriseSyncService;
|
||||
@Resource
|
||||
private EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
private AliyunService aliyunService;
|
||||
|
||||
@PostMapping("/post")
|
||||
public ResponseResult<Boolean> get(@RequestBody List<TestRequest> testRequestList){
|
||||
@@ -186,4 +194,32 @@ public class TestController {
|
||||
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("/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);
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/sendFeiShuCardMessage")
|
||||
public ResponseResult sendFeiShuCardMessage(@RequestBody SendCardMessageDTO param){
|
||||
try {
|
||||
isvHttpRequest.sendFeiShuCardMessage(param);
|
||||
return ResponseResult.success();
|
||||
} catch (Exception e) {
|
||||
throw new ServiceException(ErrorCodeEnum.IDENTITY_CARD_PARSE_FAIL);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.request.IntentAreaSettingRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.ZoneService;
|
||||
import com.cool.store.vo.ZoneCheckVO;
|
||||
import com.cool.store.vo.ZoneVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -13,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -32,6 +34,12 @@ public class ZoneController {
|
||||
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")
|
||||
@ApiOperation("编辑意向战区/开发战区")
|
||||
public ResponseResult<Boolean> updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){
|
||||
@@ -51,12 +59,12 @@ public class ZoneController {
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(path = "/deletedZoneList")
|
||||
@GetMapping(path = "/deletedZone")
|
||||
@ApiOperation("删除战区")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "id", value = "id", required = false),
|
||||
})
|
||||
public ResponseResult<Boolean> deletedZoneList(@RequestParam(value = "id",required = false)Long id){
|
||||
public ResponseResult<Boolean> deletedZone(@RequestParam(value = "id",required = false)Long id){
|
||||
return ResponseResult.success(zoneService.deletedZone(id));
|
||||
}
|
||||
|
||||
|
||||
@@ -58,6 +58,9 @@ weixin.appSecret=245a483747e6e9f8762d3e8539cf0318
|
||||
|
||||
signKey=77fea013c3a6459685b83c21a2fc3411
|
||||
|
||||
#八佰流程配置
|
||||
hs.mdm.baseUrl=http://172.35.37.52:8080
|
||||
|
||||
#xxljob配置
|
||||
xxl.job.admin.addresses = https://djob.coolstore.cn/xxl-job-admin
|
||||
xxl.job.executor.appname = ${spring.application.name}
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<logger name="com.cool.store.mapper" level="DEBUG" additivity="true" />
|
||||
<logger name="com.cool.store.mapper" level="DEBUG" additivity="true" />
|
||||
<!--灰度、线上、预防 不输出到console-->
|
||||
<springProfile name="hd,online,pre">
|
||||
<root level="info">
|
||||
|
||||
@@ -105,6 +105,20 @@
|
||||
<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: 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.aspectj:aspectjrt:1.9.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" 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-json:2.2.6.RELEASE" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.3" level="project" />
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.config;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
@@ -9,9 +10,11 @@ import com.cool.store.service.WechatMiniAppService;
|
||||
import com.cool.store.utils.AesUtil;
|
||||
import com.cool.store.utils.Md5Utils;
|
||||
import com.cool.store.utils.Sha1Utils;
|
||||
import com.cool.store.utils.UUIDUtils;
|
||||
import com.cool.store.vo.PartnerUserInfoVO;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@@ -46,7 +49,9 @@ public class SignValidateFilter implements Filter {
|
||||
|
||||
private static List<String> patternList =
|
||||
Lists.newArrayList("/web/check/ok","/check/ok",
|
||||
"/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig",
|
||||
"/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**",
|
||||
"/partner/mini/program/oss/getUploadFileConfig",
|
||||
"/partner/mini/program/v1/partnerManage/partner/getIdentityCardInfo",
|
||||
"/**/swagger*/**", "/**/webjars/**");
|
||||
|
||||
|
||||
@@ -73,6 +78,7 @@ public class SignValidateFilter implements Filter {
|
||||
|
||||
@Override
|
||||
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
||||
MDC.put(CommonConstants.REQUEST_ID, UUIDUtils.get32UUID());
|
||||
HttpServletResponse response = (HttpServletResponse) servletResponse;
|
||||
HttpServletRequest request = (HttpServletRequest) servletRequest;
|
||||
String uri = request.getRequestURI();
|
||||
@@ -101,8 +107,7 @@ public class SignValidateFilter implements Filter {
|
||||
// 前后端验签不等
|
||||
if (!newSign.equals(sign)) {
|
||||
response.setStatus(HttpStatus.OK.value());
|
||||
response.getWriter().write(JSON.toJSONString(
|
||||
ResponseResult.fail(ErrorCodeEnum.SIGN_FAIL)));
|
||||
response.getWriter().write(JSON.toJSONString(ResponseResult.fail(ErrorCodeEnum.SIGN_FAIL)));
|
||||
return;
|
||||
}
|
||||
PartnerUserInfoVO partnerUserInfoVO = wechatMiniAppService.getUserInfo(phone, openid);
|
||||
@@ -116,6 +121,7 @@ public class SignValidateFilter implements Filter {
|
||||
filterChain.doFilter(servletRequest, servletResponse);
|
||||
} finally {
|
||||
PartnerUserHolder.removeUser();
|
||||
MDC.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
package com.cool.store.controller;
|
||||
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.BaseUserInfoRequest;
|
||||
import com.cool.store.request.PartnerBaseInfoRequest;
|
||||
import com.cool.store.request.PartnerClerkInfoRequest;
|
||||
import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.AliyunService;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerClerkService;
|
||||
import com.cool.store.service.HyPartnerIntentInfoService;
|
||||
import com.cool.store.service.PartnerUserInfoService;
|
||||
import com.cool.store.vo.*;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.cool.store.vo.cuser.IdentityCardInfoVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
@@ -34,7 +40,18 @@ public class PartnerController {
|
||||
private PartnerUserInfoService partnerUserInfoService;
|
||||
|
||||
@Resource
|
||||
HyPartnerIntentInfoService hyPartnerIntentInfoService;
|
||||
private HyPartnerIntentInfoService hyPartnerIntentInfoService;
|
||||
|
||||
@Resource
|
||||
private AliyunService aliyunService;
|
||||
|
||||
@Resource
|
||||
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||
@Resource
|
||||
private HyPartnerClerkService hyPartnerClerkService;
|
||||
|
||||
|
||||
|
||||
|
||||
@PostMapping(path = "/applyBaseInfo")
|
||||
@ApiOperation("提交基本信息")
|
||||
@@ -79,26 +96,24 @@ public class PartnerController {
|
||||
|
||||
@PostMapping(path = "/submitPartnerBaseInfo")
|
||||
@ApiOperation("提交加盟商基本信息")
|
||||
public ResponseResult<Boolean> submitPartnerBaseInfo(@RequestBody PartnerBaseInfoRequest PartnerBaseInfoRequest){
|
||||
|
||||
public ResponseResult<Boolean> submitPartnerBaseInfo(@RequestBody PartnerBaseInfoRequest baseInfoRequest){
|
||||
//前提 未提交加盟申请
|
||||
//成功 意向区域变更成功 失败 您已进入意向申请流程,当前不可变更意向区域
|
||||
return ResponseResult.success();
|
||||
return ResponseResult.success(hyPartnerBaseInfoService.submitPartnerBaseInfo(baseInfoRequest));
|
||||
}
|
||||
|
||||
@PostMapping(path = "/submitPartnerClerkInfo")
|
||||
@ApiOperation("提交加盟商店员信息")
|
||||
public ResponseResult<Boolean> submitPartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){
|
||||
|
||||
return ResponseResult.success();
|
||||
return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping(path = "/submitPartnerIntentInfo")
|
||||
@ApiOperation("提交加盟商意向信息/行业认知")
|
||||
public ResponseResult<Boolean> submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
|
||||
return ResponseResult.success();
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
|
||||
}
|
||||
|
||||
|
||||
@@ -107,7 +122,7 @@ public class PartnerController {
|
||||
@ApiOperation("修改加盟商店员信息")
|
||||
public ResponseResult<Boolean> changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){
|
||||
|
||||
return ResponseResult.success();
|
||||
return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest));
|
||||
}
|
||||
|
||||
|
||||
@@ -115,7 +130,7 @@ public class PartnerController {
|
||||
@ApiOperation("修改加盟商意向信息/行业认知")
|
||||
public ResponseResult<Boolean> changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){
|
||||
|
||||
return ResponseResult.success();
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest));
|
||||
}
|
||||
|
||||
|
||||
@@ -140,9 +155,8 @@ public class PartnerController {
|
||||
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
|
||||
})
|
||||
public ResponseResult<PartnerBaseInfoVO> queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){
|
||||
|
||||
|
||||
return ResponseResult.success();
|
||||
PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
|
||||
return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId));
|
||||
}
|
||||
|
||||
|
||||
@@ -153,8 +167,8 @@ public class PartnerController {
|
||||
})
|
||||
public ResponseResult<List<PartnerClerkVO>> queryPartnerClerkInfo(@RequestParam(value = "lineId",required = false)Long lineId){
|
||||
|
||||
|
||||
return ResponseResult.success();
|
||||
PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
|
||||
return ResponseResult.success(hyPartnerClerkService.queryPartnerClerkInfo(userInfoVO.getPartnerId(), lineId));
|
||||
}
|
||||
|
||||
|
||||
@@ -165,8 +179,8 @@ public class PartnerController {
|
||||
})
|
||||
public ResponseResult<PartnerIntentInfoVO> queryPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){
|
||||
|
||||
|
||||
return ResponseResult.success();
|
||||
PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
|
||||
return ResponseResult.success(hyPartnerIntentInfoService.queryPartnerIntentInfo(userInfoVO.getPartnerId(), lineId));
|
||||
}
|
||||
|
||||
|
||||
@@ -177,10 +191,8 @@ public class PartnerController {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "partnerId", value = "加盟商ID", required = false),
|
||||
})
|
||||
public ResponseResult<Boolean> completeJoinNotice(@RequestParam(value = "partnerId",required = false)Long partnerId){
|
||||
|
||||
|
||||
return ResponseResult.success();
|
||||
public ResponseResult<Boolean> completeJoinNotice(@RequestParam(value = "partnerId",required = false)String partnerId){
|
||||
return ResponseResult.success(partnerUserInfoService.completeJoinNotice(partnerId));
|
||||
}
|
||||
|
||||
|
||||
@@ -189,10 +201,20 @@ public class PartnerController {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "partnerId", value = "加盟商ID", required = false),
|
||||
})
|
||||
public ResponseResult<Boolean> queryJoinNotice(@RequestParam(value = "partnerId",required = false)Long partnerId){
|
||||
public ResponseResult<Boolean> queryJoinNotice(@RequestParam(value = "partnerId",required = false)String partnerId){
|
||||
return ResponseResult.success(partnerUserInfoService.queryJoinNotice(partnerId));
|
||||
}
|
||||
|
||||
|
||||
return ResponseResult.success();
|
||||
@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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user