增加话单逻辑

master
bynt 9 months ago
parent 05e4bde01f
commit d4e93cc8f3

@ -19,6 +19,11 @@ public class PushClueDTO {
*/
private String called;
/**
* id
*/
private String recId;
/**
* 线ID
*/

@ -1,5 +1,6 @@
package com.baiye.modules.distribute.mapper;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult;
import com.baiye.extend.mybatis.plus.conditions.query.LambdaAliasQueryWrapperX;
@ -11,14 +12,14 @@ import com.baiye.modules.distribute.qo.CustomQo;
import com.baiye.modules.distribute.qo.HomePageQo;
import com.baiye.modules.distribute.vo.CustomVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import org.apache.ibatis.annotations.MapKey;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface CustomMapper extends ExtendMapper<CustomEntity> {
default PageResult<CustomVO> queryPage(PageParam pageParam, CustomQo qo) {
@ -76,4 +77,21 @@ public interface CustomMapper extends ExtendMapper<CustomEntity> {
List<Integer> addCount(@Param("date") String date, @Param("companyId") Long companyId);
List<HomePageDTO> distributorsEnterClueByTime(@Param("qo") HomePageQo homePageQo);
/**
*
*
* @param phone
* @param remark
* @return
*/
default int updateNidAndRemark(String phone, String remark) {
LambdaUpdateWrapper<CustomEntity> wrapper = Wrappers.<CustomEntity>lambdaUpdate()
.set(CustomEntity::getCustomNid, phone)
.set(CustomEntity::getRemark, remark)
.eq(CustomEntity::getEnrollStatus, DefaultNumberConstants.ONE_NUMBER)
.eq(CustomEntity::getCustomNid, phone);
return this.update(null, wrapper);
}
}

@ -72,4 +72,12 @@ public interface CustomService extends ExtendService<CustomEntity> {
* @return
*/
Boolean createByCallBack(List <CallbackCustomDTO> dtoList);
/**
*
* @param phone
* @param remark
* @return
*/
Boolean updateByNid(String phone, String remark);
}

@ -271,6 +271,11 @@ public class CustomServiceImpl extends ExtendServiceImpl<CustomMapper, CustomEnt
return SqlHelper.retBool(this.baseMapper.insertBatchSomeColumn(customEntities));
}
@Override
public Boolean updateByNid(String phone, String remark) {
return SqlHelper.retBool(baseMapper.updateNidAndRemark(phone, remark));
}
private CustomEntity getCustomEntity(CustomEntity entity,Long companyId,String username) {
String code = LetterConst.D.concat(StrPool.DASHED.concat(DateUtil.format(DateUtil.date(), DateConst.YYYY_MM_DD)));

@ -1,5 +1,6 @@
package com.baiye.modules.distribute.service.impl;
import cn.hutool.cache.CacheUtil;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.IdUtil;
@ -24,6 +25,7 @@ import com.baiye.system.service.SysUserRoleService;
import com.baiye.system.service.SysUserService;
import com.baiye.util.AESUtils;
import com.baiye.util.DecryptPnoUtil;
import com.baiye.util.RedisUtils;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -35,6 +37,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
* @author Enzo
@ -52,6 +55,8 @@ public class TripartiteServiceImpl implements TripartiteService {
@Value("${snowflake.datacenterId}")
private int datacenterId;
private final RedisUtils redisUtils;
private final ClueService clueService;
private final CustomService customService;
@ -70,9 +75,11 @@ public class TripartiteServiceImpl implements TripartiteService {
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean callbackByAppKeyAndNid(String appKey, PushClueDTO dto) {
String recId = dto.getRecId();
String called = dto.getCalled();
String remark = dto.getRemark();
String phone = CharSequenceUtil.EMPTY;
String typeName = dto.getEmpClientTypeName();
if (StringUtils.isNotBlank(dto.getMobile())) {
phone = Base64.decodeStr(dto.getMobile());
@ -90,6 +97,10 @@ public class TripartiteServiceImpl implements TripartiteService {
Long baseUserId = byAppKey.getCompanyId();
// 录入员id
Long reportUserId = byAppKey.getCreateBy();
// 已经存在的进行修改
if (StringUtils.isNotBlank(recId) && ObjectUtil.isNotNull(redisUtils.get(recId))) {
return customService.updateByNid(phone, remark);
}
List<String> channelIdentifying = byAppKey.getChannelIdentifying();
// 查询所有分发员
List<Long> userList = sysUserRoleService.selectUserIdByRoleCode
@ -106,7 +117,7 @@ public class TripartiteServiceImpl implements TripartiteService {
Long clueId = IdUtil.getSnowflake(workerId, datacenterId).nextId();
ClueDTO clueDTO = ClueDTO.builder().originName(ClueSourceEnum.STORE_DISTRIBUTION.getDescription()).clueId(clueId).remark
(remark).nid(AESUtils.encrypt(phone, securityProperties.getPasswordSecretKey())).assignedBy
(reportUserId).createBy(distributeId).isNewClue(Boolean.TRUE).build();
(reportUserId).createBy(distributeId).isNewClue(Boolean.TRUE).build();
list.add(clueDTO);
clueService.saveClueListByStoreInfo(list);
}
@ -114,7 +125,10 @@ public class TripartiteServiceImpl implements TripartiteService {
CallbackCustomDTO customDTO = CallbackCustomDTO.builder().channelType(DefaultNumberConstants.FOUR_NUMBER).customNid(phone).channelName(byAppKey.getName()).
distributeId(distributeId).sex(DefaultNumberConstants.MINUS_ONE_NUMBER).identifying(channelIdentifying).reportUserId(reportUserId).remark(remark).companyId
(byId.getWhichUserId()).enterName(byId.getUsername()).build();
if (StringUtils.isNotBlank(recId)) {
// 缓存三天
redisUtils.set(recId, phone, DefaultNumberConstants.THREE_NUMBER, TimeUnit.DAYS);
}
// 插入资源表
return customService.createByCallBack(Collections.singletonList(customDTO));
}

Loading…
Cancel
Save