|
|
|
@ -30,9 +30,17 @@ import com.logpm.basicdata.service.*;
|
|
|
|
|
import com.logpm.basicdata.vo.BasicdataClientVO; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.common.constant.DictBizConstant; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springblade.core.tool.utils.DigestUtil; |
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
import org.springblade.system.cache.DictBizCache; |
|
|
|
|
import org.springblade.system.entity.User; |
|
|
|
|
import org.springblade.system.feign.IUserClient; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
@ -57,6 +65,10 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
|
|
|
|
|
private final IBasicdataStoreContactService basicdataStoreContactService; |
|
|
|
|
private final IBasicdataStoreBusinessService basicdataStoreBusinessService; |
|
|
|
|
private final IBasicdataTripartiteMallService basicdataTripartiteMallService; |
|
|
|
|
private final IBasicdataClientUserService basicdataClientUserService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final IUserClient userClient; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<BasicdataClientVO> selectBasicdataClientPage(IPage<BasicdataClientVO> page, BasicdataClientVO basicdataClient) { |
|
|
|
@ -77,39 +89,39 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public boolean ownSaveOrUpdate(BasicdataClientEntity basicdataClient) { |
|
|
|
|
//添加客户端的历史合同的数据
|
|
|
|
|
if(ObjectUtils.isNotNull(basicdataClient.getId())){ |
|
|
|
|
if (ObjectUtils.isNotNull(basicdataClient.getId())) { |
|
|
|
|
//修改
|
|
|
|
|
this.updateById(basicdataClient); |
|
|
|
|
// List<BasicdataStoreBusinessEntity> typeServiceBusiness = basicdataClient.getTypeServiceBusiness();
|
|
|
|
|
List<BasicdataStoreBusinessEntity> list = basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda() |
|
|
|
|
.eq(BasicdataStoreBusinessEntity::getClientId, basicdataClient.getId()) |
|
|
|
|
); |
|
|
|
|
if(list.size() > 0){ |
|
|
|
|
if (list.size() > 0) { |
|
|
|
|
//有数据
|
|
|
|
|
List<Long> stringList = new ArrayList<>(); |
|
|
|
|
list.forEach ( i -> { |
|
|
|
|
list.forEach(i -> { |
|
|
|
|
boolean b1 = basicdataClient.getTypeServiceList().stream().anyMatch(b -> b.equals(i.getTypeService())); |
|
|
|
|
if(b1){ |
|
|
|
|
if (b1) { |
|
|
|
|
//有
|
|
|
|
|
Iterator<String> iterator1 = basicdataClient.getTypeServiceList().iterator(); |
|
|
|
|
while (iterator1.hasNext()){ |
|
|
|
|
while (iterator1.hasNext()) { |
|
|
|
|
String next = iterator1.next(); |
|
|
|
|
if(next.equals(i.getTypeService())){ |
|
|
|
|
if(next.equals("3")){ |
|
|
|
|
if (next.equals(i.getTypeService())) { |
|
|
|
|
if (next.equals("3")) { |
|
|
|
|
BasicdataStoreBusinessEntity businessEntity = new BasicdataStoreBusinessEntity(); |
|
|
|
|
BeanUtil.copyProperties(i,businessEntity); |
|
|
|
|
BeanUtil.copyProperties(i, businessEntity); |
|
|
|
|
businessEntity.setMold(basicdataClient.getBusinessType()); |
|
|
|
|
basicdataStoreBusinessService.updateById(businessEntity); |
|
|
|
|
} |
|
|
|
|
iterator1.remove(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//没有
|
|
|
|
|
stringList.add(i.getId()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if(stringList.size() > 0){ |
|
|
|
|
if (stringList.size() > 0) { |
|
|
|
|
basicdataStoreBusinessService.deleteLogic(stringList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -119,19 +131,19 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
|
|
|
|
|
BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = new BasicdataStoreBusinessEntity(); |
|
|
|
|
basicdataStoreBusinessEntity.setTypeService(s); |
|
|
|
|
basicdataStoreBusinessEntity.setClientId(basicdataClient.getId().toString()); |
|
|
|
|
if(s.equals("3")){ |
|
|
|
|
if (s.equals("3")) { |
|
|
|
|
basicdataStoreBusinessEntity.setMold(basicdataClient.getBusinessType()); |
|
|
|
|
} |
|
|
|
|
basicdataStoreBusinessService.save(basicdataStoreBusinessEntity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
String linkman = basicdataClient.getLinkman(); |
|
|
|
|
String phone = basicdataClient.getPhone(); |
|
|
|
|
basicdataClient.setLinkman(null); |
|
|
|
|
basicdataClient.setPhone(null); |
|
|
|
|
basicdataClient.setCargoControl(false); |
|
|
|
|
if(StringUtils.isBlank(basicdataClient.getPid())){ |
|
|
|
|
if (StringUtils.isBlank(basicdataClient.getPid())) { |
|
|
|
|
basicdataClient.setPid("0"); |
|
|
|
|
} |
|
|
|
|
//添加
|
|
|
|
@ -145,30 +157,30 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
|
|
|
|
|
basicdataStoreContactEntity.setDefaultType(true); |
|
|
|
|
basicdataStoreContactService.save(basicdataStoreContactEntity); |
|
|
|
|
//添加客户类型
|
|
|
|
|
if(basicdataClient.getTypeServiceList().size() > 0){ |
|
|
|
|
if (basicdataClient.getTypeServiceList().size() > 0) { |
|
|
|
|
for (String s : basicdataClient.getTypeServiceList()) { |
|
|
|
|
//添加服务类型
|
|
|
|
|
BasicdataStoreBusinessEntity basicdataStoreBusinessEntity = new BasicdataStoreBusinessEntity(); |
|
|
|
|
basicdataStoreBusinessEntity.setTypeService(s); |
|
|
|
|
basicdataStoreBusinessEntity.setClientId(basicdataClient.getId().toString()); |
|
|
|
|
if(s.equals("3")){ |
|
|
|
|
if (s.equals("3")) { |
|
|
|
|
basicdataStoreBusinessEntity.setMold(basicdataClient.getBusinessType()); |
|
|
|
|
} |
|
|
|
|
basicdataStoreBusinessService.save(basicdataStoreBusinessEntity); |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
log.info("服务类型没有!!!"); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
//添加三方商城
|
|
|
|
|
if(StringUtils.isNotBlank(basicdataClient.getTripartiteMall())){ |
|
|
|
|
if (StringUtils.isNotBlank(basicdataClient.getTripartiteMall())) { |
|
|
|
|
BasicdataTripartiteMallEntity basicdataTripartiteMall = new BasicdataTripartiteMallEntity(); |
|
|
|
|
basicdataTripartiteMall.setTripartiteMall(basicdataClient.getTripartiteMall()); |
|
|
|
|
basicdataTripartiteMall.setClient(basicdataClient.getId().toString()); |
|
|
|
|
basicdataTripartiteMallService.save(basicdataTripartiteMall); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(ObjectUtils.isNull(basicdataClient.getId())){ |
|
|
|
|
if (ObjectUtils.isNull(basicdataClient.getId())) { |
|
|
|
|
log.info("没有必要的ID了!!!"); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
@ -188,18 +200,18 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
|
|
|
|
|
@Override |
|
|
|
|
public List<BasicdataClientEntity> listName(String name) { |
|
|
|
|
return baseMapper.selectList(Wrappers.<BasicdataClientEntity>query().lambda() |
|
|
|
|
.like(StringUtils.isNotBlank(name),BasicdataClientEntity::getClientName,name) |
|
|
|
|
.like(StringUtils.isNotBlank(name), BasicdataClientEntity::getClientName, name) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
public Boolean ownDeleteLogic(List<Long> toLongList) { |
|
|
|
|
toLongList.forEach( i ->{ |
|
|
|
|
toLongList.forEach(i -> { |
|
|
|
|
List<BasicdataClientEntity> basicdataClientEntities = baseMapper.selectList(Wrappers.<BasicdataClientEntity>query().lambda() |
|
|
|
|
.eq(BasicdataClientEntity::getPid, i) |
|
|
|
|
); |
|
|
|
|
if(basicdataClientEntities.size() > 0){ |
|
|
|
|
if (basicdataClientEntities.size() > 0) { |
|
|
|
|
baseMapper.deleteBatchIds(basicdataClientEntities); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -210,8 +222,56 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
|
|
|
|
|
@Override |
|
|
|
|
public BasicdataClientEntity getOneOwn(QueryWrapper<BasicdataClientEntity> queryWrapper) { |
|
|
|
|
BasicdataClientEntity one = this.getOne(queryWrapper); |
|
|
|
|
one.setTypeServiceBusiness(basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda().eq(BasicdataStoreBusinessEntity::getClientId,one.getId()))); |
|
|
|
|
one.setTypeServiceBusiness(basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda().eq(BasicdataStoreBusinessEntity::getClientId, one.getId()))); |
|
|
|
|
return one; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean saveCustomerAndAddAcount(BasicdataClientEntity basicdataClient) { |
|
|
|
|
|
|
|
|
|
//保存客户信息
|
|
|
|
|
boolean bls = this.save(basicdataClient); |
|
|
|
|
|
|
|
|
|
// 新增客户账号
|
|
|
|
|
if (bls) { |
|
|
|
|
// 客户电话作为客户的账号登录
|
|
|
|
|
R<User> r = userClient.userByAccount(AuthUtil.getTenantId(), basicdataClient.getPhone()); |
|
|
|
|
// 标识这个账户不存在 需要新建
|
|
|
|
|
User u = r.getData(); |
|
|
|
|
if (!ObjectUtils.isEmpty(u)) { |
|
|
|
|
// 标识这个账户不存在 需要新建
|
|
|
|
|
u = new User(); |
|
|
|
|
u.setAccount(basicdataClient.getPhone()); |
|
|
|
|
u.setTenantId(AuthUtil.getTenantId()); |
|
|
|
|
u.setUserType(1);// Web
|
|
|
|
|
String defaultPassword = DictBizCache.getValue(DictBizConstant.DEFAULT_PASSWORD, DictBizConstant.DEFAULT_PASSWORD); |
|
|
|
|
// 加密
|
|
|
|
|
u.setPassword(DigestUtil.md5Hex(defaultPassword)); |
|
|
|
|
u.setName(basicdataClient.getLinkman()); |
|
|
|
|
u.setRealName(basicdataClient.getLinkman()); |
|
|
|
|
u.setPhone(basicdataClient.getPhone()); |
|
|
|
|
String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID); |
|
|
|
|
u.setRoleId(defaultRoleId); |
|
|
|
|
|
|
|
|
|
String defaultDeptId = DictBizCache.getValue(DictBizConstant.DEFAULT_DEPT_ID, DictBizConstant.DEFAULT_DEPT_ID); |
|
|
|
|
u.setDeptId(defaultDeptId); |
|
|
|
|
userClient.saveUser(u); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// 建立客户和用户的绑定关系
|
|
|
|
|
BasicdataClientUserEntity basicdataClientUserEntity = new BasicdataClientUserEntity(); |
|
|
|
|
basicdataClientUserEntity.setClientId(basicdataClient.getId()); |
|
|
|
|
basicdataClientUserEntity.setUserId(u.getId()); |
|
|
|
|
|
|
|
|
|
// 保存
|
|
|
|
|
bls = basicdataClientUserService.save(basicdataClientUserEntity); |
|
|
|
|
|
|
|
|
|
// todo 这里在修改客户的默认联系的人时候需要去更新这个账号的登录账号 目前优先流程
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return bls; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|