|
|
|
@ -27,7 +27,7 @@ import java.util.Map; |
|
|
|
* @Description: 收发货地址簿接口 |
|
|
|
*/ |
|
|
|
@Service |
|
|
|
public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddressBookMapper, LogisticsAddressBook>implements LogisticsAddressBookService { |
|
|
|
public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddressBookMapper, LogisticsAddressBook> implements LogisticsAddressBookService { |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
@ -45,81 +45,74 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres |
|
|
|
final List<LogisticsAddressBook> list = new ArrayList<>(); |
|
|
|
|
|
|
|
//根据名称、电话、地址查询看是不是存在,如果不存在则新建一条
|
|
|
|
if(StringUtils.isEmpty(logisticsOrder.getShipperId())){ |
|
|
|
// 查询,然后判断新增
|
|
|
|
final LambdaQueryWrapper<LogisticsAddressBook> stuQuery = new LambdaQueryWrapper<>(); |
|
|
|
stuQuery.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getShipperName()) |
|
|
|
.eq(LogisticsAddressBook::getAddressType, 1) |
|
|
|
.eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile()) |
|
|
|
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress()); |
|
|
|
final Long count = getBaseMapper().selectCount(stuQuery); |
|
|
|
|
|
|
|
if(count == 0){ |
|
|
|
// 创建发货人地址簿
|
|
|
|
final LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook(); |
|
|
|
// 设置发货人名称,从物流订单的发货人名称中获取
|
|
|
|
shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); |
|
|
|
// 设置地址信息,从物流订单的发货人地址获取
|
|
|
|
shipperAddressBook.setAddressInfo(logisticsOrder.getShipperAddress()); |
|
|
|
// 设置地址类型,1表示发货人地址
|
|
|
|
shipperAddressBook.setAddressType(1); |
|
|
|
// 设置公司ID,从物流订单中获取
|
|
|
|
shipperAddressBook.setCompanyId(logisticsOrder.getCompanyId()); |
|
|
|
// 设置公司名称,从物流订单中获取
|
|
|
|
shipperAddressBook.setCompanyName(logisticsOrder.getCompanyName()); |
|
|
|
// 设置创建人,从物流订单中获取
|
|
|
|
shipperAddressBook.setCreateBy(logisticsOrder.getCreateBy()); |
|
|
|
// 设置联系电话,从物流订单的发货人手机信息中获取
|
|
|
|
shipperAddressBook.setMobile(logisticsOrder.getShipperMobile()); |
|
|
|
// 设置收发货人名称,从物流订单的发货人名称中获取
|
|
|
|
shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); |
|
|
|
list.add(shipperAddressBook); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if (StringUtils.isEmpty(logisticsOrder.getShipperId())) { |
|
|
|
// 创建发货人地址簿
|
|
|
|
final LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook(); |
|
|
|
// 设置发货人名称,从物流订单的发货人名称中获取
|
|
|
|
shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); |
|
|
|
// 设置地址信息,从物流订单的发货人地址获取
|
|
|
|
shipperAddressBook.setAddressInfo(logisticsOrder.getShipperAddress()); |
|
|
|
// 设置地址类型,1表示发货人地址
|
|
|
|
shipperAddressBook.setAddressType(1); |
|
|
|
// 设置公司ID,从物流订单中获取
|
|
|
|
shipperAddressBook.setCompanyId(logisticsOrder.getCompanyId()); |
|
|
|
// 设置公司名称,从物流订单中获取
|
|
|
|
shipperAddressBook.setCompanyName(logisticsOrder.getCompanyName()); |
|
|
|
// 设置创建人,从物流订单中获取
|
|
|
|
shipperAddressBook.setCreateBy(logisticsOrder.getCreateBy()); |
|
|
|
// 设置联系电话,从物流订单的发货人手机信息中获取
|
|
|
|
shipperAddressBook.setMobile(logisticsOrder.getShipperMobile()); |
|
|
|
list.add(shipperAddressBook); |
|
|
|
// 回填新增的发货人id
|
|
|
|
logisticsOrder.setShipperId(shipperAddressBook.getId()); |
|
|
|
} else { |
|
|
|
// 有id,查询,并更新名称
|
|
|
|
final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getShipperId()); |
|
|
|
oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); |
|
|
|
// 地址
|
|
|
|
oldLogisticsAddressBook.setAddressInfo(logisticsOrder.getShipperAddress()); |
|
|
|
// 电话
|
|
|
|
oldLogisticsAddressBook.setMobile(logisticsOrder.getShipperMobile()); |
|
|
|
list.add(oldLogisticsAddressBook); |
|
|
|
} |
|
|
|
|
|
|
|
if(StringUtils.isEmpty(logisticsOrder.getReceiverId())){ |
|
|
|
final LambdaQueryWrapper<LogisticsAddressBook> stuQuery2 = new LambdaQueryWrapper<>(); |
|
|
|
stuQuery2.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getReceiverName()) |
|
|
|
.eq(LogisticsAddressBook::getAddressType, 2) |
|
|
|
.eq(LogisticsAddressBook::getMobile, logisticsOrder.getReceiverMobile()) |
|
|
|
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress()); |
|
|
|
final Long count2 = getBaseMapper().selectCount(stuQuery2); |
|
|
|
|
|
|
|
if(count2 == 0 && StringUtils.isEmpty(logisticsOrder.getReceiverId())) { |
|
|
|
// 创建收货人地址簿
|
|
|
|
final LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook(); |
|
|
|
// 设置收货人名称,从物流订单的收货人名称中获取
|
|
|
|
reciverAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName()); |
|
|
|
// 设置地址信息,从物流订单的发货人地址获取
|
|
|
|
reciverAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress()); |
|
|
|
// 设置地址类型,1表示发货人地址
|
|
|
|
reciverAddressBook.setAddressType(2); |
|
|
|
// 设置公司ID,从物流订单中获取
|
|
|
|
reciverAddressBook.setCompanyId(logisticsOrder.getCompanyId()); |
|
|
|
// 设置公司名称,从物流订单中获取
|
|
|
|
reciverAddressBook.setCompanyName(logisticsOrder.getCompanyName()); |
|
|
|
// 设置创建人,从物流订单中获取
|
|
|
|
reciverAddressBook.setCreateBy(logisticsOrder.getCreateBy()); |
|
|
|
// 设置联系电话,从物流订单的发货人手机信息中获取
|
|
|
|
reciverAddressBook.setMobile(logisticsOrder.getReceiverMobile()); |
|
|
|
list.add(reciverAddressBook); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if (StringUtils.isEmpty(logisticsOrder.getReceiverId())) { |
|
|
|
// 创建收货人地址簿
|
|
|
|
final LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook(); |
|
|
|
// 设置收货人名称,从物流订单的收货人名称中获取
|
|
|
|
reciverAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName()); |
|
|
|
// 设置地址信息,从物流订单的发货人地址获取
|
|
|
|
reciverAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress()); |
|
|
|
// 设置地址类型,1表示发货人地址
|
|
|
|
reciverAddressBook.setAddressType(2); |
|
|
|
// 设置公司ID,从物流订单中获取
|
|
|
|
reciverAddressBook.setCompanyId(logisticsOrder.getCompanyId()); |
|
|
|
// 设置公司名称,从物流订单中获取
|
|
|
|
reciverAddressBook.setCompanyName(logisticsOrder.getCompanyName()); |
|
|
|
// 设置创建人,从物流订单中获取
|
|
|
|
reciverAddressBook.setCreateBy(logisticsOrder.getCreateBy()); |
|
|
|
// 设置联系电话,从物流订单的发货人手机信息中获取
|
|
|
|
reciverAddressBook.setMobile(logisticsOrder.getReceiverMobile()); |
|
|
|
list.add(reciverAddressBook); |
|
|
|
|
|
|
|
// 回填新增的收货人id
|
|
|
|
logisticsOrder.setReceiverId(reciverAddressBook.getId()); |
|
|
|
} else { |
|
|
|
// 有id,查询,并更新名称
|
|
|
|
final LogisticsAddressBook oldLogisticsAddressBook = logisticsAddressBookMapper.selectById(logisticsOrder.getReceiverId()); |
|
|
|
oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); |
|
|
|
// 名称
|
|
|
|
oldLogisticsAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName()); |
|
|
|
// 地址
|
|
|
|
oldLogisticsAddressBook.setAddressInfo(logisticsOrder.getReceiverAddress()); |
|
|
|
// 电话
|
|
|
|
oldLogisticsAddressBook.setMobile(logisticsOrder.getReceiverMobile()); |
|
|
|
list.add(oldLogisticsAddressBook); |
|
|
|
} |
|
|
|
|
|
|
|
// 调用save方法保存地址簿信息,返回保存结果
|
|
|
|
final Gson gson = new Gson(); |
|
|
|
System.out.println(gson.toJson(list)); |
|
|
|
if(list.isEmpty()){ |
|
|
|
if (list.isEmpty()) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
return saveOrUpdateBatch(list); |
|
|
|
@ -129,42 +122,46 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres |
|
|
|
public IPage<LogisticsAddressBook> getLogisticsAddressBookPageList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) { |
|
|
|
final Page<LogisticsAddressBook> page = new Page<>(); |
|
|
|
final LambdaQueryWrapper<LogisticsAddressBook> wrapper = new LambdaQueryWrapper<>(); |
|
|
|
if(logisticsAddressBookQueryVo != null && StringUtils.isNotEmpty(logisticsAddressBookQueryVo.getKeyWord())){ |
|
|
|
if (logisticsAddressBookQueryVo != null && StringUtils.isNotEmpty(logisticsAddressBookQueryVo.getKeyWord())) { |
|
|
|
wrapper.like(LogisticsAddressBook::getShipperOrReceiverName, logisticsAddressBookQueryVo.getKeyWord()).or() |
|
|
|
.like(LogisticsAddressBook::getMobile, logisticsAddressBookQueryVo.getKeyWord()); |
|
|
|
} |
|
|
|
if(logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getAddressType() !=null ){ |
|
|
|
if (logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getAddressType() != null) { |
|
|
|
wrapper.eq(LogisticsAddressBook::getAddressType, logisticsAddressBookQueryVo.getAddressType()); |
|
|
|
} |
|
|
|
if (logisticsAddressBookQueryVo != null && logisticsAddressBookQueryVo.getCompanyId() != null) { |
|
|
|
wrapper.eq(LogisticsAddressBook::getCompanyId, logisticsAddressBookQueryVo.getCompanyId()); |
|
|
|
} |
|
|
|
page.setCurrent(logisticsAddressBookQueryVo.getPageNum()); |
|
|
|
page.setSize(logisticsAddressBookQueryVo.getPageSize()); |
|
|
|
return logisticsAddressBookMapper.selectPage(page,wrapper); |
|
|
|
return logisticsAddressBookMapper.selectPage(page, wrapper); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据名称(支持拼音模糊匹配)及手机号查询列表 |
|
|
|
* @author 王富康 |
|
|
|
* @date 2024/10/8 |
|
|
|
* |
|
|
|
* @param logisticsAddressBookQueryVo |
|
|
|
* @return List<LogisticsAddressBook> |
|
|
|
* @author 王富康 |
|
|
|
* @date 2024/10/8 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public JSONObject getLogisticsAddressBookList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) { |
|
|
|
final JSONObject jsonObject = new JSONObject(); |
|
|
|
// 必须包含addressType,
|
|
|
|
if(logisticsAddressBookQueryVo.getAddressType() == null){ |
|
|
|
jsonObject.set("flag","0"); |
|
|
|
jsonObject.set("msg","addressType参数为空"); |
|
|
|
if (logisticsAddressBookQueryVo.getAddressType() == null) { |
|
|
|
jsonObject.set("flag", "0"); |
|
|
|
jsonObject.set("msg", "addressType参数为空"); |
|
|
|
return jsonObject; |
|
|
|
} |
|
|
|
if(StringUtils.isEmpty(logisticsAddressBookQueryVo.getShipperOrReceiverName()) && StringUtils.isEmpty(logisticsAddressBookQueryVo.getMobile())){ |
|
|
|
jsonObject.set("flag","0"); |
|
|
|
jsonObject.set("msg","姓名及电话必须传一个!"); |
|
|
|
if (StringUtils.isEmpty(logisticsAddressBookQueryVo.getShipperOrReceiverName()) && StringUtils.isEmpty(logisticsAddressBookQueryVo.getMobile())) { |
|
|
|
jsonObject.set("flag", "0"); |
|
|
|
jsonObject.set("msg", "姓名及电话必须传一个!"); |
|
|
|
return jsonObject; |
|
|
|
} |
|
|
|
final List<LogisticsAddressBook> logisticsAddressBookList = logisticsAddressBookMapper.getLogisticsAddressBookList(logisticsAddressBookQueryVo); |
|
|
|
jsonObject.set("data",logisticsAddressBookList); |
|
|
|
jsonObject.set("flag","1"); |
|
|
|
jsonObject.set("data", logisticsAddressBookList); |
|
|
|
jsonObject.set("flag", "1"); |
|
|
|
return jsonObject; |
|
|
|
} |
|
|
|
|
|
|
|
@ -179,8 +176,8 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres |
|
|
|
.eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile()) |
|
|
|
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress()); |
|
|
|
final LogisticsAddressBook shipperLogisticsAddressBook = getBaseMapper().selectOne(stuQuery); |
|
|
|
if(shipperLogisticsAddressBook != null ){ |
|
|
|
logisticsAddressBookMap.put("shipperLogisticsAddressBook",shipperLogisticsAddressBook); |
|
|
|
if (shipperLogisticsAddressBook != null) { |
|
|
|
logisticsAddressBookMap.put("shipperLogisticsAddressBook", shipperLogisticsAddressBook); |
|
|
|
} |
|
|
|
|
|
|
|
// 收货人
|
|
|
|
@ -191,8 +188,8 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl<LogisticsAddres |
|
|
|
.eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress()); |
|
|
|
final LogisticsAddressBook receiverLogisticsAddressBook = getBaseMapper().selectOne(stuQuery2); |
|
|
|
|
|
|
|
if(receiverLogisticsAddressBook != null ){ |
|
|
|
logisticsAddressBookMap.put("receiverLogisticsAddressBook",receiverLogisticsAddressBook); |
|
|
|
if (receiverLogisticsAddressBook != null) { |
|
|
|
logisticsAddressBookMap.put("receiverLogisticsAddressBook", receiverLogisticsAddressBook); |
|
|
|
} |
|
|
|
return logisticsAddressBookMap; |
|
|
|
} |
|
|
|
|