招商经理

This commit is contained in:
苏竹红
2023-10-23 13:55:44 +08:00
parent d310587c0e
commit 23214127f1
12 changed files with 80 additions and 8 deletions

View File

@@ -2,6 +2,8 @@ package com.cool.store.dao;
import com.cool.store.constants.CommonConstants;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.EnterpriseUserMapper;
import com.cool.store.utils.StringUtil;
import com.google.common.collect.Lists;
@@ -48,6 +50,20 @@ public class EnterpriseUserDAO {
enterpriseUserMapper.batchInsertOrUpdate(insertOrUpdateList);
}
public void updateByPrimaryKeySelective(EnterpriseUserDO enterpriseUserDO) {
if(enterpriseUserDO == null){
return;
}
enterpriseUserMapper.updateByPrimaryKeySelective(enterpriseUserDO);
}
public void updateOnlineStatusByUserId(String userId,Integer onlineStatus) {
if (StringUtils.isEmpty(userId)||onlineStatus == null){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
enterpriseUserMapper.updateOnlineStatusByUserId(userId,onlineStatus);
}
/**
* 删除用户
* @param excludeUserIds

View File

@@ -25,6 +25,14 @@ public interface EnterpriseUserMapper {
*/
int updateByPrimaryKeySelective(EnterpriseUserDO record);
/**
* updateByUserId
* @param userId
* @param onlineStatus
* @return
*/
int updateOnlineStatusByUserId(@Param("userId") String userId, @Param("onlineStatus") Integer onlineStatus);
/**
* 获取用户信息
* @param userId

View File

@@ -226,6 +226,9 @@
<if test="userRegionIds != null">
user_region_ids = #{userRegionIds},
</if>
<if test="onlineStatus != null">
online_status = #{onlineStatus},
</if>
</set>
where id = #{id}
</update>
@@ -240,6 +243,10 @@
user_id = #{userId}
</select>
<update id="updateOnlineStatusByUserId">
update enterprise_user set online_status = #{onlineStatus} where user_id = #{userId}
</update>
<select id="getUserInfoByUserIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>,
@@ -309,7 +316,7 @@
from
enterprise_user
where
deleted = 0 and is_leader = 0 and <foreach collection="regionIds" separator="or" open="(" close=")" item="regionId"> user_region_ids like concat("%", #{regionId}, "%") </foreach>
deleted = 0 and online_status = 1 and is_leader = 0 and <foreach collection="regionIds" separator="or" open="(" close=")" item="regionId"> user_region_ids like concat("%", #{regionId}, "%") </foreach>
ORDER BY
CASE WHEN jobnumber='' OR jobnumber IS NULL THEN 1 ELSE 0 END,
SUBSTR(jobnumber,1,1),

View File

@@ -55,4 +55,7 @@ public class PartnerUserInfoRequest {
@ApiModelProperty("推荐加盟商手机号")
private String recommendPartnerMobile;
@ApiModelProperty("招商经理ID")
private String investmentManager;
}

View File

@@ -0,0 +1,13 @@
package com.cool.store.request;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2023/10/20 10:59
* @Version 1.0
*/
@Data
public class UserOnlineStatusRequest {
private Integer onlineStatus;
}

View File

@@ -159,7 +159,7 @@ public interface HyPartnerLineInfoService {
* @param acceptAdjustType
* @return
*/
HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType,Boolean assignFlag);
HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType,Boolean assignFlag,String investmentManagerId);
Long checkGenerateNewLineId(Long lineId);

View File

@@ -6,4 +6,6 @@ public interface LoginService {
Object feiShuLogin(String userId, Boolean needRefreshToken, String avatar);
Boolean saveUserOnlineStatus(String userId,Integer onlineStatus);
}

View File

@@ -839,13 +839,20 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
return null;
}
@Override
public HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType,Boolean assignFlag) {
public HyPartnerLineInfoDO generateDefaultLineInfo(String partnerId, String wantShopArea, Integer acceptAdjustType,Boolean assignFlag,String investmentManagerId) {
// 生成一条线索
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(partnerId);
Boolean flag = this.assignFollowUser(partnerId, wantShopArea, acceptAdjustType,assignFlag);
//短信拼接了招商经理 直接使用 不需要走自动分配的逻辑 其他方式 走自动分配
String investmentManager = null;
if (flag){
investmentManager = getAssignFollowUser(partnerId, "intent");
Boolean flag = Boolean.FALSE;
if (StringUtils.isNotEmpty(investmentManagerId)){
investmentManager = investmentManagerId;
flag = Boolean.TRUE;
}else {
flag = this.assignFollowUser(partnerId, wantShopArea, acceptAdjustType,assignFlag);
if (flag){
investmentManager = getAssignFollowUser(partnerId, "intent");
}
}
if(hyPartnerLineInfoDO == null){
hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
@@ -883,7 +890,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDAO.batchDeleted(Collections.singletonList(hyPartnerLineInfoDO.getId()));
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
// 生成一条新线索 生成新线索的时候不需要公海到私海
HyPartnerLineInfoDO newLineInfoDO = this.generateDefaultLineInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType(),Boolean.FALSE);
HyPartnerLineInfoDO newLineInfoDO = this.generateDefaultLineInfo(hyPartnerLineInfoDO.getPartnerId(), hyPartnerUserInfoDO.getWantShopArea(), hyPartnerUserInfoDO.getAcceptAdjustType(),Boolean.FALSE,null);
// 生成一条意向基本信息
HyPartnerBaseInfoDO oldBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(hyPartnerUserInfoDO.getPartnerId(), lineId);
hyPartnerBaseInfoService.generateBaseInfo(hyPartnerUserInfoDO, newLineInfoDO.getId(), oldBaseInfoDO.getUserPortrait());

View File

@@ -81,4 +81,10 @@ public class LoginServiceImpl implements LoginService {
return currentUser;
}
@Override
public Boolean saveUserOnlineStatus(String userId, Integer onlineStatus) {
enterpriseUserDAO.updateOnlineStatusByUserId(userId, onlineStatus);
return Boolean.TRUE;
}
}

View File

@@ -115,7 +115,7 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
fillUserInfoDOByRequest(hyPartnerUserInfoDO, partnerUserInfoRequest);
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
// 生成一条线索
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoService.generateDefaultLineInfo(hyPartnerUserInfoDO.getPartnerId(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType(),Boolean.TRUE);
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoService.generateDefaultLineInfo(hyPartnerUserInfoDO.getPartnerId(), partnerUserInfoRequest.getWantShopArea(), partnerUserInfoRequest.getAcceptAdjustType(),Boolean.TRUE,partnerUserInfoRequest.getInvestmentManager());
// 生成一条意向基本信息
hyPartnerBaseInfoService.generateBaseInfo(hyPartnerUserInfoDO, hyPartnerLineInfoDO.getId(), null);
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerUserInfoRequest.getWantShopArea()));

View File

@@ -163,6 +163,10 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
return userInfoVO;
}
public static void main(String[] args) {
}
@Override
public String getUserPhoneNumber(String mobileCode) {
// 获取小程序token

View File

@@ -7,6 +7,7 @@ import com.cool.store.dto.login.UserIdInfoDTO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.request.UserOnlineStatusRequest;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.LoginService;
import lombok.extern.slf4j.Slf4j;
@@ -61,4 +62,9 @@ public class LoginController {
return ResponseResult.success(CurrentUserHolder.getUser());
}
@PostMapping("/saveUserOnlineStatus")
public ResponseResult saveUserOnlineStatus(@RequestBody UserOnlineStatusRequest param){
return ResponseResult.success(loginService.saveUserOnlineStatus(CurrentUserHolder.getUser().getUserId(), param.getOnlineStatus()));
}
}