Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -243,4 +243,9 @@ public class RedisConstant {
|
||||
*/
|
||||
public static final String MDM_AREA_OTHERS = "mdm:area:others:{0}";
|
||||
|
||||
|
||||
/**
|
||||
* 动态标题
|
||||
*/
|
||||
public static final String CONTENT_TITLES = "content:titles";
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ public enum ErrorCodeEnum {
|
||||
INTERVIEW_INTERVIEW_TIME_IS_UNUSABLE(1021114, "当前预约时间不可用,请和线索用户协商其他时间后确定预约时间\n面试人:{0} 手机号:{1}", null),
|
||||
INTERVIEW_PARTNER_NOT_EXIST(1021115, "线索下的加盟商不存在!", null),
|
||||
ROOM_STATUS_ERROR(10211156, "当前面试房间状态不允许进行该操作!", null),
|
||||
CONTENT_DUPLICATED(10211200, "动态标题重复!", null),
|
||||
SIGN_FAIL(600000, "验签失败", null),
|
||||
GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null),
|
||||
NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null),
|
||||
|
||||
@@ -39,9 +39,24 @@ public interface HyContentInfoMapper {
|
||||
*/
|
||||
List<HyContentInfoVO> queryContentList(ContentQueryListDto dto);
|
||||
|
||||
|
||||
/**
|
||||
* B 端使用的动态查询
|
||||
*/
|
||||
List<HyContentInfoVO> queryContentListForB(ContentQueryListDto dto);
|
||||
|
||||
/**
|
||||
* 根据contentId查询动态详情
|
||||
*/
|
||||
HyContentInfoDO queryContentInfo(@Param("contentId") String contentId);
|
||||
|
||||
/**
|
||||
* 标题是否重复
|
||||
*/
|
||||
Boolean whetherTitleDuplicated(@Param("contentTitle") String contentTitle);
|
||||
|
||||
/**
|
||||
* 查询动态标题
|
||||
*/
|
||||
List<String> queryTitles();
|
||||
}
|
||||
@@ -179,6 +179,29 @@
|
||||
and user_id = #{updateUserId}
|
||||
</select>
|
||||
|
||||
<!-- B 端使用的动态查询 -->
|
||||
<select id="queryContentListForB" resultType="com.cool.store.vo.HyContentInfoVO">
|
||||
select <include refid="Base_Column_List"></include>
|
||||
from hy_content_info
|
||||
where deleted = 0
|
||||
and status = 1
|
||||
<if test="contentTitle != null and contentTitle != ''">
|
||||
and content_title like concat('%', #{contentTitle}, '%')
|
||||
</if>
|
||||
<if test="subject != null">
|
||||
and subject = #{subject}
|
||||
</if>
|
||||
<if test="contentType != null">
|
||||
and content_type = #{contentType}
|
||||
</if>
|
||||
<if test="startTime != null and startTime != ''">
|
||||
and update_time >= #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
and update_time <= #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 查询动态详情 -->
|
||||
<select id="queryContentInfo" resultType="com.cool.store.entity.HyContentInfoDO">
|
||||
select <include refid="Base_Column_List"></include>
|
||||
@@ -186,4 +209,19 @@
|
||||
where deleted = 0
|
||||
and id = #{contentId}
|
||||
</select>
|
||||
|
||||
<!-- 标题是否重复 -->
|
||||
<select id="whetherTitleDuplicated" resultType="java.lang.Boolean">
|
||||
SELECT COUNT(*)
|
||||
FROM hy_content_info
|
||||
WHERE deleted = 0
|
||||
AND content_title = #{contentTitle}
|
||||
</select>
|
||||
|
||||
<!-- 获取所有标题 -->
|
||||
<select id="queryTitles" resultType="java.lang.String">
|
||||
SELECT content_title
|
||||
FROM hy_content_info
|
||||
WHERE deleted = 0
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -387,6 +387,7 @@
|
||||
hpci.qualify_verify_id as qualifyVerifyId,
|
||||
hpci.intention_contract_no as intentionContractNo,
|
||||
hpll.workflow_stage as workflowStage,
|
||||
hpll.line_status as lineStatus,
|
||||
hpi.pass_time as passTime,
|
||||
hpi.pass_reason as passReason,
|
||||
hpi.recorder as recorderId,
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
</where>
|
||||
</select>
|
||||
<select id="selectByHourDate" resultType="com.cool.store.entity.SyncEcCustomerDO" >
|
||||
SELECT a.id as id, a.username as customername,a.mobile as customermobile,c.`name` as followname,c.mobile as followmobile FROM hy_partner_user_info a LEFT join hy_partner_line_info b on
|
||||
a.partner_id=b.partner_id left join enterprise_user c on b.investment_manager=c.user_id
|
||||
SELECT a.id as id, a.username as customername,a.mobile as customermobile,c.`name` as followname,c.mobile as followmobile ,d.channel_id as channelId FROM hy_partner_user_info a LEFT join hy_partner_line_info b on
|
||||
a.partner_id=b.partner_id left join enterprise_user c on b.investment_manager=c.user_id LEFT join hy_partner_user_channel d on b.user_channel_id=d.id
|
||||
WHERE a.create_time BETWEEN #{selectTime} and #{now} or
|
||||
a.update_time BETWEEN #{selectTime} and #{now} order by a.id Limit #{limit1},#{limit2}
|
||||
</select>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.cool.store.dto.content;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ContentQueryTitlesDto {
|
||||
|
||||
@ApiModelProperty("用户输入标题")
|
||||
private String tittle;
|
||||
|
||||
}
|
||||
@@ -16,4 +16,6 @@ public class SyncEcCustomerDO {
|
||||
private String followname;
|
||||
|
||||
private String followmobile;
|
||||
|
||||
private Integer channelId;
|
||||
}
|
||||
|
||||
@@ -25,9 +25,12 @@ public class InterviewVO {
|
||||
@ApiModelProperty(value = "线索id", required = true)
|
||||
private Long partnerLineId;
|
||||
|
||||
@ApiModelProperty(value = "线索状态")
|
||||
@ApiModelProperty(value = "流程阶段")
|
||||
private Long workflowStage;
|
||||
|
||||
@ApiModelProperty(value = "线索状态")
|
||||
private Long lineStatus;
|
||||
|
||||
@ApiModelProperty("资质审核流程id")
|
||||
private String qualifyVerifyId;
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.cool.store.dto.content.ContentAddDto;
|
||||
import com.cool.store.dto.content.ContentQueryListDto;
|
||||
import com.cool.store.dto.content.ContentUpdateDto;
|
||||
import com.cool.store.entity.HyContentInfoDO;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.vo.HyContentInfoVO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -15,7 +16,7 @@ public interface ContentService {
|
||||
* @param dto
|
||||
* @return contentId 新增动态id
|
||||
*/
|
||||
String addNews(ContentAddDto dto);
|
||||
String addNews(ContentAddDto dto) throws ApiException;
|
||||
|
||||
/**
|
||||
* 删除动态
|
||||
@@ -41,4 +42,9 @@ public interface ContentService {
|
||||
*/
|
||||
HyContentInfoDO queryContentInfo(String contentId);
|
||||
|
||||
/**
|
||||
* 标题是否重复
|
||||
*/
|
||||
Boolean queryTitles(String title);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.RedisConstant;
|
||||
import com.cool.store.dao.ContentDAO;
|
||||
import com.cool.store.dto.content.ContentAddDto;
|
||||
import com.cool.store.dto.content.ContentQueryListDto;
|
||||
import com.cool.store.dto.content.ContentUpdateDto;
|
||||
import com.cool.store.entity.HyContentInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.mapper.HyContentInfoMapper;
|
||||
import com.cool.store.service.ContentService;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
import com.cool.store.vo.HyContentInfoVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -23,13 +28,21 @@ public class ContentServiceImpl implements ContentService {
|
||||
@Autowired
|
||||
private HyContentInfoMapper contentInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private RedisUtilPool redisUtilPool;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param dto
|
||||
* @return contentId 新增动态id
|
||||
*/
|
||||
@Override
|
||||
public String addNews(ContentAddDto dto) {
|
||||
public String addNews(ContentAddDto dto) throws ApiException {
|
||||
//增加不允许重复标题的逻辑
|
||||
Boolean isDuplicated = contentInfoMapper.whetherTitleDuplicated(dto.getContentTitle());
|
||||
if (isDuplicated) {
|
||||
throw new ApiException(ErrorCodeEnum.DATA_CONVERT_ERROR);
|
||||
}
|
||||
HyContentInfoDO hyContentInfoDO = new HyContentInfoDO();
|
||||
BeanUtil.copyProperties(dto, hyContentInfoDO);
|
||||
hyContentInfoDO.setUpdateUserId(dto.getCreateUserId());
|
||||
@@ -62,7 +75,7 @@ public class ContentServiceImpl implements ContentService {
|
||||
*/
|
||||
@Override
|
||||
public List<HyContentInfoVO> queryContentList(ContentQueryListDto dto) {
|
||||
return contentInfoMapper.queryContentList(dto);
|
||||
return contentInfoMapper.queryContentListForB(dto);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,4 +88,18 @@ public class ContentServiceImpl implements ContentService {
|
||||
return contentInfoMapper.queryContentInfo(contentId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 标题是否重复
|
||||
*/
|
||||
@Override
|
||||
public Boolean queryTitles(String title) {
|
||||
List<String> titles = (List<String>) JSONObject.parseObject(redisUtilPool.getString(RedisConstant.CONTENT_TITLES), List.class);
|
||||
if (titles != null && titles.size() != 0) {
|
||||
return titles.contains(title);
|
||||
}
|
||||
titles = contentInfoMapper.queryTitles();
|
||||
redisUtilPool.setString(RedisConstant.CONTENT_TITLES, JSONObject.toJSONString(titles), 60);
|
||||
return titles.contains(title);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -167,6 +167,9 @@ public class EcSyncServiceImpl implements EcSyncService {
|
||||
if (StringUtil.isEmpty(partnerLine.getInvestmentManager())) {
|
||||
if (StringUtil.isNotEmpty(resultLine.getInvestmentManager())) {
|
||||
resultLine.setId(partnerLine.getId()).setUpdateTime(new Date());
|
||||
//沪姨合伙人线索存在黑名单,EC该线索分配跟进人同步到沪姨合伙人但线索状态不变,还存在黑名单中
|
||||
resultLine.setLineStatus(partnerLine.getLineStatus().intValue()==LineStatusEnum.BLACKLIST.getCode().intValue()
|
||||
?LineStatusEnum.BLACKLIST.getCode():resultLine.getLineStatus());
|
||||
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(resultLine);
|
||||
}
|
||||
}else {
|
||||
|
||||
@@ -194,8 +194,9 @@ public class FlowServiceImpl implements FlowService {
|
||||
//更新面试状态
|
||||
interviewDAO.updateInterviewWorkflowStatus(request.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_5);
|
||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||
//获取当前操作人
|
||||
//注意将 hyPartnerInterviewDO 的 status 设置为 null,否则又会修改回 4
|
||||
hyPartnerInterviewDO.setStatus(null);
|
||||
//获取当前操作人并添加面试总结/记录信息
|
||||
LoginUserInfo operator = CurrentUserHolder.getUser();
|
||||
hyPartnerInterviewDO.setRecorder(operator.getUserId());
|
||||
hyPartnerInterviewDO.setRecordTime(new Date());
|
||||
|
||||
@@ -655,9 +655,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
hyPartnerLineInfoDO.setInvestmentManager(investmentManager);
|
||||
hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO);
|
||||
}else {
|
||||
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||
hyPartnerLineInfoDO.setInvestmentManager(investmentManager);
|
||||
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||
if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){
|
||||
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||
hyPartnerLineInfoDO.setInvestmentManager(investmentManager);
|
||||
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||
}
|
||||
}
|
||||
return hyPartnerLineInfoDO;
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
||||
}
|
||||
Integer status = interviewInfo.getStatus();
|
||||
Date now = new Date();
|
||||
if (status == Integer.parseInt(WorkflowStatusEnum.INTERVIEW_2.getCode()) ||
|
||||
if (status == Integer.parseInt(WorkflowStatusEnum.INTERVIEW_3.getCode()) ||
|
||||
(interviewInfo.getRoomStatus()!=null && String.valueOf(RoomStatus.OPEN.getCode()).equals(interviewInfo.getRoomStatus())) ||
|
||||
(DateUtil.compare(DateUtil.parse(interviewInfo.getStartTime()), now) <= 0
|
||||
&& DateUtil.compare(DateUtil.parse(interviewInfo.getEndTime()), now) >= 0)) {
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
package com.cool.store.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dto.content.*;
|
||||
import com.cool.store.entity.HyContentInfoDO;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.ContentService;
|
||||
import com.cool.store.vo.HyContentInfoVO;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -24,9 +27,15 @@ public class ContentController {
|
||||
@Autowired
|
||||
private ContentService contentService;
|
||||
|
||||
@PostMapping("/queryTitles")
|
||||
@ApiOperation("搜索标题是否重复")
|
||||
public ResponseResult<Boolean> queryTitles(@RequestBody ContentQueryTitlesDto title) {
|
||||
return ResponseResult.success(contentService.queryTitles(title.getTittle()));
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增动态")
|
||||
public ResponseResult<String> addContent(@RequestBody ContentAddDto dto) {
|
||||
public ResponseResult<String> addContent(@RequestBody ContentAddDto dto) throws ApiException {
|
||||
return ResponseResult.success(contentService.addNews(dto));
|
||||
}
|
||||
|
||||
|
||||
@@ -81,4 +81,4 @@ hs.sms.accessKeySecret = iVOiK74k7C1wVbuUbipgJbfpAh1Zdb
|
||||
hs.sms.templateCode = SMS_461530041
|
||||
|
||||
|
||||
ec.baseUrl=http://58.33.58.162:10019
|
||||
ec.baseUrl=https://oapi-gateway.shpr.top/basic
|
||||
@@ -74,4 +74,4 @@ xxl.job.executor.logretentiondays = 3
|
||||
xxl.job.accessToken =
|
||||
|
||||
|
||||
ec.baseUrl=http://58.33.58.162:10019
|
||||
ec.baseUrl=https://oapi-gateway.shpr.top/basic
|
||||
@@ -83,4 +83,4 @@ xxl.job.executor.logpath = logs/xxl-job/jobhandler
|
||||
xxl.job.executor.logretentiondays = 30
|
||||
xxl.job.accessToken =
|
||||
|
||||
ec.baseUrl=http://58.33.58.162:10019
|
||||
ec.baseUrl=http://127.0.0.1:8017
|
||||
Reference in New Issue
Block a user