Browse Source

客户调整

master
汤建军 9 months ago
parent
commit
d72b9d6877
  1. 5
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java
  2. 24
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java
  3. 10
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java
  4. 74
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml
  5. 11
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java
  6. 27
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java
  7. 23
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataStoreContactServiceImpl.java

5
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java

@ -138,7 +138,6 @@ public class BasicdataClientEntity extends TenantEntity {
* 客户类型;1 C端 2 B端
*/
@ApiModelProperty(value = "客户类型;1 C端 2 B端")
@TableField(exist = false)
private Integer typeService;
/**
@ -206,13 +205,13 @@ public class BasicdataClientEntity extends TenantEntity {
* 合同开始时间
*/
@ApiModelProperty(value = "合同开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8")
private Date contractStartTime;
/**
* 合同结束时间
*/
@ApiModelProperty(value = "合同结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8")
private Date contractEntTime;
@ApiModelProperty(value = "默认付款方式 1现付 2到付 3月结 4回付 5内部结算 ")

24
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java

@ -16,6 +16,7 @@
*/
package com.logpm.basicdata.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@ -106,7 +107,8 @@ public class BasicdataClientController extends BladeController {
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入basicdataClient")
public R<IPage<BasicdataClientEntity>> list(@ApiIgnore @RequestParam Map<String, Object> basicdataClient, Query query) {
public R<IPage<BasicdataClientVO>> list(@ApiIgnore @RequestParam Map<String, Object> basicdataClient, Query query) {
Object o = basicdataClient.get("contractStartTime");
Object o1 = basicdataClient.get("contractEntTime");
Object o2 = basicdataClient.get("pid");
@ -134,7 +136,8 @@ public class BasicdataClientController extends BladeController {
i.setTypeServiceBusiness(list);
//查询客户绑定第一位联系人
List<BasicdataStoreContactEntity> listed = basicdataStoreContactService.list(Wrappers.<BasicdataStoreContactEntity>query().lambda()
.eq(BasicdataStoreContactEntity::getShopId, i.getId()));
.eq(BasicdataStoreContactEntity::getShopId, i.getId())
.eq(BasicdataStoreContactEntity::getDefaultType, true));
if (Func.isNotEmpty(listed)) {
List<BasicdataStoreContactEntity> collect = listed.stream().filter(f -> Func.isEmpty(f.getCreateTime())).collect(Collectors.toList());
if (Func.isNotEmpty(collect)){
@ -165,14 +168,19 @@ public class BasicdataClientController extends BladeController {
}
}
//处理客户的配送类型
});
// if(!i.getCreateUser().equals(null)){
// R<User> userR = userClient.userInfoById(i.getCreateUser());
// i.setCreateUserName(userR.getData().getName());
// }
});
return R.data(pages);
IPage<BasicdataClientVO> basicdataClientVOIPage = basicdataClientService.pageList(Condition.getPage(query), basicdataClient);
if (!basicdataClientVOIPage.getRecords().isEmpty()) {
for (BasicdataClientVO record : basicdataClientVOIPage.getRecords()) {
List<BasicdataStoreBusinessEntity> list = basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda()
.eq(BasicdataStoreBusinessEntity::getClientId, record.getId()));
record.setTypeServiceBusiness(list);
}
}
return R.data(basicdataClientVOIPage);
}
/**

10
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.java

@ -27,6 +27,7 @@ import org.apache.ibatis.annotations.Param;
import org.springblade.common.model.dto.NameDTO;
import java.util.List;
import java.util.Map;
/**
* 基础客户表 Mapper 接口
@ -61,4 +62,13 @@ public interface BasicdataClientMapper extends BaseMapper<BasicdataClientEntity>
List<NameDTO> findNameByIds(@Param("sendOrgIds") List<Long> sendOrgIds);
BasicdataClientVO findEntityVoById(@Param("clientId") Long clientId);
/**
*
* @param page
* @param basicdataClient
* @return
*/
IPage<BasicdataClientVO> pageList(IPage<BasicdataClientVO> page,@Param("param") Map<String, Object> basicdataClient);
}

74
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataClientMapper.xml

@ -96,5 +96,79 @@
left join logpm_basicdata_store_contact lbsc on lbsc.shop_id = lbc.id
where lbc.id = #{clientId}
</select>
<select id="pageList" resultType="com.logpm.basicdata.vo.BasicdataClientVO">
SELECT
lbc.id,
lbc.client_name,
lbc. client_type,
lbc.client_code,
lbc. linkman,
lbc. phone,
lbc. type_service,
lbc. blade_region_province_id,
lbc. blade_region_city_id,
lbc. blade_region_area_id,
lbc. detailedly,
lbc. cargo_control,
CASE lbc.type_service
WHEN 1 THEN '商配'
WHEN 2 THEN '市配'
WHEN 3 THEN '自提'
WHEN 4 THEN '三方中转'
END typeServiceName,
lbhc.file_name,
DATE_FORMAT(lbc.contract_start_time, '%Y-%m-%d') AS contractStartTime,
DATE_FORMAT(lbc.contract_ent_time, '%Y-%m-%d') AS contractEntTime,
t.aaa AS brandName
FROM
logpm_basicdata_client AS lbc
LEFT JOIN logpm_basicdata_historical_contract AS lbhc ON lbc.id = lbhc.client_id
LEFT JOIN (
SELECT
lbcc.id,
GROUP_CONCAT( lbsbb.brand_name ) AS aaa
FROM
logpm_basicdata_client lbcc
LEFT JOIN logpm_basicdata_store_brand lbsbb ON lbcc.id = lbsbb.client_id
GROUP BY
lbcc.id
) AS t ON t.id = lbc.id
<where>
lbc.is_deleted = 0
<if test="param.clientName != null and param.clientName != ''">
AND lbc.client_name LIKE CONCAT('%', #{param.clientName}, '%')
</if>
<if test="param.clientCode != null and param.clientCode != ''">
AND lbc.client_code LIKE CONCAT('%', #{param.clientCode}, '%')
</if>
<if test="param.linkman != null and param.linkman != ''">
AND lbc.linkman LIKE CONCAT('%', #{param.linkman}, '%')
</if>
<if test="param.phone != null and param.phone != ''">
AND lbc.phone LIKE CONCAT('%', #{param.phone}, '%')
</if>
<if test="param.clientType != null and param.clientType != ''">
AND lbc.client_type = #{param.clientType}
</if>
<if test="param.contractStartTime != null and param.contractStartTime != ''">
AND DATE_FORMAT(lbc.contract_start_time,, '%Y-%m-%d') > DATE_FORMAT(#{param.contractStartTime}, '%Y-%m-%d')
</if>
<if test="param.contractEntTime != null and param.contractEntTime != ''">
AND DATE_FORMAT(lbc.contract_ent_time,, '%Y-%m-%d') &lt; DATE_FORMAT(#{param.contractEntTime}, '%Y-%m-%d')
</if>
<if test="param.brandName != null and param.brandName != ''">
AND t.aaa LIKE CONCAT('%', #{param.brandName}, '%')
</if>
<if test="param.stratTimeDate != null and param.stratTimeDate != '' and param.endTimeDate != null and param.endTimeDate != ''">
AND lbc.contract_start_time >= DATE_FORMAT(#{param.stratTimeDate}, '%Y-%m-%d')
AND lbc.contract_ent_time &lt;= DATE_FORMAT(#{param.endTimeDate}, '%Y-%m-%d')
</if>
</where>
GROUP BY
lbc.id
ORDER BY
lbc.create_time
DESC
</select>
</mapper>

11
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataClientService.java

@ -28,6 +28,7 @@ import org.springblade.core.mp.base.BaseService;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;
/**
* 基础客户表 服务类
@ -100,4 +101,14 @@ public interface IBasicdataClientService extends BaseService<BasicdataClientEnti
List<NameDTO> findNameByIds(List<Long> sendOrgIds);
BasicdataClientVO findEntityVoById(Long clientId);
/**
* 客户列表查询
* @param page
* @param basicdataClient
* @return
*/
IPage<BasicdataClientVO> pageList(IPage<BasicdataClientVO> page, Map<String, Object> basicdataClient);
}

27
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java

@ -65,13 +65,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import static org.springblade.common.constant.DictBizConstant.OPEN_ORDER_PAY_WAY;
@ -128,9 +122,11 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
public boolean ownSaveOrUpdate(BasicdataClientEntity basicdataClient) throws NoSuchAlgorithmException {
//添加客户端的历史合同的数据
if (ObjectUtils.isNotNull(basicdataClient.getId())) {
if (!Objects.isNull(basicdataClient.getBusinessType())){
basicdataClient.setTypeService(Integer.parseInt(basicdataClient.getBusinessType()));
}
//修改
this.updateById(basicdataClient);
// List<BasicdataStoreBusinessEntity> typeServiceBusiness = basicdataClient.getTypeServiceBusiness();
List<BasicdataStoreBusinessEntity> list = basicdataStoreBusinessService.list(Wrappers.<BasicdataStoreBusinessEntity>query().lambda()
.eq(BasicdataStoreBusinessEntity::getClientId, basicdataClient.getId())
);
@ -178,9 +174,12 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
} else {
String linkman = basicdataClient.getLinkman();
String phone = basicdataClient.getPhone();
basicdataClient.setLinkman(null);
basicdataClient.setPhone(null);
basicdataClient.setLinkman(linkman);
basicdataClient.setPhone(phone);
basicdataClient.setCargoControl(false);
if (!Objects.isNull(basicdataClient.getBusinessType())){
basicdataClient.setTypeService(Integer.parseInt(basicdataClient.getBusinessType()));
}
if (ObjectUtils.isNull(basicdataClient.getPid())) {
basicdataClient.setPid(0L);
}
@ -232,7 +231,6 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
basicdataTripartiteMall.setTripartiteMall(basicdataClient.getTripartiteMall());
basicdataTripartiteMall.setClientId(basicdataClient.getId());
basicdataTripartiteMallService.save(basicdataTripartiteMall);
}
}
if (ObjectUtils.isNull(basicdataClient.getId())) {
@ -646,4 +644,11 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl<BasicdataClientM
return baseMapper.findEntityVoById(clientId);
}
@Override
public IPage<BasicdataClientVO> pageList(IPage<BasicdataClientVO> page, Map<String, Object> basicdataClient) {
return baseMapper.pageList(page,basicdataClient);
}
}

23
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataStoreContactServiceImpl.java

@ -19,13 +19,17 @@ package com.logpm.basicdata.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataStoreContactEntity;
import com.logpm.basicdata.excel.BasicdataStoreContactExcel;
import com.logpm.basicdata.mapper.BasicdataStoreContactMapper;
import com.logpm.basicdata.service.IBasicdataClientService;
import com.logpm.basicdata.service.IBasicdataStoreContactService;
import com.logpm.basicdata.vo.BasicdataStoreContactVO;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.List;
@ -41,6 +45,11 @@ import java.util.stream.Collectors;
@Slf4j
public class BasicdataStoreContactServiceImpl extends BaseServiceImpl<BasicdataStoreContactMapper, BasicdataStoreContactEntity> implements IBasicdataStoreContactService {
@Autowired
@Lazy
private IBasicdataClientService basicdataClientService;
@Override
public IPage<BasicdataStoreContactVO> selectBasicdataStoreContactPage(IPage<BasicdataStoreContactVO> page, BasicdataStoreContactVO basicdataStoreContact) {
return page.setRecords(baseMapper.selectBasicdataStoreContactPage(page, basicdataStoreContact));
@ -62,6 +71,13 @@ public class BasicdataStoreContactServiceImpl extends BaseServiceImpl<BasicdataS
List<BasicdataStoreContactEntity> storeContactEntities = baseMapper.selectList(Wrappers.<BasicdataStoreContactEntity>query().lambda()
.eq(BasicdataStoreContactEntity::getShopId, basicdataStoreContact.getShopId())
);
if (!basicdataStoreContact.getDefaultType()){
boolean flag = storeContactEntities.stream().filter(f->!f.getId().equals(basicdataStoreContact.getId())).allMatch(b -> b.getDefaultType().equals(false));
if (flag){
throw new RuntimeException("商场必须存在一个默认联系人");
}
}
List<Long> ids = storeContactEntities.stream().filter(f -> !f.getId().equals(basicdataStoreContact.getId())).map(BasicdataStoreContactEntity::getId).collect(Collectors.toList());
if (!ids.isEmpty()) {
this.update(Wrappers.<BasicdataStoreContactEntity>update().lambda()
@ -69,8 +85,13 @@ public class BasicdataStoreContactServiceImpl extends BaseServiceImpl<BasicdataS
.set(BasicdataStoreContactEntity::getDefaultType,false)
);
}
//修改客户的展示联系人为默认联系人
basicdataClientService.update(Wrappers.<BasicdataClientEntity>update().lambda()
.eq(BasicdataClientEntity::getId,basicdataStoreContact.getShopId())
.set(BasicdataClientEntity::getLinkman,basicdataStoreContact.getLinkman())
.set(BasicdataClientEntity::getPhone,basicdataStoreContact.getPhone())
);
this.updateById(basicdataStoreContact);
return true;
}catch (Exception e){
log.info("报错信息:{}",e.getMessage());

Loading…
Cancel
Save