Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -34,6 +34,12 @@ public enum OperateLogFieldValueEnum {
|
||||
|
||||
SUMMARY("summary", "面试总结"),
|
||||
QUALI_VERIFY_CONTENT("qualiVerifyContent", "资质审核内容"),
|
||||
|
||||
BEFORE_USERINFO_UPDATE("beforeUserinfoUpdate", "修改前的用户信息"),
|
||||
AFTER_USERINFO_UPDATE("afterUserinfoUpdate", "修改后的用户信息"),
|
||||
|
||||
BEFORE_INTENT_INFO_UPDATE("beforeIntentInfoUpdate", "修改前的意向申请"),
|
||||
AFTER_INTENT_INFO_UPDATE("afterIntentInfoUpdate", "修改后的意向申请"),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -28,6 +28,9 @@ public enum OperateTypeEnum {
|
||||
|
||||
REJECT_INTERVIEW("reject_interview", "合作资格面试-拒绝并结束跟进", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, REJECT_PUBLIC_REASON,REJECT_REAL_REASON, CERTIFY_FILE)),
|
||||
CREATE_QUALIFYVERIFY("create_qualifyverify", "合作资格面试-创建资格审核", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME,SUMMARY,QUALI_VERIFY_CONTENT)),
|
||||
USERINFO_UPDATE("userinfo_update", "修改(修改意向信息)", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_USERINFO_UPDATE, AFTER_USERINFO_UPDATE)),
|
||||
INTENT_INFO_SUBMIT("intent_info_submit", "提交意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
|
||||
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME)),
|
||||
;
|
||||
|
||||
private String code;
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.entity.HyPhoneLocationDO;
|
||||
import com.cool.store.mapper.HyPhoneLocationMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/30 14:51
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Repository
|
||||
public class HyPhoneLocationDAO {
|
||||
|
||||
@Resource
|
||||
HyPhoneLocationMapper hyPhoneLocationMapper;
|
||||
|
||||
|
||||
|
||||
public int insertSelective(HyPhoneLocationDO record){
|
||||
return hyPhoneLocationMapper.insertSelective(record);
|
||||
}
|
||||
|
||||
|
||||
public HyPhoneLocationDO selectByPhoneNumber(String phoneNumber){
|
||||
return hyPhoneLocationMapper.selectByPhoneNumber(phoneNumber);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -102,4 +102,8 @@ public interface HyPartnerInterviewMapper {
|
||||
*/
|
||||
void addVideoUrl(@Param("roomId") String roomId, @Param("videoUrl") String videoUrl);
|
||||
|
||||
/**
|
||||
* 查询是否已有该链接
|
||||
*/
|
||||
Boolean hasVideoUrls(@Param("videoUrl") String videoUrl);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.dto.message.RemindInterviewMsgDTO;
|
||||
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
||||
import com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO;
|
||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||
@@ -157,4 +158,9 @@ public interface HyPartnerInterviewPlanMapper {
|
||||
|
||||
HyPartnerInterviewPlanDO getInterviewPlanByLineId(Long lineId);
|
||||
|
||||
List<RemindInterviewMsgDTO> selectRemindInterviewPlan(@Param("startTime") Date startTime,
|
||||
@Param("endTime") Date endTime,
|
||||
@Param("workflowStage") String workflowStage,
|
||||
@Param("workflowStatus") String workflowStatus);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.HyPhoneLocationDO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
* @date 2023-06-30 02:47
|
||||
*/
|
||||
public interface HyPhoneLocationMapper {
|
||||
/**
|
||||
*
|
||||
* 默认插入方法,只会给有值的字段赋值
|
||||
* 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null
|
||||
* dateTime:2023-06-30 02:47
|
||||
*/
|
||||
int insertSelective(@Param("record") HyPhoneLocationDO record);
|
||||
|
||||
/**
|
||||
*
|
||||
* 默认更新方法,根据主键更新,不会把null值更新到数据库,避免覆盖之前有值的
|
||||
* dateTime:2023-06-30 02:47
|
||||
*/
|
||||
int updateByPrimaryKeySelective(@Param("record") HyPhoneLocationDO record);
|
||||
|
||||
/**
|
||||
* 查询手机号
|
||||
* @param phoneNumber
|
||||
* @return
|
||||
*/
|
||||
HyPhoneLocationDO selectByPhoneNumber(@Param("phoneNumber") String phoneNumber);
|
||||
}
|
||||
@@ -499,4 +499,10 @@
|
||||
)
|
||||
</update>
|
||||
|
||||
<select id="hasVideoUrls" resultType="java.lang.Boolean">
|
||||
SELECT COUNT(*)
|
||||
FROM hy_partner_interview
|
||||
WHERE FIND_IN_SET(#{videoUrl}, process_info)
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -374,9 +374,6 @@
|
||||
<if test="record.endTime != null and record.endTime != ''">
|
||||
and hpip.end_time <= #{record.endTime}
|
||||
</if>
|
||||
<if test="record.deleted !=null and record.deleted!=''">
|
||||
and hpip.deleted = #{deleted}
|
||||
</if>
|
||||
</where>
|
||||
|
||||
</select>
|
||||
@@ -498,4 +495,24 @@
|
||||
from hy_partner_interview_plan
|
||||
where partner_line_id = #{lineId} and deleted = 0
|
||||
</select>
|
||||
<select id="selectRemindInterviewPlan" resultType="com.cool.store.dto.message.RemindInterviewMsgDTO">
|
||||
select hpip.partner_id as partnerId,
|
||||
hpip.interviewer as interviewerId,
|
||||
hpui.username as partnerName,
|
||||
hpui.mobile as partnerMobile,
|
||||
hpip.start_time as startTime
|
||||
from hy_partner_interview_plan hpip
|
||||
left join hy_partner_line_info hpll on hpip.partner_line_id = hpll.id
|
||||
left join hy_partner_interview hpi on hpip.id = hpi.interview_plan_id
|
||||
left join hy_partner_user_info hpui on hpui.partner_id = hpip.partner_id
|
||||
where hpip.deleted = 0
|
||||
and hpi.deleted = 0
|
||||
and hpll.deleted = 0
|
||||
and hpip.start_time >= #{startTime}
|
||||
and hpip.start_time <= #{endTime}
|
||||
and hpll.workflow_stage = #{workflowStage}
|
||||
and hpll.workflow_status = #{workflowStatus}
|
||||
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -318,12 +318,14 @@
|
||||
hpuinfo.mobile as partnerUserPhone,
|
||||
hpuinfo.username as partnerUserName,
|
||||
hpuc.channel_name as channelName,
|
||||
hpii.education as education
|
||||
hpii.education as education,
|
||||
hpl.phone_address as phoneAddress
|
||||
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
|
||||
LEFT JOIN hy_phone_location hpl ON hpl.phone_number = hpuinfo.mobile
|
||||
<where>
|
||||
<if test="lineId!=null">
|
||||
and a.id = #{lineId}
|
||||
@@ -335,14 +337,13 @@
|
||||
select
|
||||
<include refid="Base_Column_List"></include>
|
||||
from hy_partner_line_info
|
||||
<where>
|
||||
<if test="userId != null">
|
||||
and investment_manager = #{userId}
|
||||
</if>
|
||||
<if test="lastMonthTodayDate!=null">
|
||||
and close_time > #{lastMonthTodayDate} and close_time <![CDATA[<]]> now()
|
||||
</if>
|
||||
</where>
|
||||
where deleted = 0 and line_status = 0 and close_time is not null
|
||||
<if test="userId != null">
|
||||
and investment_manager = #{userId}
|
||||
</if>
|
||||
<if test="lastMonthTodayDate!=null">
|
||||
and close_time > #{lastMonthTodayDate} and close_time <![CDATA[<]]> now()
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<update id="updateInvestmentManager">
|
||||
@@ -378,10 +379,12 @@
|
||||
a.create_time as createTime,
|
||||
a.close_user_id as closeUserId,
|
||||
a.close_time as closeTime,
|
||||
a.join_black_reason as joinBlackReason
|
||||
a.join_black_reason as joinBlackReason,
|
||||
hpl.phone_address as phoneAddress
|
||||
from hy_partner_line_info a
|
||||
inner join hy_partner_user_info b on a.partner_id = b.partner_id
|
||||
LEFT JOIN hy_open_area_info hoai ON hoai.id = b.want_shop_area
|
||||
LEFT JOIN hy_phone_location hpl ON hpl.phone_number = b.mobile
|
||||
where a.deleted = 0
|
||||
and a.line_status = 3
|
||||
<if test="userNameKeyword!=null and userNameKeyword !=''">
|
||||
@@ -430,10 +433,12 @@
|
||||
b.mobile as mobile,
|
||||
b.username as userName,
|
||||
b.want_shop_area as wantShopArea,
|
||||
b.accept_adjust_type as acceptAdjustType
|
||||
b.accept_adjust_type as acceptAdjustType,
|
||||
hpl.phone_address as phoneAddress
|
||||
FROM hy_partner_line_info a
|
||||
inner JOIN hy_partner_user_info b on a.partner_id = b.partner_id
|
||||
LEFT JOIN hy_open_area_info hoai ON hoai.id = b.want_shop_area
|
||||
LEFT JOIN hy_phone_location hpl ON hpl.phone_number = b.mobile
|
||||
where a.line_status = 0 and a.deleted = 0
|
||||
<if test="userNameKeyword!=null and userNameKeyword!=''">
|
||||
and b.username like concat('%',#{userNameKeyword},'%')
|
||||
@@ -502,7 +507,7 @@
|
||||
AND hpli.workflow_status = #{workflowStatus}
|
||||
</if>
|
||||
<if test="deadlineStart!=null and deadlineEnd!=null">
|
||||
AND hpli.deadline BETWEEN #{deadlineStart} and #{deadlineStart}
|
||||
AND hpli.deadline BETWEEN #{deadlineStart} and #{deadlineEnd}
|
||||
</if>
|
||||
<if test="intentAreaName!=null and intentAreaName!=''">
|
||||
and hoai.area_path like concat('%/',#{intentAreaName},'/%')
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<?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.HyPhoneLocationMapper">
|
||||
<resultMap id="BaseResultMap" type="com.cool.store.entity.HyPhoneLocationDO">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="phone_number" jdbcType="VARCHAR" property="phoneNumber" />
|
||||
<result column="phone_address" jdbcType="VARCHAR" property="phoneAddress" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
id, phone_number, phone_address, create_time, update_time
|
||||
</sql>
|
||||
<select id="selectByPhoneNumber" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List"></include>
|
||||
from hy_phone_location
|
||||
where phone_number = #{phoneNumber}
|
||||
</select>
|
||||
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
||||
insert into hy_phone_location
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="record.phoneNumber != null">
|
||||
phone_number,
|
||||
</if>
|
||||
<if test="record.phoneAddress != null">
|
||||
phone_address,
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="record.phoneNumber != null">
|
||||
#{record.phoneNumber},
|
||||
</if>
|
||||
<if test="record.phoneAddress != null">
|
||||
#{record.phoneAddress},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
#{record.createTime},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
#{record.updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective">
|
||||
update hy_phone_location
|
||||
<set>
|
||||
<if test="phoneNumber != null">
|
||||
phone_number = #{phoneNumber},
|
||||
</if>
|
||||
<if test="phoneAddress != null">
|
||||
phone_address = #{phoneAddress},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time = #{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time = #{updateTime},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.cool.store.dto.log;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @Author: wxp
|
||||
* @Date: 2023-06-30 10:23
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
public class UserInfoUpdateDTO extends LogBasicDTO{
|
||||
private UserInfoUpdate beforeUserinfoUpdate;
|
||||
private UserInfoUpdate afterUserinfoUpdate;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class UserInfoUpdate{
|
||||
private String username;
|
||||
private String mobile;
|
||||
private String liveArea;
|
||||
private String wantShopArea;
|
||||
private Integer acceptAdjustType;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.cool.store.dto.message;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: young.yu
|
||||
* @Date: 2023-06-30 11:02
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
public class RemindInterviewMsgDTO {
|
||||
private String partnerId;
|
||||
private String interviewerId;
|
||||
private String partnerName;
|
||||
private String partnerMobile;
|
||||
private String startTime;
|
||||
}
|
||||
@@ -28,4 +28,6 @@ public class PartnerBlackListDTO {
|
||||
|
||||
private String joinBlackReason;
|
||||
|
||||
private String phoneAddress;
|
||||
|
||||
}
|
||||
|
||||
@@ -27,4 +27,6 @@ public class PublicSeaLineDTO {
|
||||
private String acceptAdjustType;
|
||||
|
||||
private Date updateTime;
|
||||
|
||||
private String phoneAddress;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
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-30 02:47
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class HyPhoneLocationDO implements Serializable {
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String phoneNumber;
|
||||
|
||||
@ApiModelProperty("手机号归属地")
|
||||
private String phoneAddress;
|
||||
|
||||
@ApiModelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("更新时间")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -63,19 +63,6 @@ public class JobHandler {
|
||||
}
|
||||
}
|
||||
|
||||
// @XxlJob("updateAbsentInterview")
|
||||
// public void updateAbsentInterview(){
|
||||
// try {
|
||||
// log.info("面试缺席定时任务开始");
|
||||
// hyPartnerInterviewPlanService.updateAbsentInterview();
|
||||
// log.info("面试缺席定时任务结束");
|
||||
// XxlJobHelper.handleSuccess();
|
||||
// }catch (Exception e){
|
||||
// log.error("面试缺席定时任务异常",e);
|
||||
// XxlJobHelper.log("面试缺席定时任务异常"+e.getMessage());
|
||||
// }
|
||||
// }
|
||||
|
||||
@XxlJob("approvalReminder")
|
||||
public void approvalReminder(){
|
||||
try {
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/30 15:02
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface HyPhoneLocationService {
|
||||
|
||||
|
||||
/**
|
||||
* 处理手机号归属地
|
||||
* @param phoneNumber
|
||||
* @return
|
||||
*/
|
||||
void handleHyPhoneAddress(String phoneNumber);
|
||||
|
||||
}
|
||||
@@ -69,4 +69,6 @@ public interface InterviewService {
|
||||
|
||||
public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile);
|
||||
|
||||
public String generateFeiShuInterviewMsg(String partnerName, String partnerMobile, String interviewTime);
|
||||
|
||||
}
|
||||
|
||||
@@ -42,18 +42,9 @@ import java.util.Random;
|
||||
@Service
|
||||
public class AliyunServiceImpl implements AliyunService {
|
||||
|
||||
@Resource
|
||||
RedisUtilPool redisUtilPool;
|
||||
@Resource
|
||||
RedisConstantUtil redisConstantUtil;
|
||||
|
||||
@Override
|
||||
public DescribePhoneNumberDTO getPhoneNumberAttribute(String phoneNumber) {
|
||||
try {
|
||||
String phone = redisUtilPool.getString(redisConstantUtil.getPhoneNumber(phoneNumber));
|
||||
if (StringUtils.isNotEmpty(phone)){
|
||||
return JSONObject.parseObject(phone, DescribePhoneNumberDTO.class);
|
||||
}
|
||||
Config config = new Config();
|
||||
//todo zcb ak sk替换
|
||||
config.accessKeyId = "LTAI5t9RaXvABZbHvoXjDFJ1";
|
||||
@@ -69,8 +60,6 @@ public class AliyunServiceImpl implements AliyunService {
|
||||
log.error("错误信息:" , response.body.message + "");
|
||||
throw new ServiceException(ErrorCodeEnum.GET_PHONENUMBER_INFO_ERROR);
|
||||
}
|
||||
//保存到redis
|
||||
redisUtilPool.setString(redisConstantUtil.getPhoneNumber(phoneNumber),JSONObject.toJSONString(response.body.data));
|
||||
return JSONObject.parseObject(JSONObject.toJSONString(response.body.data), DescribePhoneNumberDTO.class);
|
||||
} catch (Exception e) {
|
||||
log.error("获取手机号异常:", e);
|
||||
|
||||
@@ -55,7 +55,8 @@ public class CommonServiceImpl implements CommonService {
|
||||
String workflowStage = hyPartnerLineInfoDO.getWorkflowStage();
|
||||
String workflowStatus = hyPartnerLineInfoDO.getWorkflowStatus();
|
||||
Long partnerLineId = hyPartnerLineInfoDO.getId();
|
||||
if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_2.getCode())) {
|
||||
if ((workflowStage.equals(WorkflowStageEnum.RESERVATION.getCode()) && workflowStatus.equals(WorkflowStatusEnum.RESERVATION_1.getCode()))||
|
||||
(workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_2.getCode()))) {
|
||||
return getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEW_APPOINTMENT, "提交面试预约时间");
|
||||
} else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_3.getCode())) {
|
||||
String tips = getInterviewTips(partnerLineId, OperateTypeEnum.MODIFY_INTERVIEW_TIME, "");
|
||||
|
||||
@@ -138,7 +138,7 @@ public class FlowServiceImpl implements FlowService {
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoMapper.selectByPrimaryKeySelective(Long.valueOf(request.getLineId()));
|
||||
if (!Objects.isNull(hyPartnerLineInfoDO)) {
|
||||
String investmentManagerId = hyPartnerLineInfoDO.getInvestmentManager();
|
||||
String developmentDirectorId = hyPartnerLineInfoDO.getDevelopmentDirector();
|
||||
String developmentDirectorId = request.getDevtDirectorId();
|
||||
EnterpriseUserDO investmentManager = enterpriseUserDAO.getUserInfoById(investmentManagerId);
|
||||
EnterpriseUserDO developmentDirector = enterpriseUserDAO.getUserInfoById(developmentDirectorId);
|
||||
//招商经理信息(客户经理)
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.cool.store.request.AddTagsRequest;
|
||||
import com.cool.store.request.PartnerBaseInfoRequest;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.HyPhoneLocationService;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.vo.PartnerBaseInfoVO;
|
||||
import com.cool.store.vo.PartnerUserInfoVO;
|
||||
@@ -59,6 +60,8 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||
|
||||
@Resource
|
||||
HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -80,6 +83,8 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||
public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request, PartnerUserInfoVO currentUser) {
|
||||
log.info("HyPartnerBaseInfoServiceImpl#submitPartnerBaseInfo request:{}", JSONObject.toJSONString(request));
|
||||
|
||||
//处理手机号
|
||||
hyPhoneLocationService.handleHyPhoneAddress(request.getMobile());
|
||||
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId());
|
||||
if(!request.getSubmitFlag()){
|
||||
// 自动保存时
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.request.PartnerWantShopInfoRequest;
|
||||
import com.cool.store.service.HyPartnerIntentInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.HyPhoneLocationService;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
@@ -66,6 +67,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@Resource
|
||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@Override
|
||||
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
|
||||
@@ -92,9 +95,11 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
||||
partnerIntentApplyInfo.setList(resultList);
|
||||
return partnerIntentApplyInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) {
|
||||
|
||||
//处理手机号
|
||||
hyPhoneLocationService.handleHyPhoneAddress(baseUserInfoRequest.getMobile());
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId()));
|
||||
if (hyPartnerUserInfoDO==null){
|
||||
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
|
||||
|
||||
@@ -3,12 +3,16 @@ package com.cool.store.service.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.message.RemindInterviewMsgDTO;
|
||||
import com.cool.store.dto.message.SendCardMessageDTO;
|
||||
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.MessageTypeEnum;
|
||||
import com.cool.store.enums.RoomStatus;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.http.ISVHttpRequest;
|
||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
||||
@@ -16,15 +20,18 @@ import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.GetInterviewListReq;
|
||||
import com.cool.store.service.HyPartnerInterviewPlanService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.InterviewService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.vo.InterviewDetailInfoVO;
|
||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
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.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -40,6 +47,7 @@ import java.util.stream.Collectors;
|
||||
* @Date 2023/6/8 19:32
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlanService {
|
||||
|
||||
@@ -68,8 +76,15 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
@Resource
|
||||
EnterpriseUserDAO enterpriseUserDAO;
|
||||
|
||||
@Autowired
|
||||
private InterviewService interviewService;
|
||||
|
||||
|
||||
@Value("${feishu.notice.link.url:null}")
|
||||
private String linkUrl;
|
||||
|
||||
@Autowired
|
||||
private ISVHttpRequest isvHttpRequest;
|
||||
@Override
|
||||
public List<InterviewDetailInfoVO> getInterviewPlanList(String userId,Date dateTime) {
|
||||
String currentDay = DateUtil.format(dateTime, CoolDateUtils.DATE_FORMAT_DAY);
|
||||
@@ -227,11 +242,28 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
@Override
|
||||
public void approvalReminder() throws ApiException {
|
||||
//查询即将超时但未审批的面试
|
||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||
hyPartnerInterviewPlanDO.setDeleted(Boolean.FALSE);
|
||||
hyPartnerInterviewPlanDO.setApplicationApproved(0);
|
||||
// hyPartnerInterviewPlanDO.setStartTime();
|
||||
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
||||
Date startTime = new Date();
|
||||
Date endTime = DateUtil.offsetMinute(startTime,30);
|
||||
List<RemindInterviewMsgDTO> remindInterviewMsgDTOS = hyPartnerInterviewPlanMapper.selectRemindInterviewPlan(startTime, endTime, WorkflowStageEnum.RESERVATION.getCode(), WorkflowStatusEnum.RESERVATION_1.getCode());
|
||||
if(CollectionUtils.isEmpty(remindInterviewMsgDTOS)){
|
||||
return;
|
||||
}
|
||||
//发送消息
|
||||
remindInterviewMsgDTOS.stream().forEach(interviewMsgDTO->{
|
||||
try {
|
||||
List<String> userIds = new ArrayList<>();
|
||||
userIds.add(interviewMsgDTO.getInterviewerId());
|
||||
SendCardMessageDTO sendCardMessageDTO = new SendCardMessageDTO();
|
||||
sendCardMessageDTO.setUserIds(userIds);
|
||||
sendCardMessageDTO.setMessageType(MessageTypeEnum.SCHEDULE_REMINDER);
|
||||
sendCardMessageDTO.setMessageUrl(linkUrl);
|
||||
sendCardMessageDTO.setTitle("面试预约申请");
|
||||
sendCardMessageDTO.setContent(interviewService.generateFeiShuInterviewMsg(interviewMsgDTO.getPartnerName(), interviewMsgDTO.getPartnerMobile(), interviewMsgDTO.getStartTime()));
|
||||
isvHttpRequest.sendFeiShuCardMessage(sendCardMessageDTO);
|
||||
} catch (ApiException e) {
|
||||
log.error("发送面试提醒消息失败",e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -101,10 +101,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
partnerLineInfoAndBaseInfoVO.setPassUserName(userInfo.getName());
|
||||
partnerLineInfoAndBaseInfoVO.setPassUserMobile(userInfo.getMobile());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoVO.getPartnerUserPhone())){
|
||||
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(partnerLineInfoAndBaseInfoVO.getPartnerUserPhone());
|
||||
partnerLineInfoAndBaseInfoVO.setPhoneAddress(phoneNumberAttribute!=null? phoneNumberAttribute.getProvince() + " " + phoneNumberAttribute.getCity():"");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getWantShopArea())){
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerLineInfoAndBaseInfoDTO.getWantShopArea()));
|
||||
partnerLineInfoAndBaseInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/"," "));
|
||||
@@ -235,9 +231,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
BlackListVO blackListVO = convertPartnerBlackListDTOToVo(x);
|
||||
blackListVO.setCloseUserPhone(userPhoneMap.get(x.getCloseUserId()));
|
||||
blackListVO.setCloseUserName(userPhoneMap.get(x.getCloseUserId()));
|
||||
if (StringUtils.isNotEmpty(x.getMobile())){
|
||||
blackListVO.setPhoneAddress(aliyunService.getPhoneNumberAttribute(x.getMobile()).getCity());
|
||||
}
|
||||
result.add(blackListVO);
|
||||
});
|
||||
blackListDTOPageInfo.setList(result);
|
||||
@@ -452,8 +445,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
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.setPhoneAddress(x.getPhoneAddress());
|
||||
publicSeaLineListVo.setWantShopArea(x.getWantShopArea());
|
||||
publicSeaLineListVo.setUpdateTime(DateUtil.format(x.getUpdateTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
|
||||
publicSeaLineListVo.setId(x.getLineId());
|
||||
@@ -709,6 +701,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
blackListVO.setCloseTime(closeTime);
|
||||
blackListVO.setJoinBlackReason(partnerBlackListDTO.getJoinBlackReason());
|
||||
blackListVO.setCloseUserId(partnerBlackListDTO.getCloseUserId());
|
||||
blackListVO.setPhoneAddress(partnerBlackListDTO.getPhoneAddress());
|
||||
blackListVO.setCloseUserPhone(partnerBlackListDTO.getCloseUserId());
|
||||
return blackListVO;
|
||||
}
|
||||
@@ -733,6 +726,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage());
|
||||
partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus());
|
||||
partnerLineInfoAndBaseInfoVO.setPassCause(partnerLineInfoAndBaseInfoDTO.getPassCause());
|
||||
partnerLineInfoAndBaseInfoVO.setPhoneAddress(partnerLineInfoAndBaseInfoVO.getPhoneAddress());
|
||||
partnerLineInfoAndBaseInfoVO.setLineStatus(partnerLineInfoAndBaseInfoDTO.getLineStatus());
|
||||
partnerLineInfoAndBaseInfoVO.setInvestmentManagerPhone(partnerLineInfoAndBaseInfoDTO.getInvestmentManagerPhone());
|
||||
partnerLineInfoAndBaseInfoVO.setPartnerUserPhone(partnerLineInfoAndBaseInfoDTO.getPartnerUserPhone());
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.dao.HyPhoneLocationDAO;
|
||||
import com.cool.store.dto.partner.DescribePhoneNumberDTO;
|
||||
import com.cool.store.dto.wx.PhoneInfoDTO;
|
||||
import com.cool.store.entity.HyPhoneLocationDO;
|
||||
import com.cool.store.mapper.HyPhoneLocationMapper;
|
||||
import com.cool.store.service.AliyunService;
|
||||
import com.cool.store.service.HyPhoneLocationService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/30 15:04
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class HyPhoneLocationServiceImpl implements HyPhoneLocationService {
|
||||
@Resource
|
||||
HyPhoneLocationDAO hyPhoneLocationDAO;
|
||||
@Resource
|
||||
AliyunService aliyunService;
|
||||
|
||||
@Override
|
||||
public void handleHyPhoneAddress(String phoneNumber) {
|
||||
long start = System.currentTimeMillis();
|
||||
if (StringUtils.isEmpty(phoneNumber)){
|
||||
return;
|
||||
}
|
||||
HyPhoneLocationDO hyPhoneLocationDO = hyPhoneLocationDAO.selectByPhoneNumber(phoneNumber);
|
||||
if (hyPhoneLocationDO==null){
|
||||
DescribePhoneNumberDTO phoneNumberAttribute = aliyunService.getPhoneNumberAttribute(phoneNumber);
|
||||
HyPhoneLocationDO hy = new HyPhoneLocationDO();
|
||||
hy.setPhoneNumber(phoneNumber);
|
||||
hy.setPhoneAddress(String.format("%s %s", phoneNumberAttribute.getProvince(), phoneNumberAttribute.getCity()));
|
||||
hyPhoneLocationDAO.insertSelective(hy);
|
||||
}
|
||||
log.info("秒:{}",(System.currentTimeMillis()-start)/1000);
|
||||
}
|
||||
}
|
||||
@@ -570,12 +570,13 @@ public class InterviewServiceImpl implements InterviewService {
|
||||
// hyPartnerLineInfoService.closeOrPassFollow(request.getOperatorId(),closeFollowRequest);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public String generateFeiShuInterviewMsg(String partnerName, String partnerMobile, String interviewTime){
|
||||
//"您有一个【面试预约申请】待处理,预约人【姓名】手机号【13xxxxxxxxx】,预约面试时间【YYYY年MM月DD日 hh:mm】,请及时处理】"
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("您有一个【面试预约申请】待处理,预约人")
|
||||
sb.append("您有一个【面试预约申请】待处理,预约人 ")
|
||||
.append(partnerName)
|
||||
.append("手机号")
|
||||
.append(" 手机号 ")
|
||||
.append(partnerMobile)
|
||||
.append(",预约面试时间")
|
||||
.append(DateUtil.format(DateUtil.parse(interviewTime), "yyyy年MM月dd日 HH:mm"));
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
package com.cool.store.service.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.constants.RedisConstant;
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.dto.log.UserInfoUpdateDTO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.OperateTypeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.PartnerIntentInfoRequest;
|
||||
import com.cool.store.request.PartnerUserInfoRequest;
|
||||
import com.cool.store.request.PartnerWantShopInfoRequest;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.service.PartnerUserInfoService;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.vo.ApplyBaseInfoVO;
|
||||
import com.cool.store.vo.InviteCodeDetailVO;
|
||||
import com.cool.store.vo.PartnerIntentInfoVO;
|
||||
import com.cool.store.vo.PartnerUserInfoVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -27,6 +29,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -47,6 +50,10 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@Resource
|
||||
private RedisUtilPool redisUtilPool;
|
||||
@Autowired
|
||||
private LogService logService;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@Override
|
||||
public HyPartnerUserInfoDO selectByPartnerId(String partnerId) {
|
||||
@@ -93,6 +100,11 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
if (hyPartnerUserInfoDO == null){
|
||||
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
|
||||
}
|
||||
//处理手机号
|
||||
hyPhoneLocationService.handleHyPhoneAddress(partnerUserInfoRequest.getMobile());
|
||||
UserInfoUpdateDTO.UserInfoUpdate beforeUserinfoUpdate = new UserInfoUpdateDTO.UserInfoUpdate(hyPartnerUserInfoDO.getUsername(), hyPartnerUserInfoDO.getMobile(), hyPartnerUserInfoDO.getLiveArea(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType());
|
||||
UserInfoUpdateDTO.UserInfoUpdate afterUserinfoUpdate = new UserInfoUpdateDTO.UserInfoUpdate(partnerUserInfoRequest.getUsername(), partnerUserInfoRequest.getMobile(), partnerUserInfoRequest.getLiveArea(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType());
|
||||
|
||||
ApplyBaseInfoVO applyBaseInfoVO = new ApplyBaseInfoVO();
|
||||
fillUserInfoDOByRequest(hyPartnerUserInfoDO, partnerUserInfoRequest);
|
||||
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
|
||||
@@ -124,6 +136,12 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
|
||||
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
|
||||
}
|
||||
}
|
||||
//记录日志
|
||||
PartnerUserInfoVO operator = PartnerUserHolder.getUser();
|
||||
UserInfoUpdateDTO log = UserInfoUpdateDTO.builder().mobile(operator.getMobile()).operateUserId(operator.getPartnerId()).operateUsername(operator.getUsername())
|
||||
.operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
|
||||
.beforeUserinfoUpdate(beforeUserinfoUpdate).afterUserinfoUpdate(afterUserinfoUpdate).build();
|
||||
logService.recordPartnerBizLog(operator,hyPartnerLineInfoDO.getId(), OperateTypeEnum.USERINFO_UPDATE,log);
|
||||
return applyBaseInfoVO;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,11 @@ public class TRTCVideoServiceImpl implements TRTCVideoService {
|
||||
|
||||
@Override
|
||||
public void handleVideoCallBack(VideoCallBackDTO videoCallBackDTO) {
|
||||
//防重
|
||||
Boolean hasVideoUrl = interviewMapper.hasVideoUrls(videoCallBackDTO.getEventInfo().getPayload().getTencentVod().getVideoUrl());
|
||||
if (hasVideoUrl) {
|
||||
return;
|
||||
}
|
||||
//将视频播放地址拼接到对应的面试信息字段中
|
||||
String videoUrl = videoCallBackDTO.getEventInfo().getPayload().getTencentVod().getVideoUrl();
|
||||
String roomId = videoCallBackDTO.getEventInfo().getRoomId();
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.cool.store.enums.UserPlatformTypeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.http.WechatRest;
|
||||
import com.cool.store.request.MobileUpdateRequest;
|
||||
import com.cool.store.service.HyPhoneLocationService;
|
||||
import com.cool.store.service.WechatMiniAppService;
|
||||
import com.cool.store.utils.AesUtil;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
@@ -55,6 +56,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
@Resource
|
||||
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@Value("${weixin.appId}")
|
||||
private String wxAppId;
|
||||
@@ -134,6 +137,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
// 获取手机号码
|
||||
PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(mobileCode, accessToken);
|
||||
if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){
|
||||
//处理手机号归属地
|
||||
hyPhoneLocationService.handleHyPhoneAddress(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
||||
return phoneInfoDTO.getPhoneInfo().getPhoneNumber();
|
||||
}
|
||||
return null;
|
||||
@@ -152,6 +157,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(request.getMobileCode(), accessToken);
|
||||
if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){
|
||||
newMobile = phoneInfoDTO.getPhoneInfo().getPhoneNumber();
|
||||
//处理手机号归属地
|
||||
hyPhoneLocationService.handleHyPhoneAddress(newMobile);
|
||||
if(newMobile.equals(oldUserInfo.getMobile())){
|
||||
return newMobile;
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ public class DeskController {
|
||||
EnterpriseUserService enterpriseUserService;
|
||||
@Resource
|
||||
PartnerUserInfoService partnerUserInfoService;
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,10 +22,7 @@ import com.cool.store.http.ISVHttpRequest;
|
||||
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.service.OpenAreaService;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.vo.cuser.IdentityCardInfoVO;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -251,4 +248,12 @@ public class TestController {
|
||||
return ResponseResult.success(openAreaService.searchOpenArea(keyword, applyFlag, Boolean.FALSE));
|
||||
}
|
||||
|
||||
@Resource
|
||||
HyPhoneLocationService hyPhoneLocationService;
|
||||
|
||||
@GetMapping("/handleHyPhoneAddress")
|
||||
public ResponseResult test(@RequestParam(value = "phone",required = false)String phone){
|
||||
hyPhoneLocationService.handleHyPhoneAddress(phone);
|
||||
return ResponseResult.success(Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ public class VideoController {
|
||||
videoService.handleVideoCallBack(videoCallBackDTO);
|
||||
return new ResponseResult(0, "腾讯云回调音视频回调数据接收成功");
|
||||
} catch (Exception e) {
|
||||
log.error("腾讯音视频录制视频上传回调错误:request:\t{}", e.getMessage());
|
||||
log.error("腾讯音视频录制视频上传回调错误:e:\t{}", e.toString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -83,4 +83,6 @@ xxl.job.executor.logpath = logs/xxl-job/jobhandler
|
||||
xxl.job.executor.logretentiondays = 30
|
||||
xxl.job.accessToken =
|
||||
|
||||
ec.baseUrl=http://127.0.0.1:8017
|
||||
ec.baseUrl=http://127.0.0.1:8017
|
||||
#飞书通知
|
||||
feishu.notice.link.url = https://applink.feishu.cn/client/web_app/open?appId=cli_a4f3e24dc73a100c&lk_target_url=https%3A%2F%2Ftest-hsay-web.coolstore.cn%2F%23%2Fwork%2Fbench
|
||||
Reference in New Issue
Block a user