Browse Source

添加自提图片上传接口

single_db
caoyizhong 10 months ago
parent
commit
629a06222a
  1. 27
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionBillLadingAppController.java
  2. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/BillLadingAppDTO.java
  3. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillLadingService.java
  4. 83
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

27
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionBillLadingAppController.java

@ -31,6 +31,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@ -175,4 +176,30 @@ public class DistributionBillLadingAppController extends BladeController {
}
@PostMapping("/addReceivedImage")
@ApiOperation(value = "添加自提单签收图片")
public R updateReceivedImage(@RequestBody BillLadingAppDTO billLadingAppDTO) {
log.debug("=====签收图片自提签收:{}",billLadingAppDTO);
if (ObjectUtils.isNull(billLadingAppDTO.getBillLadingId())) {
return R.fail(3002, "自提id不能为空 !");
}
if(ObjectUtils.isNull(billLadingAppDTO.getPrintList()) || billLadingAppDTO.getPrintList().isEmpty()){
throw new ServiceException("图片对象不能为空!!");
}
R b = distrilbutionBillLadingService.updateReceivedImage(billLadingAppDTO);
return b;
}
@GetMapping("/getReceivedImage")
@ApiOperation(value = "查询自提单签收图片")
public R getReceivedImage(@RequestBody BillLadingAppDTO billLadingAppDTO) {
log.debug("=====查询自提单签收图片:{}",billLadingAppDTO);
if (ObjectUtils.isNull(billLadingAppDTO.getBillLadingId())) {
return R.fail(3002, "自提id不能为空 !");
}
R b = distrilbutionBillLadingService.getReceivedImage(billLadingAppDTO);
return b;
}
}

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/app/BillLadingAppDTO.java

@ -1,5 +1,6 @@
package com.logpm.distribution.dto.app;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingZeroVO;
import lombok.Data;
@ -28,4 +29,16 @@ public class BillLadingAppDTO implements Serializable {
private List<DistrilbutionAppBillLadingZeroVO> list; //零担数据集合
private DistrilbutionAppBillLadingZeroVO billLadingZeroVO; //单个数据
private List<Print> printList;
@Data
public static class Print{
private Long id; //id 已有
private String state; //类型 1.提货证件 2.文员确认 3.库管签收
private String name; //名称
private String url; //路径
}
}

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistrilbutionBillLadingService.java

@ -199,4 +199,17 @@ public interface IDistrilbutionBillLadingService extends BaseService<Distrilbuti
*/
R zeroBillPack(BillLadingAppDTO billLadingAppDTO);
/**
* 提交自提签收图片
* @param billLadingAppDTO
* @return
*/
R updateReceivedImage(BillLadingAppDTO billLadingAppDTO);
/**
* 查询自提签收图片
* @param billLadingAppDTO
* @return
*/
R getReceivedImage(BillLadingAppDTO billLadingAppDTO);
}

83
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -92,6 +92,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import static org.bouncycastle.math.ec.custom.gm.SM2P256V1Curve.q;
/**
* 提货单 服务实现类
*
@ -2081,6 +2083,87 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return Resp.scanSuccess("签收成功!","签收成功!");
}
/**
* 添加自提图片
* @param billLadingAppDTO
* @return
*/
@Override
public R updateReceivedImage(BillLadingAppDTO billLadingAppDTO) {
//查询全部的图片
List<DistributionPrintEntity> printEntityList = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda()
.eq(DistributionPrintEntity::getBillLadingId, billLadingAppDTO.getBillLadingId())
);
List<BillLadingAppDTO.Print> addList = new ArrayList<>(); //添加的图片
ListIterator<DistributionPrintEntity> distributionPrintEntityListIterator = printEntityList.listIterator();
//添加图片
billLadingAppDTO.getPrintList().stream().collect(Collectors.groupingBy(BillLadingAppDTO.Print::getState))
.forEach((k,v) ->{
List<BillLadingAppDTO.Print> aid = v.stream().filter(i -> ObjectUtils.isNull(i.getId())).collect(Collectors.toList());//添加的图片
addList.addAll(aid);
List<BillLadingAppDTO.Print> uid = v.stream().filter(i -> ObjectUtils.isNotNull(i.getId())).collect(Collectors.toList()); //保存的图片
uid.forEach(q ->{
//处理不需要的图片
while (distributionPrintEntityListIterator.hasNext()){
DistributionPrintEntity next = distributionPrintEntityListIterator.next();
if(q.getId().equals(next.getId())){
distributionPrintEntityListIterator.remove();
}
}
});
});
//清除需要删除的图片
if(!printEntityList.isEmpty()){
List<Long> collect = printEntityList.stream().map(DistributionPrintEntity::getId).collect(Collectors.toList());
distributionPrintService.deleteLogic(collect);
}
//新增
List<DistributionPrintEntity> list2 = new ArrayList<>();
billLadingAppDTO.getPrintList().forEach(print -> {
DistributionPrintEntity distributionPrintEntity = new DistributionPrintEntity();
distributionPrintEntity.setBillLadingId(billLadingAppDTO.getBillLadingId());
distributionPrintEntity.setGenre(Integer.parseInt(print.getState()));
distributionPrintEntity.setSite(print.getUrl());
distributionPrintEntity.setSiteName(print.getName());
list2.add(distributionPrintEntity);
});
return R.status(distributionPrintService.saveBatch(list2));
}
/**
* 查询自提签收图片
* @param billLadingAppDTO
* @return
*/
@Override
public R getReceivedImage(BillLadingAppDTO billLadingAppDTO) {
List<DistributionPrintEntity> list = distributionPrintService.list(Wrappers.<DistributionPrintEntity>query().lambda()
.eq(DistributionPrintEntity::getBillLadingId, billLadingAppDTO.getBillLadingId())
);
Map<String,List<BillLadingAppDTO.Print>> map = new HashMap<>();
if(!list.isEmpty()){
List<BillLadingAppDTO.Print> list1 = new ArrayList<>();
list.forEach(i ->{
BillLadingAppDTO.Print print = new BillLadingAppDTO.Print();
print.setId(i.getId());
print.setUrl(i.getSite());
print.setName(i.getSiteName());
print.setState(String.valueOf(i.getGenre()));
list1.add(print);
});
map.put("list",list1);
return R.data(map);
}
map.put("list",null);
return R.data(map);
}
/**
* 修改订单状态

Loading…
Cancel
Save