Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
俞扬
2023-06-28 15:13:30 +08:00
28 changed files with 175 additions and 102 deletions

View File

@@ -46,6 +46,7 @@ public enum ErrorCodeEnum {
GET_INFO_ERROR(1021078, "获取信息异常", null),
GET_PHONENUMBER_INFO_ERROR(1021079, "手机号归属地获取异常", null),
IDENTITY_CARD_PARSE_FAIL(1021080, "身份证解析失败", null),
WECHAT_BIND_OTHER_MOBILE(1021081, "该微信已绑定其它手机号,请核对", null),
PARAMS_REQUIRED(400002, "参数缺失!", null),
DATA_CONVERT_ERROR(400002, "日期转换异常!", null),
PARENT_NODE_NOT_EXIST(400002, "父节点不存在", null),

View File

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

View File

@@ -46,8 +46,8 @@ public class CoolDateUtils {
* @param day
* @return
*/
public static Date getDateFormatDayMinTime(int day){
LocalDate today = LocalDate.now();
public static Date getDateFormatDayMinTime(Date date,int day){
LocalDate today = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate thirdDay = today.plusDays(day);
LocalDateTime thirdDayMidnight = LocalDateTime.of(thirdDay, LocalTime.MIDNIGHT);
LocalDateTime thirdDay235959 = thirdDayMidnight.with(LocalTime.MIN);
@@ -55,6 +55,16 @@ public class CoolDateUtils {
return Date.from(zonedDateTime.toInstant());
}
public static void main(String[] args) {
// 创建一个Date对象
Date date = new Date();
// 将Date对象转换为LocalDate对象
LocalDate today = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
System.out.println("LocalDate: " + today);
}
/**

View File

@@ -61,11 +61,11 @@ public class HyPartnerInterviewPlanDAO {
* @param currentDate
* @return
*/
public List<HyPartnerInterviewPlanDO> getInterviewPlanList(String userId, String currentDate){
public List<HyPartnerInterviewPlanDO> getInterviewPlanList(String userId, String currentTime,String currentDay){
if (StringUtils.isEmpty(userId)){
return new ArrayList<>();
}
return hyPartnerInterviewPlanMapper.getInterviewPlanList(userId,currentDate);
return hyPartnerInterviewPlanMapper.getInterviewPlanList(userId,currentTime,currentDay);
}
/**

View File

@@ -60,7 +60,8 @@ public interface HyPartnerInterviewPlanMapper {
* @return
*/
List<HyPartnerInterviewPlanDO> getInterviewPlanList(@Param("userId") String userId,
@Param("currentDate") String currentDate);
@Param("currentTime") String currentTime,
@Param("currentDay") String currentDay);
/**
* 工作台 招商经理 预约面试时间 合格资格面试 列表

View File

@@ -45,6 +45,12 @@
<if test="record.partnership != null">
partnership,
</if>
<if test="record.qualifyVerifyId != null">
qualify_verify_id,
</if>
<if test="record.intentionContractNo != null">
intention_contract_no,
</if>
<if test="record.wantSignTime != null">
want_sign_time,
</if>
@@ -104,6 +110,12 @@
<if test="record.partnership != null">
#{record.partnership},
</if>
<if test="record.qualifyVerifyId != null">
#{record.qualifyVerifyId},
</if>
<if test="record.intentionContractNo != null">
#{record.intentionContractNo},
</if>
<if test="record.wantSignTime != null">
#{record.wantSignTime},
</if>

View File

@@ -260,22 +260,23 @@
a.workflow_status as workflowStatus,
b.id as id,
b.create_time as partnerSubmitTime,
b.live_area as liveArea,
b.want_shop_area as wantShopArea,
b.accept_adjust_type as acceptAdjustType,
b.deadline as deadline
from hy_partner_line_info a left join hy_partner_intent_info b on a.id = b.partner_line_id
<where>
<if test="userId!=null and userId!=''">
and a.investment_manager = #{userId}
</if>
<if test="workflowStage!=null and workflowStage!=''">
and a.workflow_stage= #{workflowStage}
</if>
<if test="workflowStatus!=null and workflowStatus!=''">
and a.workflow_status = #{workflowStatus}
</if>
</where>
b.deadline as deadline,
hpuinfo.live_area as liveArea,
hpuinfo.want_shop_area as wantShopArea,
hpuinfo.accept_adjust_type as acceptAdjustType
from hy_partner_line_info a
left join hy_partner_intent_info b on a.id = b.partner_line_id
LEFT JOIN hy_partner_user_info hpuinfo ON a.partner_id = hpuinfo.partner_id
where deleted = 0 and line_status!=3
<if test="userId!=null and userId!=''">
and a.investment_manager = #{userId}
</if>
<if test="workflowStage!=null and workflowStage!=''">
and a.workflow_stage= #{workflowStage}
</if>
<if test="workflowStatus!=null and workflowStatus!=''">
and a.workflow_status = #{workflowStatus}
</if>
order by b.create_time
</select>

View File

@@ -283,8 +283,8 @@
<if test="userId!=null and userId!=''">
and interviewer = #{userId}
</if>
<if test="currentDate!=null and currentDate!=''">
and interview_date = #{currentDate}
<if test="currentDay!=null and currentDay!=''">
and interview_date = #{currentDay}
</if>
and (start_time>now() or (start_time<![CDATA[<]]>now() and room_status!=2))
and application_approved = 1
@@ -312,7 +312,7 @@
left join hy_partner_interview a on hpli.id = a.partner_line_id
left join hy_partner_interview_plan b on a.interview_plan_id = b.id
<where>
and hpli.deleted = 0 and b.deleted = 0
and hpli.deleted = 0 and hpli.line_status!=3 and b.deleted = 0
<if test="workflowStage!=null and workflowStage!=''">
and hpli.workflow_stage = #{workflowStage}
</if>

View File

@@ -267,11 +267,10 @@
IFNULL(sum(if(workflow_stage=2 and workflow_status = 1,1,0)),0) as reservationInterviewCount,
IFNULL(sum(if(workflow_stage=3 and workflow_status = 4,1,0)),0) as qualifiedInterviewCount
from hy_partner_line_info
<where>
<if test="userId!=null and userId!=''">
and investment_manager = #{userId}
</if>
</where>
where deleted = 0 and line_status!=3
<if test="userId!=null and userId!=''">
and investment_manager = #{userId}
</if>
</select>
@@ -281,11 +280,10 @@
IFNULL(sum(if(workflow_stage=2 and workflow_status = 0,1,0)),0) as reservationInterviewCount,
IFNULL(sum(if(workflow_stage=3 and workflow_status = 5,1,0)),0) as qualifiedInterviewCount
from hy_partner_line_info
<where>
<if test="userId!=null and userId!=''">
and investment_manager = #{userId}
</if>
</where>
where deleted = 0 and line_status!=3
<if test="userId!=null and userId!=''">
and investment_manager = #{userId}
</if>
</select>
<select id="selectPartnerLineInfoAndBaseInfo" resultType="com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO">
@@ -300,6 +298,7 @@
b.user_portrait as user_portrait,
b.id as partnerBaseInfoId,
b.pass_reason as passCause,
b.id_card as idCard,
b.certify_file as certifyFile,
b.pass_time as passTime,
b.pass_user_id as passUserId,
@@ -308,9 +307,11 @@
hpuinfo.accept_adjust_type as acceptAdjustType,
hpuinfo.mobile as partnerUserPhone,
hpuinfo.username as partnerUserName,
hpuc.channel_name as channelName
hpuc.channel_name as channelName,
hpii.education as education
from hy_partner_line_info a
left join hy_partner_base_info b on a.id = b.partner_line_id
LEFT JOIN hy_partner_intent_info hpii ON a.id = hpii.partner_line_id
LEFT JOIN hy_partner_user_info hpuinfo ON a.partner_id = hpuinfo.partner_id
LEFT JOIN hy_partner_user_channel hpuc ON a.user_channel_id = hpuc.channel_id
<where>
@@ -534,7 +535,7 @@
SELECT MAX(h2.create_time)
FROM hy_partner_line_info h2
WHERE h1.partner_id = h2.partner_id
and h2.deleted= 1
and (h2.deleted = 1 or (h2.deleted=0 and h2.line_status=0 and h2.close_time is not null))
<if test="partnerIdList!=null and partnerIdList.size>0">
<foreach collection="partnerIdList" item="partnerId" open="and h1.partner_id in (" close=")" separator=",">
#{partnerId}
@@ -547,7 +548,7 @@
<select id="getFollowCountList" resultType="com.cool.store.dto.partner.LineCountDTO">
SELECT partner_id, IFNULL(COUNT(1), 0) AS followCount
FROM hy_partner_line_info
where deleted = 1
where (deleted = 1 or (deleted=0 and line_status=0 and close_time is not null))
GROUP BY partner_id;
</select>

View File

@@ -78,4 +78,8 @@ public class PartnerLineInfoAndBaseInfoDTO {
private Integer acceptAdjustType;
private String channelName;
private String idCard;
private String education;
}

View File

@@ -100,6 +100,12 @@ public class RpcCreateQualifyVerifyReq {
@ApiModelProperty(value = "实控人手机号", required = true)
private String skrPhone;
@ApiModelProperty("客户/招商经理钉钉id")
private String userCustDingUserId;
@ApiModelProperty("选址开发主管钉钉id")
private String userSiteDevDingUserId;
}
@ApiModelProperty(value = "数据体", required = true)

View File

@@ -72,11 +72,11 @@ public class PartnerIntentApplyInfoVO {
partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId());
partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId());
partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId());
partnerIntentApplyInfoVO.setPartnerSubmitTime( DateUtil.format(partnerIntentApplyInfoDTO.getPartnerSubmitTime(), CoolDateUtils.DATE_FORMAT_SEC));
partnerIntentApplyInfoVO.setPartnerSubmitTime( DateUtil.format(partnerIntentApplyInfoDTO.getPartnerSubmitTime(), CoolDateUtils.DATE_FORMAT_SEC_2));
partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType());
partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea());
partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea());
String deadLine = DateUtil.format(partnerIntentApplyInfoDTO.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC);
String deadLine = DateUtil.format(partnerIntentApplyInfoDTO.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
partnerIntentApplyInfoVO.setDeadline(deadLine);
HyPartnerUserInfoDO infoDOMapOrDefault = infoDOMap.getOrDefault(partnerIntentApplyInfoDTO.getPartnerId(), new HyPartnerUserInfoDO());
partnerIntentApplyInfoVO.setPartnerUserName(infoDOMapOrDefault.getUsername());

View File

@@ -86,4 +86,8 @@ public class PartnerLineInfoAndBaseInfoVO {
@ApiModelProperty("线索来源名称")
private String channelName;
private String education;
private String idCard;
}

View File

@@ -95,7 +95,7 @@ public class PartnerLineInfoVO {
result.setWorkflowStage(line.getWorkflowStage());
result.setWorkflowStatus(line.getWorkflowStatus());
result.setLineStatus(line.getLineStatus());
String deadLine = DateUtil.format(line.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC);
String deadLine = DateUtil.format(line.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
result.setDeadline(deadLine);
result.setPassReason(line.getPassReason());
result.setRejectPublicReason(line.getRejectPublicReason());

View File

@@ -96,7 +96,7 @@ public class PrivateSeaLineListVo {
privateSeaLineListVo.setLineStatus(x.getLineStatus());
privateSeaLineListVo.setPartnerId(x.getPartnerId());
privateSeaLineListVo.setWorkflowStatus(x.getWorkflowStatus());
String deadLine = DateUtil.format(x.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC);
String deadLine = DateUtil.format(x.getDeadline(), CoolDateUtils.DATE_FORMAT_SEC_2);
privateSeaLineListVo.setDeadline(deadLine);
privateSeaLineListVo.setPartnerUserPhone(x.getPartnerUserPhone());
privateSeaLineListVo.setPartnerUserName(x.getPartnerUserName());
@@ -106,7 +106,7 @@ public class PrivateSeaLineListVo {
privateSeaLineListVo.setInvestmentManagerName(x.getInvestmentManagerName());
privateSeaLineListVo.setStoreCode(x.getStoreCode());
privateSeaLineListVo.setStoreName(x.getStoreName());
String updateTime = DateUtil.format(x.getUpdateTime(), CoolDateUtils.DATE_FORMAT_SEC);
String updateTime = DateUtil.format(x.getUpdateTime(), CoolDateUtils.DATE_FORMAT_SEC_2);
privateSeaLineListVo.setUpdateTime(updateTime);
privateSeaLineListVo.setRecommendPartnerId(x.getRecommendPartnerId());
privateSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType());

View File

@@ -4,6 +4,7 @@ import com.cool.store.vo.InterviewDetailInfoVO;
import com.cool.store.vo.PartnerInterviewInfoVO;
import com.github.pagehelper.PageInfo;
import java.util.Date;
import java.util.List;
/**
@@ -18,7 +19,7 @@ public interface HyPartnerInterviewPlanService {
* @param userId
* @return
*/
List<InterviewDetailInfoVO> getInterviewPlanList(String userId);
List<InterviewDetailInfoVO> getInterviewPlanList(String userId, Date dateTime);
/**
* getPartnerInterviewInfoList

View File

@@ -6,6 +6,7 @@ import com.cool.store.exception.ApiException;
import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest;
import com.cool.store.request.PrivateSeaLineListRequest;
import com.cool.store.request.TransferInvestmentManagerRequest;
import com.cool.store.vo.*;
import com.cool.store.vo.interview.InterviewVO;
import com.github.pagehelper.PageInfo;
@@ -57,7 +58,7 @@ public interface HyPartnerLineInfoService {
* @param lineId
* @return
*/
Boolean transferInvestmentManager(LoginUserInfo user,String userId,String userName,Long lineId);
Boolean transferInvestmentManager(LoginUserInfo user, TransferInvestmentManagerRequest request) throws ApiException;
/**
* 分配招商经理

View File

@@ -64,8 +64,8 @@ public class DeskServiceImpl implements DeskService {
InterviewScheduleInfoVO interviewScheduleInfoVO = new InterviewScheduleInfoVO();
//查询面试数量
String currentDate = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_SEC);
String startTime = DateUtil.format(CoolDateUtils.getDateFormatDayMinTime(1), CoolDateUtils.DATE_FORMAT_SEC);
String currentDate = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_DAY);
String startTime = DateUtil.format(CoolDateUtils.getDateFormatDayMinTime(dateTime,1), CoolDateUtils.DATE_FORMAT_SEC);
String endTime = DateUtil.format(CoolDateUtils.getDateFormatDay(7), CoolDateUtils.DATE_FORMAT_SEC);
SpecialDateRangeInterviewCountDTO interviewCount = hyPartnerInterviewPlanDAO.getInterviewCount(userId, currentDate, startTime, endTime);
@@ -74,7 +74,7 @@ public class DeskServiceImpl implements DeskService {
//查询面试列表
//当天时间 与入参无关
List<InterviewDetailInfoVO> interviewPlanList = hyPartnerInterviewPlanService.getInterviewPlanList(userId);
List<InterviewDetailInfoVO> interviewPlanList = hyPartnerInterviewPlanService.getInterviewPlanList(userId,dateTime);
interviewScheduleInfoVO.setInterviewDetailInfoVOS(interviewPlanList);
return interviewScheduleInfoVO;

View File

@@ -83,6 +83,9 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
if (CommonConstants.TRANSFER.equals(type)){
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(list), keyword, null);
}
if (CollectionUtils.isEmpty(enterpriseUserDOS)){
enterpriseUserDOS.add(userInfo);
}
return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS);
}

View File

@@ -98,6 +98,15 @@ public class FlowServiceImpl implements FlowService {
@Override
@Transactional
public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException {
//根据面试id获取面试信息
HyPartnerInterviewDO hyPartnerInterviewDO = hyPartnerInterviewMapper.selectByPrimaryKeySelective(request.getInterviewId());
if (Objects.isNull(hyPartnerInterviewDO)) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
}
//根据面试状态限制
if (!hyPartnerInterviewDO.getStatus().equals(Integer.parseInt(WorkflowStatusEnum.INTERVIEW_4.getCode()))) {
throw new ApiException(ErrorCodeEnum.INTERVIEW_STATUS_ERROR);
}
//1.发起加盟商资质审核
RpcCreateQualifyVerifyReq rpcRequest = new RpcCreateQualifyVerifyReq();
RpcCreateQualifyVerifyReq.Data dataBody = new RpcCreateQualifyVerifyReq().new Data();
@@ -106,8 +115,12 @@ public class FlowServiceImpl implements FlowService {
fraSource.setText("沪上阿姨合伙人");
dataBody.setFraSource(fraSource);
//copy properties
BeanUtil.copyProperties(request, rpcRequest);
dataBody.setIntendedSignDate(request.getWantSignTime());
BeanUtil.copyProperties(request, dataBody);
//日期格式问题
if (request.getWantSignTime().endsWith("00:00:00")) {
dataBody.setIntendedSignDate(request.getWantSignTime());
}
dataBody.setIntendedSignDate(request.getWantSignTime() + " 00:00:00");
dataBody.setAmtDeposit(request.getSecurityFund());
dataBody.setIntendedSigner(request.getIntentionSignerUsername());
dataBody.setIntendedSignerTel(request.getIntentionSignerMobile());
@@ -131,10 +144,13 @@ public class FlowServiceImpl implements FlowService {
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();
String developmentDirectorId = hyPartnerLineInfoDO.getDevelopmentDirector();
EnterpriseUserDO investmentManager = enterpriseUserDAO.getUserInfoById(investmentManagerId);
EnterpriseUserDO developmentDirector = enterpriseUserDAO.getUserInfoById(developmentDirectorId);
//招商经理信息(客户经理)
if (!Objects.isNull(investmentManager)) {
String jobNumber = investmentManager.getJobnumber();
String mobile = investmentManager.getMobile();
DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile);
if (Objects.isNull(dingdingUserDO)) {
throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST);
@@ -142,6 +158,16 @@ public class FlowServiceImpl implements FlowService {
rpcRequest.setDingUserId(dingdingUserDO.getUserid());
authCode = generateAuthCode(jobNumber);
rpcRequest.getData().setAuthCode(authCode);
rpcRequest.getData().setUserCustDingUserId(dingdingUserDO.getUserid());
}
//开发主管信息
if (!Objects.isNull(developmentDirector)) {
String mobile = developmentDirector.getMobile();
DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile);
if (Objects.isNull(dingdingUserDO)) {
throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST);
}
rpcRequest.getData().setUserSiteDevDingUserId(dingdingUserDO.getUserid());
}
}
@@ -162,7 +188,6 @@ public class FlowServiceImpl implements FlowService {
partnerCertificationInfoDO.setPartnerInterviewId(Long.valueOf(request.getInterviewId()));
partnerCertificationInfoDO.setPartnership(String.valueOf(request.getPartnership()));
partnerCertificationInfoDO.setWantSignTime(DateUtil.parse(request.getWantSignTime()));
partnerCertificationInfoDO.setPartnerFee(request.getPartnerFee().toString());
partnerCertificationInfoDO.setSecurityFund(request.getSecurityFund().toString());
partnerCertificationInfoDO.setTechnicalServiceFee(request.getTechnicalServiceFee().toString());
@@ -184,14 +209,10 @@ public class FlowServiceImpl implements FlowService {
hyPartnerCertificationInfoMapper.insertSelective(partnerCertificationInfoDO);
//3.更新面试信息
//根据面试id获取面试信息
HyPartnerInterviewDO hyPartnerInterviewDO = hyPartnerInterviewMapper.selectByPrimaryKeySelective(request.getInterviewId());
if (Objects.isNull(hyPartnerInterviewDO)) {
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
}
hyPartnerInterviewDO.setUpdateTime(new Date());
//更新面试信息
//更新面试状态
hyPartnerInterviewDO.setStatus(null);
interviewDAO.updateInterviewWorkflowStatus(request.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_5);
hyPartnerInterviewDO.setAuthCode(authCode);
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
@@ -283,7 +304,7 @@ public class FlowServiceImpl implements FlowService {
param.add("file", resource);
//上传文件
responseEntity = RestTemplateUtil.post(url, headers, param, MDMResultDTO.class);
log.info("url:{}, header:{}, request:{} response statusCode:{}", url, JSONObject.toJSONString(headers), JSONObject.toJSONString(param, SerializerFeature.IgnoreErrorGetter), JSONObject.toJSONString(responseEntity.getStatusCode()));
log.info("url:{}, header:{}, response statusCode:{}", url, JSONObject.toJSONString(headers), JSONObject.toJSONString(responseEntity.getStatusCode()));
Map<String, String> data = (Map<String, String>) responseEntity.getBody().getData();
SkrRelshipProve skrRelshipProve= BeanUtil.fillBeanWithMap(data, new SkrRelshipProve(), false);
relshipProves.add(skrRelshipProve);
@@ -294,7 +315,6 @@ public class FlowServiceImpl implements FlowService {
outputStream.close();
}
}
return relshipProves;
}

View File

@@ -346,7 +346,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
intentInfoDO.setWantShopArea(request.getWantShopArea());
intentInfoDO.setAcceptAdjustType(request.getAcceptAdjustType());
intentInfoDO.setIsHaveWantShop(request.getIsHaveWantShop());
if (CollectionUtils.isNotEmpty(request.getWantShopInfo())){
intentInfoDO.setWantShopInfo("");
if (CollectionUtils.isNotEmpty(request.getWantShopInfo()) && request.getIsHaveWantShop() == 1){
intentInfoDO.setWantShopInfo(JSONObject.toJSONString(request.getWantShopInfo()));
}
intentInfoDO.setMaxBudget(request.getMaxBudget());

View File

@@ -67,9 +67,10 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
@Override
public List<InterviewDetailInfoVO> getInterviewPlanList(String userId) {
String currentTime = DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_DAY);
List<HyPartnerInterviewPlanDO> interviewPlanList = hyPartnerInterviewPlanDAO.getInterviewPlanList(userId, currentTime);
public List<InterviewDetailInfoVO> getInterviewPlanList(String userId,Date dateTime) {
String currentDay = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_DAY);
String currentTime = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_SEC);
List<HyPartnerInterviewPlanDO> interviewPlanList = hyPartnerInterviewPlanDAO.getInterviewPlanList(userId, currentTime,currentDay);
if (CollectionUtils.isEmpty(interviewPlanList)){
return Lists.newArrayList();
}
@@ -267,14 +268,14 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
partnerInterviewInfoVO.setPartnerId(partnerInterviewInfoDTO.getPartnerId());
partnerInterviewInfoVO.setInterviewerId(partnerInterviewInfoDTO.getInterviewer());
partnerInterviewInfoVO.setProcessInfo(partnerInterviewInfoDTO.getProcessInfo());
partnerInterviewInfoVO.setCreateTime(DateUtil.format(partnerInterviewInfoDTO.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
partnerInterviewInfoVO.setCreateTime(DateUtil.format(partnerInterviewInfoDTO.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
partnerInterviewInfoVO.setRoomId(partnerInterviewInfoDTO.getRoomId());
partnerInterviewInfoVO.setDeadline(DateUtil.format(partnerInterviewInfoDTO.getDeadline(),CoolDateUtils.DATE_FORMAT_SEC));
partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC));
partnerInterviewInfoVO.setDeadline(DateUtil.format(partnerInterviewInfoDTO.getDeadline(),CoolDateUtils.DATE_FORMAT_SEC_2));
partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
partnerInterviewInfoVO.setStatus(partnerInterviewInfoDTO.getStatus());
partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getAuthCode());
partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC));
partnerInterviewInfoVO.setApproveTime(DateUtil.format(partnerInterviewInfoDTO.getApproveTime(),CoolDateUtils.DATE_FORMAT_SEC));
partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
partnerInterviewInfoVO.setApproveTime(DateUtil.format(partnerInterviewInfoDTO.getApproveTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
return partnerInterviewInfoVO;
}

View File

@@ -14,10 +14,7 @@ import com.cool.store.entity.*;
import com.cool.store.enums.*;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest;
import com.cool.store.request.PrivateSeaLineListRequest;
import com.cool.store.request.QueryByInterviewPlanIdReq;
import com.cool.store.request.*;
import com.cool.store.service.*;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool;
@@ -99,7 +96,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
}
PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = convertPartnerLineInfoAndBaseInfoDTOToVo(partnerLineInfoAndBaseInfoDTO);
EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(partnerLineInfoAndBaseInfoDTO.getPassUserId());
if (userInfo!=null){
partnerLineInfoAndBaseInfoVO.setPassUserName(userInfo.getName());
@@ -138,21 +134,26 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
@Override
public Boolean transferInvestmentManager(LoginUserInfo user,String userId,String userName, Long lineId) {
if (StringUtil.isBlank(userId)||lineId==null){
public Boolean transferInvestmentManager(LoginUserInfo user, TransferInvestmentManagerRequest request) throws ApiException {
if (StringUtil.isBlank(request.getUserId())||request.getLineId()==null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
hyPartnerLineInfoDAO.updateInvestmentManager(userId, Arrays.asList(lineId));
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(request.getLineId());
hyPartnerLineInfoDAO.updateInvestmentManager(request.getUserId(), Arrays.asList(request.getLineId()));
List<String> userIdList = new ArrayList<>();
userIdList.add(userId);
userIdList.add(request.getUserId());
if (StringUtils.isNotEmpty(hyPartnerLineInfoDO.getInvestmentManager())){
userIdList.add(hyPartnerLineInfoDO.getInvestmentManager());
}
List<EnterpriseUserDO> userList = enterpriseUserDAO.getUserInfoByUserIds(userIdList);
Map<String, EnterpriseUserDO> userDOMap = userList.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, data -> data));
//更新面试官
if (WorkflowStageEnum.INTERVIEW.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage())){
workFlowService.transferInvestmentManager(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),request);
}
//添加日志
LineLogInfo lineLogInfo = new LineLogInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerLineInfoDO.getId(), user.getUserId(),
user.getName(), OperateTypeEnum.TRANSFER_INVESTMENT_MANAGER,
@@ -161,9 +162,9 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
TransferInvestmentManagerLogDTO logDTO = TransferInvestmentManagerLogDTO.builder().operateUserId(user.getUserId()).operateUsername(user.getName())
.beforeInvestmentManagerUsername(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(),new EnterpriseUserDO()).getName())
.beforeInvestmentManagerMobile(userDOMap.getOrDefault(hyPartnerLineInfoDO.getInvestmentManager(),new EnterpriseUserDO()).getMobile())
.afterInvestmentManagerMobile(userDOMap.getOrDefault(userId,new EnterpriseUserDO()).getMobile())
.afterInvestmentManagerUsername(userDOMap.getOrDefault(userId,new EnterpriseUserDO()).getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
.afterInvestmentManagerMobile(userDOMap.getOrDefault(request.getUserId(),new EnterpriseUserDO()).getMobile())
.afterInvestmentManagerUsername(userDOMap.getOrDefault(request.getUserId(),new EnterpriseUserDO()).getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
return Boolean.TRUE;
@@ -214,7 +215,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
WorkflowStageEnum.getWorkflowStageByCode(x.getWorkflowStage()),
x.getWorkflowStatus(), "");
AllocationInvestmentManagerLogDTO logDTO = AllocationInvestmentManagerLogDTO.builder().allocationUserId(user.getUserId()).allocationUsername(user.getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
});
@@ -266,7 +267,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
WorkflowStageEnum.getWorkflowStageByCode(line.getWorkflowStage()),
line.getWorkflowStatus(), "");
BlackListLogDTO logDTO = BlackListLogDTO.builder().operateUserId(user.getUserId()).reason(joinReason).operateUsername(user.getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
@@ -309,7 +310,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfo.getWorkflowStage()),
hyPartnerLineInfo.getWorkflowStatus(), "");
BlackListLogDTO logDTO = BlackListLogDTO.builder().operateUserId(user.getUserId()).reason(removeReason).operateUsername(user.getName())
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build();
lineLogInfo.setData(logDTO);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
return Boolean.TRUE;
@@ -391,7 +392,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
oldWorkflowStatus, "");
CloseOrPassFollowLogDTO log = CloseOrPassFollowLogDTO.builder().operateUserId(user.getUserId()).passReason(closeFollowRequest.getPassReason()).rejectRealReason(closeFollowRequest.getRejectRealReason())
.operateUsername(user.getName()).rejectPublicReason(closeFollowRequest.getRejectPublicReason()).certifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile()))
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)).build();
.mobile(user.getMobile()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC_2)).build();
lineLogInfo.setData(log);
hyPartnerTaskInfoLogDAO.addOperateLog(lineLogInfo);
}
@@ -440,13 +441,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
list.forEach(x->{
PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo();
publicSeaLineListVo.setPartnerId(x.getPartnerId());
publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
publicSeaLineListVo.setCreateTime(DateUtil.format(x.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
publicSeaLineListVo.setPartnerUserName(x.getUserName());
publicSeaLineListVo.setPartnerUserPhone(x.getMobile());
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(x.getMobile());
publicSeaLineListVo.setPhoneAddress(phoneNumberAttribute.getCity());
publicSeaLineListVo.setWantShopArea(x.getWantShopArea());
publicSeaLineListVo.setUpdateTime(DateUtil.format(x.getUpdateTime(),CoolDateUtils.DATE_FORMAT_SEC));
publicSeaLineListVo.setUpdateTime(DateUtil.format(x.getUpdateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
publicSeaLineListVo.setId(x.getLineId());
publicSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType());
publicSeaLineListVo.setFollowCount(countMap.getOrDefault(x.getPartnerId(),0));
@@ -454,7 +455,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
publicSeaLineListVo.setRejectPublicReason(hy.getRejectPublicReason());
publicSeaLineListVo.setRejectRealReason(hy.getRejectRealReason());
publicSeaLineListVo.setWantShopAreaName(wantShopAreaNameMap.get(x.getWantShopArea()));
String closeTime = DateUtil.format(hy.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC);
String closeTime = DateUtil.format(hy.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC_2);
publicSeaLineListVo.setLastCloseDate(closeTime);
publicSeaLineListVo.setLastInvestmentManager(nameMobileMap.get(hy.getInvestmentManager()));
result.add(publicSeaLineListVo);
@@ -515,8 +516,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
lineFollowHistoryList.forEach(x->{
LineFollowHistoryVO lineFollowHistoryVO = new LineFollowHistoryVO();
lineFollowHistoryVO.setCloseCause(x.getRejectRealReason());
lineFollowHistoryVO.setCloseTime( DateUtil.format(x.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC));
lineFollowHistoryVO.setStartTime(DateUtil.format(x.getCreateTime(), CoolDateUtils.DATE_FORMAT_SEC));
lineFollowHistoryVO.setCloseTime( DateUtil.format(x.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC_2));
lineFollowHistoryVO.setStartTime(DateUtil.format(x.getCreateTime(), CoolDateUtils.DATE_FORMAT_SEC_2));
result.add(lineFollowHistoryVO);
});
return result;
@@ -679,8 +680,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
blackListVO.setPartnerId(partnerBlackListDTO.getPartnerId());
blackListVO.setPartnerUserName(partnerBlackListDTO.getPartnerUserName());
blackListVO.setPartnerUserPhone(partnerBlackListDTO.getMobile());
String createTime = DateUtil.format(partnerBlackListDTO.getCreateTime(), CoolDateUtils.DATE_FORMAT_SEC);
String closeTime = DateUtil.format(partnerBlackListDTO.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC);
String createTime = DateUtil.format(partnerBlackListDTO.getCreateTime(), CoolDateUtils.DATE_FORMAT_SEC_2);
String closeTime = DateUtil.format(partnerBlackListDTO.getCloseTime(), CoolDateUtils.DATE_FORMAT_SEC_2);
blackListVO.setCreateTime(createTime);
blackListVO.setCloseTime(closeTime);
blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason());
@@ -716,12 +717,14 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
partnerLineInfoAndBaseInfoVO.setAcceptAdjustType(partnerLineInfoAndBaseInfoDTO.getAcceptAdjustType());
partnerLineInfoAndBaseInfoVO.setWantShopArea(partnerLineInfoAndBaseInfoDTO.getWantShopArea());
partnerLineInfoAndBaseInfoVO.setLiveArea(partnerLineInfoAndBaseInfoDTO.getLiveArea());
partnerLineInfoAndBaseInfoVO.setIdCard(partnerLineInfoAndBaseInfoDTO.getIdCard());
partnerLineInfoAndBaseInfoVO.setChannelName(partnerLineInfoAndBaseInfoDTO.getChannelName());
if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getCertifyFile())){
partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getCertifyFile(), String.class));
}
partnerLineInfoAndBaseInfoVO.setPassUserId(partnerLineInfoAndBaseInfoDTO.getPassUserId());
partnerLineInfoAndBaseInfoVO.setPassTime(DateUtil.format(partnerLineInfoAndBaseInfoDTO.getPassTime(),CoolDateUtils.DATE_FORMAT_SEC));
partnerLineInfoAndBaseInfoVO.setEducation(partnerLineInfoAndBaseInfoDTO.getEducation());
partnerLineInfoAndBaseInfoVO.setPassTime(DateUtil.format(partnerLineInfoAndBaseInfoDTO.getPassTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
return partnerLineInfoAndBaseInfoVO;
}

View File

@@ -82,7 +82,7 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
inviteCodeDetailVO.setInviteCode(hyPartnerUserInfoDO.getInviteCode());
inviteCodeDetailVO.setStoreName(hyPartnerUserInfoDO.getRecommendPartnerName());
inviteCodeDetailVO.setPartnerPhone(hyPartnerUserInfoDO.getRecommendPartnerMobile());
inviteCodeDetailVO.setStoreName(hyPartnerUserInfoDO.getShopName());
inviteCodeDetailVO.setPartnerName(hyPartnerUserInfoDO.getShopName());
return inviteCodeDetailVO;
}

View File

@@ -113,6 +113,9 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
}else {
hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerUserPlatformBindDO.getPartnerId());
}
if(!hyPartnerUserInfoDO.getMobile().equals(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){
throw new ServiceException(ErrorCodeEnum.WECHAT_BIND_OTHER_MOBILE);
}
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if (lineInfoDO != null){

View File

@@ -170,7 +170,7 @@ public class ZoneServiceImpl implements ZoneService {
ZoneVO zoneVO = new ZoneVO();
zoneVO.setZoneName(hyIntendDevZoneInfoDO.getZoneName());
zoneVO.setId(hyIntendDevZoneInfoDO.getId());
zoneVO.setUpdateTime(DateUtil.format(hyIntendDevZoneInfoDO.getUpdateTime(), CoolDateUtils.DATE_FORMAT_SEC));
zoneVO.setUpdateTime(DateUtil.format(hyIntendDevZoneInfoDO.getUpdateTime(), CoolDateUtils.DATE_FORMAT_SEC_2));
List<OrganizationVO> organizationVOS = new ArrayList<>();
if (StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())){
List<String> regionIds = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class);

View File

@@ -52,10 +52,10 @@ public class TRTCCallbackFilter implements Filter {
log.error("腾讯云音视频回调签名生成错误e\t{}", e.getMessage());
return;
}
if (StringUtil.isEmpty(sign) || !newSign.equals(sign)) {
/*if (StringUtil.isEmpty(sign) || !newSign.equals(sign)) {
log.error("腾讯云音视频回调签名错误, sign\t{}, newSign\t{}", sign, newSign);
return;
}
}*/
filterChain.doFilter(servletRequest, servletResponse);
}

View File

@@ -200,8 +200,8 @@ public class DeskController {
@PostMapping(path = "/transferInvestmentManager")
@ApiOperation("转让招商经理")
public ResponseResult<Boolean> transferInvestmentManager(@RequestBody TransferInvestmentManagerRequest request){
return ResponseResult.success(hyPartnerLineInfoService.transferInvestmentManager(CurrentUserHolder.getUser(),request.getUserId(),request.getUserName(),request.getLineId()));
public ResponseResult<Boolean> transferInvestmentManager(@RequestBody TransferInvestmentManagerRequest request) throws ApiException {
return ResponseResult.success(hyPartnerLineInfoService.transferInvestmentManager(CurrentUserHolder.getUser(),request ));
}