Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -61,7 +61,7 @@ public enum ErrorCodeEnum {
|
|||||||
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
|
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
|
||||||
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
|
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
|
||||||
INTERVIEW_NOT_EXIST(1021103, "面试信息不存在!", null),
|
INTERVIEW_NOT_EXIST(1021103, "面试信息不存在!", null),
|
||||||
INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID和面试官ID不能同时为空!", null),
|
INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID&线索ID和面试官ID不能同时为空!", null),
|
||||||
INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面试安排!", null),
|
INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面试安排!", null),
|
||||||
DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null),
|
DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null),
|
||||||
INTERVIEW_PLAN_NOT_EXIST(1021107, "面试计划不存在!", null),
|
INTERVIEW_PLAN_NOT_EXIST(1021107, "面试计划不存在!", null),
|
||||||
@@ -69,6 +69,7 @@ public enum ErrorCodeEnum {
|
|||||||
CREATE_CALENDAR_EVENT_FAIL(1021109, "创建面试安排失败!", null),
|
CREATE_CALENDAR_EVENT_FAIL(1021109, "创建面试安排失败!", null),
|
||||||
FEISHU_UPDATE_SCHEDULE_ERROR(1021110, "修改面试安排失败!", null),
|
FEISHU_UPDATE_SCHEDULE_ERROR(1021110, "修改面试安排失败!", null),
|
||||||
INTERVIEW_STATUS_ERROR(1021111, "面试状态错误!", null),
|
INTERVIEW_STATUS_ERROR(1021111, "面试状态错误!", null),
|
||||||
|
INTERVIEW_PLAN_ALREADY_EXIST(1021112, "面试计划已存在,请勿重复申请!", null),
|
||||||
SIGN_FAIL(600000, "验签失败", null),
|
SIGN_FAIL(600000, "验签失败", null),
|
||||||
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null),
|
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null),
|
||||||
NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null),
|
NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null),
|
||||||
|
|||||||
@@ -83,4 +83,11 @@ public class EnterpriseUserDAO {
|
|||||||
}
|
}
|
||||||
return enterpriseUserMapper.getUserListByDeptLeader(regionId);
|
return enterpriseUserMapper.getUserListByDeptLeader(regionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<EnterpriseUserDO> getUserListByDeptLeaders(List<String> regionIds){
|
||||||
|
if(CollectionUtils.isEmpty(regionIds)){
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
|
return enterpriseUserMapper.getUserListByDeptLeaders(regionIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -52,6 +52,13 @@ public class HyIntendDevMappingDAO {
|
|||||||
return hyIntendDevelopementMappingMapper.selectByMappingIdList(idList);
|
return hyIntendDevelopementMappingMapper.selectByMappingIdList(idList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<ZoneCheckDTO> selectByOpenAreaMappingIdList(List<Long> idList){
|
||||||
|
if (CollectionUtils.isEmpty(idList)){
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
return hyIntendDevelopementMappingMapper.selectByOpenAreaMappingIdList(idList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public int batchInsert(List<HyIntendDevelopementMappingDO> recordList){
|
public int batchInsert(List<HyIntendDevelopementMappingDO> recordList){
|
||||||
if (CollectionUtils.isEmpty(recordList)){
|
if (CollectionUtils.isEmpty(recordList)){
|
||||||
|
|||||||
@@ -77,4 +77,10 @@ public interface EnterpriseUserMapper {
|
|||||||
*/
|
*/
|
||||||
List<EnterpriseUserDO> getUserListByDeptLeader(String regionId);
|
List<EnterpriseUserDO> getUserListByDeptLeader(String regionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据开发经理获取用户列表
|
||||||
|
* @param regionIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<EnterpriseUserDO> getUserListByDeptLeaders(@Param("regionIds") List<String> regionIds);
|
||||||
}
|
}
|
||||||
@@ -54,4 +54,6 @@ public interface HyIntendDevelopementMappingMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ZoneCheckDTO> selectByMappingIdList(@Param("mappingIdList") List<Long> mappingIdList);
|
List<ZoneCheckDTO> selectByMappingIdList(@Param("mappingIdList") List<Long> mappingIdList);
|
||||||
|
|
||||||
|
List<ZoneCheckDTO> selectByOpenAreaMappingIdList(@Param("openAreaMappingIdList") List<Long> openAreaMappingIdList);
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@ public interface HyPartnerInterviewMapper {
|
|||||||
* 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null
|
* 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null
|
||||||
* dateTime:2023-06-09 05:51
|
* dateTime:2023-06-09 05:51
|
||||||
*/
|
*/
|
||||||
int insertSelective(HyPartnerInterviewDO record);
|
int insertSelective(@Param("record") HyPartnerInterviewDO record);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -288,4 +288,13 @@
|
|||||||
<select id="getUserListByDeptLeader" resultMap="BaseResultMap">
|
<select id="getUserListByDeptLeader" resultMap="BaseResultMap">
|
||||||
select user_id, leader_dept_ids from enterprise_user where leader_dept_ids like concat("%", #{regionId}, "%") and deleted = 0
|
select user_id, leader_dept_ids from enterprise_user where leader_dept_ids like concat("%", #{regionId}, "%") and deleted = 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getUserListByDeptLeaders" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
user_id, name, mobile
|
||||||
|
from
|
||||||
|
enterprise_user
|
||||||
|
where
|
||||||
|
deleted = 0 and <foreach collection="regionIds" separator="or" open="(" close=")" item="regionId"> leader_dept_ids like concat("%", #{regionId}, "%") </foreach>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -130,4 +130,19 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectByOpenAreaMappingIdList" resultType="com.cool.store.dto.partner.ZoneCheckDTO">
|
||||||
|
select
|
||||||
|
a.open_area_mapping_id as openAreaMappingId,
|
||||||
|
b.zone_name as zoneName
|
||||||
|
from hy_intend_developement_mapping a inner join hy_intend_dev_zone_info b on a.mapping_id = b.id
|
||||||
|
<where>
|
||||||
|
<if test="openAreaMappingIdList!=null and openAreaMappingIdList.size>0">
|
||||||
|
<foreach collection="openAreaMappingIdList" open="and a.open_area_mapping_id in (" close=")" separator="," item="mappingId">
|
||||||
|
#{mappingId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -194,6 +194,9 @@
|
|||||||
<if test="keyword!=null and keyword!=''">
|
<if test="keyword!=null and keyword!=''">
|
||||||
and area_path like concat('%',#{keyword},'%')
|
and area_path like concat('%',#{keyword},'%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="applyFlag!=null and applyFlag==true">
|
||||||
|
and (area_status = 'open' or area_status = 'keyOpen')
|
||||||
|
</if>
|
||||||
<if test="areaStatus!=null and areaStatus!=''">
|
<if test="areaStatus!=null and areaStatus!=''">
|
||||||
and area_status = #{areaStatus}
|
and area_status = #{areaStatus}
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
<result column="record_time" jdbcType="TIMESTAMP" property="recordTime" />
|
<result column="record_time" jdbcType="TIMESTAMP" property="recordTime" />
|
||||||
<result column="summary" jdbcType="VARCHAR" property="summary" />
|
<result column="summary" jdbcType="VARCHAR" property="summary" />
|
||||||
<result column="auth_code" jdbcType="VARCHAR" property="authCode" />
|
<result column="auth_code" jdbcType="VARCHAR" property="authCode" />
|
||||||
<result column="qualify_verify_id" jdbcType="VARCHAR" property="qualifyVerifyId" />
|
<result column="pass_pdf_url" jdbcType="VARCHAR" property="passPdfUrl" />
|
||||||
<result column="pass_file_url" jdbcType="VARCHAR" property="passFileUrl" />
|
<result column="pass_image_url" jdbcType="VARCHAR" property="passImageUrl" />
|
||||||
<result column="expiry_date" jdbcType="TIMESTAMP" property="expiryDate" />
|
<result column="expiry_date" jdbcType="TIMESTAMP" property="expiryDate" />
|
||||||
<result column="latest_log_message" jdbcType="VARCHAR" property="latestLogMessage" />
|
<result column="latest_log_message" jdbcType="VARCHAR" property="latestLogMessage" />
|
||||||
<result column="pass_reason" jdbcType="VARCHAR" property="passReason" />
|
<result column="pass_reason" jdbcType="VARCHAR" property="passReason" />
|
||||||
@@ -54,133 +54,139 @@
|
|||||||
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
||||||
insert into hy_partner_interview
|
insert into hy_partner_interview
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="status != null">
|
<if test="record.status != null">
|
||||||
status,
|
status,
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerLineId != null">
|
<if test="record.partnerLineId != null">
|
||||||
partner_line_id,
|
partner_line_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewPlanId != null">
|
<if test="record.interviewPlanId != null">
|
||||||
interview_plan_id,
|
interview_plan_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerId != null">
|
<if test="record.partnerId != null">
|
||||||
partner_id,
|
partner_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="deadline != null">
|
<if test="record.deadline != null">
|
||||||
deadline,
|
deadline,
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewer != null">
|
<if test="record.interviewer != null">
|
||||||
interviewer,
|
interviewer,
|
||||||
</if>
|
</if>
|
||||||
<if test="recorder != null">
|
<if test="record.recorder != null">
|
||||||
recorder,
|
recorder,
|
||||||
</if>
|
</if>
|
||||||
<if test="processInfo != null">
|
<if test="record.processInfo != null">
|
||||||
process_info,
|
process_info,
|
||||||
</if>
|
</if>
|
||||||
<if test="recordTime != null">
|
<if test="record.recordTime != null">
|
||||||
record_time,
|
record_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="summary != null">
|
<if test="record.summary != null">
|
||||||
summary,
|
summary,
|
||||||
</if>
|
</if>
|
||||||
<if test="authCode != null">
|
<if test="record.authCode != null">
|
||||||
auth_code,
|
auth_code,
|
||||||
</if>
|
</if>
|
||||||
<if test="passFileUrl != null">
|
<if test="record.passPdfUrl != null">
|
||||||
pass_file_url,
|
pass_pdf_url,
|
||||||
</if>
|
</if>
|
||||||
<if test="expiryDate != null">
|
<if test="record.passImageUrl != null">
|
||||||
|
pass_image_url,
|
||||||
|
</if>
|
||||||
|
<if test="record.expiryDate != null">
|
||||||
expiry_date,
|
expiry_date,
|
||||||
</if>
|
</if>
|
||||||
<if test="latestLogMessage != null">
|
<if test="record.latestLogMessage != null">
|
||||||
latest_log_message,
|
latest_log_message,
|
||||||
</if>
|
</if>
|
||||||
<if test="passReason != null">
|
<if test="record.passReason != null">
|
||||||
pass_reason,
|
pass_reason,
|
||||||
</if>
|
</if>
|
||||||
<if test="certifyFile != null">
|
<if test="record.certifyFile != null">
|
||||||
certify_file,
|
certify_file,
|
||||||
</if>
|
</if>
|
||||||
<if test="createTime != null">
|
<if test="record.createTime != null">
|
||||||
create_time,
|
create_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="updateTime != null">
|
<if test="record.updateTime != null">
|
||||||
update_time,
|
update_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="approveTime != null">
|
<if test="record.approveTime != null">
|
||||||
approve_time,
|
approve_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerEnterTime != null">
|
<if test="record.partnerEnterTime != null">
|
||||||
partner_enter_time,
|
partner_enter_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewerEnterTime != null">
|
<if test="record.interviewerEnterTime != null">
|
||||||
interviewer_enter_time,
|
interviewer_enter_time,
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="status != null">
|
<if test="record.status != null">
|
||||||
#{status},
|
#{record.status},
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerLineId != null">
|
<if test="record.partnerLineId != null">
|
||||||
#{partnerLineId},
|
#{record.partnerLineId},
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewPlanId != null">
|
<if test="record.interviewPlanId != null">
|
||||||
#{interviewPlanId},
|
#{record.interviewPlanId},
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerId != null">
|
<if test="record.partnerId != null">
|
||||||
#{partnerId},
|
#{record.partnerId},
|
||||||
</if>
|
</if>
|
||||||
<if test="deadline != null">
|
<if test="record.deadline != null">
|
||||||
#{deadline},
|
#{record.deadline},
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewer != null">
|
<if test="record.interviewer != null">
|
||||||
#{interviewer},
|
#{record.interviewer},
|
||||||
</if>
|
</if>
|
||||||
<if test="recorder != null">
|
<if test="record.recorder != null">
|
||||||
#{recorder},
|
#{record.recorder},
|
||||||
</if>
|
</if>
|
||||||
<if test="processInfo != null">
|
<if test="record.processInfo != null">
|
||||||
#{processInfo},
|
#{record.processInfo},
|
||||||
</if>
|
</if>
|
||||||
<if test="recordTime != null">
|
<if test="record.recordTime != null">
|
||||||
#{recordTime},
|
#{record.recordTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="summary != null">
|
<if test="record.summary != null">
|
||||||
#{summary},
|
#{record.summary},
|
||||||
</if>
|
</if>
|
||||||
<if test="authCode != null">
|
<if test="record.authCode != null">
|
||||||
#{authCode},
|
#{record.authCode},
|
||||||
</if>
|
</if>
|
||||||
<if test="passFileUrl != null">
|
<if test="record.passPdfUrl != null">
|
||||||
#{passFileUrl},
|
#{record.passPdfUrl},
|
||||||
</if>
|
</if>
|
||||||
<if test="expiryDate != null">
|
<if test="record.passImageUrl != null">
|
||||||
#{expiryDate},
|
#{record.passImageUrl},
|
||||||
</if>
|
</if>
|
||||||
<if test="latestLogMessage != null">
|
<if test="record.expiryDate != null">
|
||||||
#{latestLogMessage},
|
#{record.expiryDate},
|
||||||
</if>
|
</if>
|
||||||
<if test="passReason != null">
|
<if test="record.latestLogMessage != null">
|
||||||
#{passReason},
|
#{record.latestLogMessage},
|
||||||
</if>
|
</if>
|
||||||
<if test="certifyFile != null">
|
<if test="record.passReason != null">
|
||||||
#{certifyFile},
|
#{record.passReason},
|
||||||
</if>
|
</if>
|
||||||
<if test="createTime != null">
|
<if test="record.certifyFile != null">
|
||||||
#{createTime},
|
#{record.certifyFile},
|
||||||
</if>
|
</if>
|
||||||
<if test="updateTime != null">
|
<if test="record.createTime != null">
|
||||||
#{updateTime},
|
#{record.createTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="approveTime != null">
|
<if test="record.updateTime != null">
|
||||||
#{approveTime},
|
#{record.updateTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerEnterTime != null">
|
<if test="record.approveTime != null">
|
||||||
#{partnerEnterTime},
|
#{record.approveTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewerEnterTime != null">
|
<if test="record.partnerEnterTime != null">
|
||||||
#{interviewerEnterTime},
|
#{record.partnerEnterTime},
|
||||||
|
</if>
|
||||||
|
<if test="record.interviewerEnterTime != null">
|
||||||
|
#{record.interviewerEnterTime},
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
<result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
|
<result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
|
||||||
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
|
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
|
||||||
<result column="is_partner_interview" jdbcType="TINYINT" property="isPartnerInterview" />
|
<result column="is_partner_interview" jdbcType="TINYINT" property="isPartnerInterview" />
|
||||||
|
<result column="application_approved" jdbcType="TINYINT" property="applicationApproved" />
|
||||||
<result column="actual_start_time" jdbcType="TIMESTAMP" property="actualStartTime" />
|
<result column="actual_start_time" jdbcType="TIMESTAMP" property="actualStartTime" />
|
||||||
<result column="actual_end_time" jdbcType="TIMESTAMP" property="actualEndTime" />
|
<result column="actual_end_time" jdbcType="TIMESTAMP" property="actualEndTime" />
|
||||||
<result column="room_id" jdbcType="VARCHAR" property="roomId" />
|
<result column="room_id" jdbcType="VARCHAR" property="roomId" />
|
||||||
@@ -74,6 +75,9 @@
|
|||||||
<if test="record.updateTime != null">
|
<if test="record.updateTime != null">
|
||||||
update_time,
|
update_time,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.applicationApproved != null">
|
||||||
|
application_approved,
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="record.partnerLineId != null">
|
<if test="record.partnerLineId != null">
|
||||||
@@ -121,6 +125,9 @@
|
|||||||
<if test="record.updateTime != null">
|
<if test="record.updateTime != null">
|
||||||
#{record.updateTime},
|
#{record.updateTime},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="record.applicationApproved != null">
|
||||||
|
#{record.applicationApproved},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="updateByPrimaryKeySelective">
|
<update id="updateByPrimaryKeySelective">
|
||||||
|
|||||||
@@ -66,6 +66,9 @@ public class HyPartnerInterviewPlanDO implements Serializable {
|
|||||||
@ApiModelProperty("更新时间")
|
@ApiModelProperty("更新时间")
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("预约是否通过审核:0.未审核1.通过审核")
|
||||||
|
private Integer applicationApproved;
|
||||||
|
|
||||||
@ApiModelProperty("飞书日历id")
|
@ApiModelProperty("飞书日历id")
|
||||||
private String feishuCalendarId;
|
private String feishuCalendarId;
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,10 @@ public class GetFreeBusyListReq {
|
|||||||
private String startDate;
|
private String startDate;
|
||||||
@ApiModelProperty(value = "结束时间",required = true)
|
@ApiModelProperty(value = "结束时间",required = true)
|
||||||
private String endDate;
|
private String endDate;
|
||||||
@ApiModelProperty("加盟商用户ID")
|
@ApiModelProperty("线索id(C端使用)")
|
||||||
|
private String lineId;
|
||||||
|
@ApiModelProperty("加盟商用户ID(C端使用,与面试官id两个字段中必传一个,该字段传值时,线索id必传)")
|
||||||
private String partnerId;
|
private String partnerId;
|
||||||
@ApiModelProperty("面试官ID(如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)")
|
@ApiModelProperty("面试官ID(B端使用,如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)")
|
||||||
private String interviewerId;
|
private String interviewerId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ public class IntentAreaSettingRequest {
|
|||||||
@ApiModelProperty("战区名称")
|
@ApiModelProperty("战区名称")
|
||||||
private String zoneName;
|
private String zoneName;
|
||||||
@ApiModelProperty("组织机构ID集合")
|
@ApiModelProperty("组织机构ID集合")
|
||||||
private List<Long> orgIdList;
|
private List<String> orgIdList;
|
||||||
@ApiModelProperty("开放区域id集合")
|
@ApiModelProperty("开放区域id集合")
|
||||||
private List<Long> openAreaIdList;
|
private List<Long> openAreaIdList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
package com.cool.store.vo;
|
package com.cool.store.vo;
|
||||||
|
|
||||||
|
import com.cool.store.entity.EnterpriseUserDO;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author suzhuhong
|
* @Author suzhuhong
|
||||||
@@ -15,4 +21,19 @@ public class EnterpriseUserSingleInfoVO {
|
|||||||
private String userName;
|
private String userName;
|
||||||
|
|
||||||
private String mobile;
|
private String mobile;
|
||||||
|
|
||||||
|
public static List<EnterpriseUserSingleInfoVO> convertVO(List<EnterpriseUserDO> userList){
|
||||||
|
if(CollectionUtils.isEmpty(userList)){
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
|
List<EnterpriseUserSingleInfoVO> resultList = new ArrayList<>();
|
||||||
|
for (EnterpriseUserDO enterpriseUser : userList) {
|
||||||
|
EnterpriseUserSingleInfoVO result = new EnterpriseUserSingleInfoVO();
|
||||||
|
result.setUserId(enterpriseUser.getUserId());
|
||||||
|
result.setUserName(enterpriseUser.getName());
|
||||||
|
result.setMobile(enterpriseUser.getMobile());
|
||||||
|
resultList.add(result);
|
||||||
|
}
|
||||||
|
return resultList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,4 +35,11 @@ public interface EnterpriseUserService {
|
|||||||
|
|
||||||
List<EnterpriseUserSingleInfoVO> getDevelopmentDirectorList(String wantShopArea);
|
List<EnterpriseUserSingleInfoVO> getDevelopmentDirectorList(String wantShopArea);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据意向区域获取开发主管
|
||||||
|
* @param zoneId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
EnterpriseUserDO getDevelopmentByZoneId(Long zoneId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,6 +130,14 @@ public interface HyPartnerLineInfoService {
|
|||||||
*/
|
*/
|
||||||
Boolean assignFollowUser(Long lineId);
|
Boolean assignFollowUser(Long lineId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 线索状态
|
||||||
|
* @param wantShopAreaId
|
||||||
|
* @param acceptAdjustType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean getLineStatus(Long wantShopAreaId,Integer acceptAdjustType);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public interface InterviewService {
|
|||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
CreateAppointmentVO createAppointment(CreateAppointmentReq request);
|
CreateAppointmentVO createAppointment(CreateAppointmentReq request) throws ApiException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 同意面试预约
|
* 同意面试预约
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.cool.store.service.ZoneService;
|
|||||||
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
|
import com.cool.store.vo.EnterpriseUserSingleInfoVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.collections4.ListUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -82,15 +83,7 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
|
|||||||
if (CommonConstants.TRANSFER.equals(type)){
|
if (CommonConstants.TRANSFER.equals(type)){
|
||||||
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.TRUE);
|
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
List<EnterpriseUserSingleInfoVO> enterpriseUserSingleInfoVOS = new ArrayList<>();
|
return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS);
|
||||||
enterpriseUserDOS.forEach(x->{
|
|
||||||
EnterpriseUserSingleInfoVO enterpriseUserSingleInfoVO = new EnterpriseUserSingleInfoVO();
|
|
||||||
enterpriseUserSingleInfoVO.setUserId(x.getUserId());
|
|
||||||
enterpriseUserSingleInfoVO.setUserName(x.getName());
|
|
||||||
enterpriseUserSingleInfoVO.setMobile(x.getMobile());
|
|
||||||
enterpriseUserSingleInfoVOS.add(enterpriseUserSingleInfoVO);
|
|
||||||
});
|
|
||||||
return enterpriseUserSingleInfoVOS;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -125,7 +118,7 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
|
|||||||
result.setInvestmentUserIds(userList);
|
result.setInvestmentUserIds(userList);
|
||||||
}
|
}
|
||||||
//开发区域
|
//开发区域
|
||||||
List<String> developmentList = zoneInfoList.stream().filter(o -> "developement".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
|
List<String> developmentList = zoneInfoList.stream().filter(o -> "dev".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
|
||||||
if(CollectionUtils.isNotEmpty(developmentList)){
|
if(CollectionUtils.isNotEmpty(developmentList)){
|
||||||
//获取负责的区域
|
//获取负责的区域
|
||||||
developmentList.retainAll(subRegionIds);
|
developmentList.retainAll(subRegionIds);
|
||||||
@@ -138,6 +131,23 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<EnterpriseUserSingleInfoVO> getDevelopmentDirectorList(String wantShopArea) {
|
public List<EnterpriseUserSingleInfoVO> getDevelopmentDirectorList(String wantShopArea) {
|
||||||
return null;
|
List<HyIntendDevZoneInfoDO> devList = hyIntendDevZoneInfoDAO.getHyIntendDevZoneInfoList("dev");
|
||||||
|
List<String> regionIds = ListUtils.emptyIfNull(devList).stream().flatMap(o -> JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
|
||||||
|
List<EnterpriseUserDO> userList = enterpriseUserDAO.getUserListByDeptLeaders(regionIds);
|
||||||
|
return EnterpriseUserSingleInfoVO.convertVO(userList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EnterpriseUserDO getDevelopmentByZoneId(Long zoneId) {
|
||||||
|
HyIntendDevZoneInfoDO zoneInfo = hyIntendDevZoneInfoDAO.selectById(zoneId);
|
||||||
|
if(Objects.isNull(zoneInfo)){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.ZONE_NOT_EXIST);
|
||||||
|
}
|
||||||
|
List<String> regionIds = JSONObject.parseArray(zoneInfo.getAssociatedRegionId(), String.class);
|
||||||
|
List<EnterpriseUserDO> userList = enterpriseUserDAO.getUserListByDeptLeaders(regionIds);
|
||||||
|
if(CollectionUtils.isEmpty(userList)){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return userList.stream().findAny().get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ import cn.hutool.core.date.DateTime;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.cool.store.dto.calendar.UserFreeBusyInfoDTO;
|
import com.cool.store.dto.calendar.UserFreeBusyInfoDTO;
|
||||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||||
|
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.http.ISVHttpRequest;
|
import com.cool.store.http.ISVHttpRequest;
|
||||||
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||||
|
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
||||||
import com.cool.store.request.GetFreeBusyListReq;
|
import com.cool.store.request.GetFreeBusyListReq;
|
||||||
import com.cool.store.service.FeiShuService;
|
import com.cool.store.service.FeiShuService;
|
||||||
import com.cool.store.vo.interview.CalendarInfo;
|
import com.cool.store.vo.interview.CalendarInfo;
|
||||||
@@ -36,6 +38,9 @@ public class FeiShuServiceImpl implements FeiShuService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
|
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HyPartnerLineInfoMapper hyPartnerLineInfoMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetFreeBusyListVO getFreeBusyList(GetFreeBusyListReq request) throws ApiException {
|
public GetFreeBusyListVO getFreeBusyList(GetFreeBusyListReq request) throws ApiException {
|
||||||
GetFreeBusyListVO freeBusyListVO = new GetFreeBusyListVO();
|
GetFreeBusyListVO freeBusyListVO = new GetFreeBusyListVO();
|
||||||
@@ -43,21 +48,24 @@ public class FeiShuServiceImpl implements FeiShuService {
|
|||||||
String endDate = request.getEndDate();//结束日期
|
String endDate = request.getEndDate();//结束日期
|
||||||
String partnerId = request.getPartnerId();//加盟商用户ID
|
String partnerId = request.getPartnerId();//加盟商用户ID
|
||||||
String interviewerId = request.getInterviewerId();//面试官ID
|
String interviewerId = request.getInterviewerId();//面试官ID
|
||||||
|
String lineId = request.getLineId();//线索id
|
||||||
//如果加盟商用户ID为空且面试官ID为空,返回错误信息
|
//如果加盟商用户ID为空且面试官ID为空,返回错误信息
|
||||||
if (StringUtils.isEmpty(partnerId) && StringUtils.isEmpty(interviewerId)) {
|
if (!(StringUtils.isNotEmpty(partnerId) && StringUtils.isNotEmpty(lineId)) && StringUtils.isEmpty(interviewerId)) {
|
||||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_AND_PARTNER_ID_IS_NULL);
|
throw new ServiceException(ErrorCodeEnum.INTERVIEW_AND_PARTNER_ID_IS_NULL);
|
||||||
}
|
}
|
||||||
//如果加盟商用户ID不为空且面试官ID为空
|
//如果加盟商用户ID不为空且面试官ID为空
|
||||||
if (StringUtils.isNotEmpty(partnerId) && StringUtils.isEmpty(interviewerId)) {
|
if (StringUtils.isNotEmpty(partnerId) && StringUtils.isNotEmpty(lineId)) {
|
||||||
//根据加盟商用户ID查询面试官ID
|
//根据加盟商用户ID查询面试官ID
|
||||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||||
hyPartnerInterviewPlanDO.setPartnerId(partnerId);
|
hyPartnerInterviewPlanDO.setPartnerId(partnerId);
|
||||||
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
||||||
//如果查询结果为空,返回错误信息
|
//如果查询结果为空,则去线索中获取招商经理,面试官只有两个阶段,一个是在第一次申请时不存在面试安排直接取招商经理,第二个时面试信息中可修改面试官信息,这个时候以面试信息中为准
|
||||||
if (CollectionUtils.isEmpty(hyPartnerInterviewPlanDOS)) {
|
if (CollectionUtils.isEmpty(hyPartnerInterviewPlanDOS)) {
|
||||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_IS_NULL);
|
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoMapper.selectByPrimaryKeySelective(Long.valueOf(lineId));
|
||||||
|
interviewerId = hyPartnerLineInfoDO.getInvestmentManager();
|
||||||
|
}else {
|
||||||
|
interviewerId = hyPartnerInterviewPlanDOS.get(0).getInterviewer();
|
||||||
}
|
}
|
||||||
interviewerId = hyPartnerInterviewPlanDOS.get(0).getInterviewer();
|
|
||||||
}
|
}
|
||||||
long startTime = 0L;
|
long startTime = 0L;
|
||||||
long endTime = 0L;
|
long endTime = 0L;
|
||||||
|
|||||||
@@ -247,20 +247,20 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
@Override
|
@Override
|
||||||
public PageInfo<PublicSeaLineListVo> publicSeaLineList(String userId, LineRequest lineRequest) {
|
public PageInfo<PublicSeaLineListVo> publicSeaLineList(String userId, LineRequest lineRequest) {
|
||||||
//确认是招商经理还是部门负责人
|
//确认是招商经理还是部门负责人
|
||||||
EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(userId);
|
// EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(userId);
|
||||||
List<String> userIds = new ArrayList<>();
|
// List<String> userIds = new ArrayList<>();
|
||||||
if (userInfo.getIsLeader()){
|
// if (userInfo.getIsLeader()){
|
||||||
if (StringUtil.isNotEmpty(userInfo.getLeaderDeptIds())){
|
// if (StringUtil.isNotEmpty(userInfo.getLeaderDeptIds())){
|
||||||
List<String> regionIds = JSONObject.parseArray(userInfo.getLeaderDeptIds(), String.class);
|
// List<String> regionIds = JSONObject.parseArray(userInfo.getLeaderDeptIds(), String.class);
|
||||||
List<EnterpriseUserDO> enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(regionIds, null, true);
|
// List<EnterpriseUserDO> enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(regionIds, null, true);
|
||||||
userIds =enterpriseUserDOS.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
|
// userIds =enterpriseUserDOS.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
|
||||||
}
|
// }
|
||||||
}else {
|
// }else {
|
||||||
userIds = Arrays.asList(userId);
|
// userIds = Arrays.asList(userId);
|
||||||
}
|
// }
|
||||||
PageHelper.startPage(lineRequest.getPageNum(),lineRequest.getPageSize());
|
PageHelper.startPage(lineRequest.getPageNum(),lineRequest.getPageSize());
|
||||||
PageInfo publicSeaLineList = new PageInfo(hyPartnerLineInfoDAO.getPublicSeaLineList(lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(),
|
PageInfo publicSeaLineList = new PageInfo(hyPartnerLineInfoDAO.getPublicSeaLineList(lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(),
|
||||||
lineRequest.getIntentArea(), lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), userIds));
|
lineRequest.getIntentArea(), lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), null));
|
||||||
|
|
||||||
List<PublicSeaLineDTO> list = publicSeaLineList.getList();
|
List<PublicSeaLineDTO> list = publicSeaLineList.getList();
|
||||||
if (CollectionUtils.isEmpty(list)){
|
if (CollectionUtils.isEmpty(list)){
|
||||||
@@ -395,21 +395,34 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
return Boolean.FALSE;
|
return Boolean.FALSE;
|
||||||
}
|
}
|
||||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
|
||||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()));
|
|
||||||
|
Boolean lineStatus = getLineStatus(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()), hyPartnerUserInfoDO.getAcceptAdjustType());
|
||||||
|
return lineStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 线索状态
|
||||||
|
* @param wantShopAreaId
|
||||||
|
* @param acceptAdjustType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean getLineStatus(Long wantShopAreaId,Integer acceptAdjustType){
|
||||||
|
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(wantShopAreaId);
|
||||||
|
|
||||||
if (AreaStatusEnum.OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
|
if (AreaStatusEnum.OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
if (AreaStatusEnum.NOT_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
|
if (AreaStatusEnum.NOT_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
|
||||||
if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
|
if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(acceptAdjustType)){
|
||||||
return Boolean.FALSE;
|
return Boolean.FALSE;
|
||||||
}
|
}
|
||||||
//全国调剂 默认分配呗 有啥好说的
|
//全国调剂 默认分配呗 有啥好说的
|
||||||
if (AcceptAdjustTypeEnum.NATIONAL_ADJUSTMENT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
|
if (AcceptAdjustTypeEnum.NATIONAL_ADJUSTMENT.getCode().equals(acceptAdjustType)){
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
//省内调剂 有重点或者开放的 分配
|
//省内调剂 有重点或者开放的 分配
|
||||||
if (AcceptAdjustTypeEnum.PROVINCIAL_ADJUSTMENT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
|
if (AcceptAdjustTypeEnum.PROVINCIAL_ADJUSTMENT.getCode().equals(acceptAdjustType)){
|
||||||
Integer apply = hyOpenAreaInfoDAO.getChildrenCount("apply", hyOpenAreaInfoDO.getId());
|
Integer apply = hyOpenAreaInfoDAO.getChildrenCount("apply", hyOpenAreaInfoDO.getId());
|
||||||
if (apply>CommonConstants.ZERO){
|
if (apply>CommonConstants.ZERO){
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
@@ -417,7 +430,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
return Boolean.FALSE;
|
return Boolean.FALSE;
|
||||||
}
|
}
|
||||||
//市内调剂 不分配
|
//市内调剂 不分配
|
||||||
if (AcceptAdjustTypeEnum.LOCAL_ADJUSTMENT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
|
if (AcceptAdjustTypeEnum.LOCAL_ADJUSTMENT.getCode().equals(acceptAdjustType)){
|
||||||
return Boolean.FALSE;
|
return Boolean.FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ import com.cool.store.vo.EnterpriseUserBaseInfoVO;
|
|||||||
import com.cool.store.vo.interview.CreateAppointmentVO;
|
import com.cool.store.vo.interview.CreateAppointmentVO;
|
||||||
import com.cool.store.vo.interview.InterviewVO;
|
import com.cool.store.vo.interview.InterviewVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -207,7 +207,14 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CreateAppointmentVO createAppointment(CreateAppointmentReq request) {
|
@Transactional
|
||||||
|
public CreateAppointmentVO createAppointment(CreateAppointmentReq request) throws ApiException {
|
||||||
|
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||||
|
hyPartnerInterviewPlanDO.setPartnerLineId(request.getPartnerLineId());
|
||||||
|
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
||||||
|
if(CollectionUtils.isNotEmpty(hyPartnerInterviewPlanDOS)){
|
||||||
|
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_ALREADY_EXIST);
|
||||||
|
}
|
||||||
CreateAppointmentVO vo = new CreateAppointmentVO();
|
CreateAppointmentVO vo = new CreateAppointmentVO();
|
||||||
//1.创建面试计划
|
//1.创建面试计划
|
||||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||||
@@ -226,14 +233,21 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
record.setRoomId(StringUtil.generateRoomId(startBookingTime));
|
record.setRoomId(StringUtil.generateRoomId(startBookingTime));
|
||||||
record.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
|
record.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
|
||||||
record.setDeleted(false);
|
record.setDeleted(false);
|
||||||
long interviewPlanId = hyPartnerInterviewPlanMapper.insertSelective(record);
|
record.setApplicationApproved(0);
|
||||||
|
hyPartnerInterviewPlanMapper.insertSelective(record);
|
||||||
|
|
||||||
|
List<HyPartnerInterviewPlanDO> interviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
||||||
|
if(CollectionUtils.isEmpty(interviewPlanDOS)){
|
||||||
|
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||||
|
}
|
||||||
|
Long interviewPlanId = interviewPlanDOS.get(0).getId();
|
||||||
vo.setInterviewPlanId(String.valueOf(interviewPlanId));
|
vo.setInterviewPlanId(String.valueOf(interviewPlanId));
|
||||||
|
|
||||||
//2.创建面试信息
|
//2.创建面试信息
|
||||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||||
hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
|
hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
|
||||||
hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
|
|
||||||
hyPartnerInterviewDO.setPartnerLineId(request.getPartnerLineId());
|
hyPartnerInterviewDO.setPartnerLineId(request.getPartnerLineId());
|
||||||
|
hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
|
||||||
hyPartnerInterviewDO.setInterviewer(request.getInterviewerId());
|
hyPartnerInterviewDO.setInterviewer(request.getInterviewerId());
|
||||||
hyPartnerInterviewDO.setCreateTime(new Date());
|
hyPartnerInterviewDO.setCreateTime(new Date());
|
||||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
@@ -245,6 +259,7 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void approveAppointment(ApproveAppointmentReq request) throws ApiException {
|
public void approveAppointment(ApproveAppointmentReq request) throws ApiException {
|
||||||
|
|
||||||
//查询面试计划信息
|
//查询面试计划信息
|
||||||
InterviewVO interviewVO = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
InterviewVO interviewVO = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
||||||
//如果面试计划不存在,抛出异常
|
//如果面试计划不存在,抛出异常
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public class ZoneServiceImpl implements ZoneService {
|
|||||||
hyIntendDevZoneInfoDO.setId(intentAreaSettingRequest.getId());
|
hyIntendDevZoneInfoDO.setId(intentAreaSettingRequest.getId());
|
||||||
hyIntendDevZoneInfoDO.setZoneName(intentAreaSettingRequest.getZoneName());
|
hyIntendDevZoneInfoDO.setZoneName(intentAreaSettingRequest.getZoneName());
|
||||||
hyIntendDevZoneInfoDO.setUpdateUserId(userId);
|
hyIntendDevZoneInfoDO.setUpdateUserId(userId);
|
||||||
hyIntendDevZoneInfoDO.setAssociatedRegionId(CollectionUtils.isNotEmpty(intentAreaSettingRequest.getOrgIdList())?JSONObject.toJSONString(intentAreaSettingRequest.getOrgIdList()):"");
|
hyIntendDevZoneInfoDO.setAssociatedRegionId(CollectionUtils.isNotEmpty(intentAreaSettingRequest.getOrgIdList())?JSONObject.toJSONString(intentAreaSettingRequest.getOrgIdList()):null);
|
||||||
hyIntendDevZoneInfoDAO.updateByPrimaryKeySelective(hyIntendDevZoneInfoDO);
|
hyIntendDevZoneInfoDAO.updateByPrimaryKeySelective(hyIntendDevZoneInfoDO);
|
||||||
//添加战区映射的意向区域
|
//添加战区映射的意向区域
|
||||||
hyIntendDevMappingDAO.deleteByOpenAreaIds(intentAreaSettingRequest.getOpenAreaIdList(),intentAreaSettingRequest.getType());
|
hyIntendDevMappingDAO.deleteByOpenAreaIds(intentAreaSettingRequest.getOpenAreaIdList(),intentAreaSettingRequest.getType());
|
||||||
@@ -202,7 +202,7 @@ public class ZoneServiceImpl implements ZoneService {
|
|||||||
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
||||||
}
|
}
|
||||||
//查询已经绑定战区的 意向区域
|
//查询已经绑定战区的 意向区域
|
||||||
List<ZoneCheckDTO> list = hyIntendDevMappingDAO.selectByMappingIdList(intentAreaSettingRequest.getOpenAreaIdList());
|
List<ZoneCheckDTO> list = hyIntendDevMappingDAO.selectByOpenAreaMappingIdList(intentAreaSettingRequest.getOpenAreaIdList());
|
||||||
List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList());
|
List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList());
|
||||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList);
|
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList);
|
||||||
Map<Long, String> areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName));
|
Map<Long, String> areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName));
|
||||||
|
|||||||
@@ -229,4 +229,14 @@ public class TestController {
|
|||||||
return ResponseResult.success(enterpriseUserService.getUserIdsByScope(userId));
|
return ResponseResult.success(enterpriseUserService.getUserIdsByScope(userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("getDevelopmentDirectorList")
|
||||||
|
public ResponseResult getDevelopmentDirectorList(@RequestParam("wantShopArea") String wantShopArea){
|
||||||
|
return ResponseResult.success(enterpriseUserService.getDevelopmentDirectorList(wantShopArea));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("getDevelopmentByZoneId")
|
||||||
|
public ResponseResult getDevelopmentByZoneId(@RequestParam("zoneId") Long zoneId){
|
||||||
|
return ResponseResult.success(enterpriseUserService.getDevelopmentByZoneId(zoneId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ mybatis.mapper-locations=classpath*:mapper/**/*Mapper.xml
|
|||||||
mybatis.configuration.call-setters-on-nulls=true
|
mybatis.configuration.call-setters-on-nulls=true
|
||||||
mybatis.configuration.map-underscore-to-camel-case=true
|
mybatis.configuration.map-underscore-to-camel-case=true
|
||||||
|
|
||||||
isv.domain = https://abstore-isv.coolstore.cn
|
isv.domain = https://abstore-isv.coolstore.cn/isv
|
||||||
|
|
||||||
#rocketmq \u914D\u7F6E
|
#rocketmq \u914D\u7F6E
|
||||||
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ mybatis.mapper-locations=classpath*:mapper/**/*Mapper.xml
|
|||||||
mybatis.configuration.call-setters-on-nulls=true
|
mybatis.configuration.call-setters-on-nulls=true
|
||||||
mybatis.configuration.map-underscore-to-camel-case=true
|
mybatis.configuration.map-underscore-to-camel-case=true
|
||||||
|
|
||||||
isv.domain = https://hdstore-isv.coolcollege.cn
|
isv.domain = https://hdstore-isv.coolcollege.cn/isv
|
||||||
|
|
||||||
#rocketmq \u914D\u7F6E
|
#rocketmq \u914D\u7F6E
|
||||||
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ mybatis.mapper-locations=classpath*:mapper/**/*Mapper.xml
|
|||||||
mybatis.configuration.call-setters-on-nulls=true
|
mybatis.configuration.call-setters-on-nulls=true
|
||||||
mybatis.configuration.map-underscore-to-camel-case=true
|
mybatis.configuration.map-underscore-to-camel-case=true
|
||||||
|
|
||||||
isv.domain = https://tstore-isv.coolcollege.cn
|
isv.domain = https://tstore-isv.coolcollege.cn/isv
|
||||||
|
|
||||||
#rocketmq \u914D\u7F6E
|
#rocketmq \u914D\u7F6E
|
||||||
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public class SignValidateFilter implements Filter {
|
|||||||
"/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**",
|
"/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**",
|
||||||
"/partner/mini/program/oss/getUploadFileConfig",
|
"/partner/mini/program/oss/getUploadFileConfig",
|
||||||
"/partner/mini/program/v1/partnerManage/partner/getIdentityCardInfo",
|
"/partner/mini/program/v1/partnerManage/partner/getIdentityCardInfo",
|
||||||
"/**/swagger*/**", "/**/webjars/**");
|
"/**/swagger*/**", "/**/webjars/**","/partner/mini/program/v1/partnerManage/openArea/areaApplyQuery");
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
|
|
||||||
@Api(tags = "加盟商资格面试")
|
@Api(tags = "加盟商资格面试")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("interview")
|
@RequestMapping("/interview")
|
||||||
public class InterviewController {
|
public class InterviewController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -47,7 +47,7 @@ public class InterviewController {
|
|||||||
|
|
||||||
@PostMapping("/appointment/submit")
|
@PostMapping("/appointment/submit")
|
||||||
@ApiOperation("预约面试")
|
@ApiOperation("预约面试")
|
||||||
public ResponseResult<CreateAppointmentVO> createAppointment(@RequestBody CreateAppointmentReq request) {
|
public ResponseResult<CreateAppointmentVO> createAppointment(@RequestBody CreateAppointmentReq request) throws ApiException {
|
||||||
return ResponseResult.success(interviewBaseService.createAppointment(request));
|
return ResponseResult.success(interviewBaseService.createAppointment(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ mybatis.mapper-locations=classpath*:mapper/**/*Mapper.xml
|
|||||||
mybatis.configuration.call-setters-on-nulls=true
|
mybatis.configuration.call-setters-on-nulls=true
|
||||||
mybatis.configuration.map-underscore-to-camel-case=true
|
mybatis.configuration.map-underscore-to-camel-case=true
|
||||||
|
|
||||||
isv.domain = https://abstore-isv.coolstore.cn
|
isv.domain = https://abstore-isv.coolstore.cn/isv
|
||||||
|
|
||||||
#rocketmq \u914D\u7F6E
|
#rocketmq \u914D\u7F6E
|
||||||
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ customize_sub_table_size=10
|
|||||||
mybatis.configuration.call-setters-on-nulls=true
|
mybatis.configuration.call-setters-on-nulls=true
|
||||||
mybatis.configuration.map-underscore-to-camel-case=true
|
mybatis.configuration.map-underscore-to-camel-case=true
|
||||||
|
|
||||||
isv.domain = https://abstore-isv.coolstore.cn
|
isv.domain = https://abstore-isv.coolstore.cn/isv
|
||||||
|
|
||||||
#rocketmq \u914D\u7F6E
|
#rocketmq \u914D\u7F6E
|
||||||
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
rocketmq.accessKey=LTAI5t5ouXZuFgxJMbQea3b2
|
||||||
|
|||||||
Reference in New Issue
Block a user