Commit 4e60adf3 authored by zhengyi's avatar zhengyi

Merge branch 'test' into release

parents 6a7d4af9 199c4434
version: '3' version: '3'
services: services:
api-jiedao-operator: api-jd-test:
image: harbor.jiedao.com/api-jiedao-operator:latest image: harbor.com/api-jd-test:latest
container_name: api-jiedao-operator container_name: api-jd-test
ports: ports:
- "9001:9001" - "9001:9001"
environment: environment:
env: test env: test
volumes: volumes:
- '/etc/localtime:/etc/localtime' - '/etc/localtime:/etc/localtime'
- '/data/docker/apps/jiedao/api/logs/operator:/logs' - '/data/apps/jd/test/api/logs/operator:/logs'
- '/data/docker/apps/jiedao/static:/app/static' - '/data/apps/jd/test/static:/app/static'
- '/data/docker/apps/jiedao/fonts/zh:/usr/share/fonts/zh' - '/data/apps/jd/test/fonts/zh:/usr/share/fonts/zh'
restart: always restart: always
ulimits: ulimits:
nproc: 65535 nproc: 65535
...@@ -24,9 +24,9 @@ services: ...@@ -24,9 +24,9 @@ services:
cpus: '4' cpus: '4'
memory: 4G memory: 4G
networks: networks:
app-net: net:
ipv4_address: 10.10.0.20 ipv4_address: 10.10.0.20
networks: networks:
app-net: net:
external: true external: true
SET FOREIGN_KEY_CHECKS = 0;
INSERT INTO `jiedao`.`system_sms_template` (`id`, `type`, `status`, `code`, `name`, `content`, `params`, `remark`, `api_template_id`, `channel_id`, `channel_code`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `content_en`, `api_template_id_en`) VALUES (55, 3, 0, 'user-sms-redeem-reward', '积分兑换验证码', '积分兑换验证码:${code},请勿将验证码泄露给他人,以免造成不必要的损失,两分钟之内有效!', '[\"code\"]', NULL, 'SMS_471775248', 6, 'ALIYUN', '2696', '2024-08-20 10:06:06', '2696', '2024-08-20 10:14:39', b'0', '[ECLogistics]Your login code is:{code}, do not disclose this code to others to avoid any unnecessary loss, within 20 minutes effective!', 'SMS_199790126');
SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
-- 增加报价单目的国字段
alter table ecw_offer add COLUMN dest_country_id bigint DEFAULT 0 comment '目的国id';
update ecw_offer o join ecw_warehouse_line l on o.line_id = l.id join ecw_warehouse w on w.id = l.dest_warehouse_id set o.dest_country_id = w.guojia;
\ No newline at end of file
...@@ -95,6 +95,7 @@ public enum WorkFlowEmus { ...@@ -95,6 +95,7 @@ public enum WorkFlowEmus {
SHIPMENT_LINE_WEIGHT_ALLOW_OVER("shipment_line_weight_allow_over", "出货审批-允许超出线路重量上限审核"), SHIPMENT_LINE_WEIGHT_ALLOW_OVER("shipment_line_weight_allow_over", "出货审批-允许超出线路重量上限审核"),
ORDER_OVERSEAS_WAREHOUSE_CHANGE("order_overseas_warehouse_change", "订单审批-海外仓修改申请"), ORDER_OVERSEAS_WAREHOUSE_CHANGE("order_overseas_warehouse_change", "订单审批-海外仓修改申请"),
ORDER_CONSIGNEE_LIMIT_CHANGE("order_consignee_limit_change", "订单审批-收货人限制修改申请"), ORDER_CONSIGNEE_LIMIT_CHANGE("order_consignee_limit_change", "订单审批-收货人限制修改申请"),
ORDER_WAREHOUSING("order_warehousing", "订单审批-入仓申请"),
; ;
private String key; private String key;
private String value; private String value;
......
package cn.iocoder.yudao.module.bpm.service.order.listener;
import cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus;
import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent;
import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener;
import cn.iocoder.yudao.module.order.service.order.OrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Component
@Slf4j
public class BmpOrderWarehouseingResultListener extends BpmProcessInstanceResultEventListener {
@Resource
OrderService orderService;
@Override
protected String getProcessDefinitionKey() {
return WorkFlowEmus.ORDER_WAREHOUSING.getKey();
}
@Override
protected void onEvent(BpmProcessInstanceResultEvent event) {
log.info("----------------------入仓申请----------------------,{},{}" + event.getBusinessKey(), event.getResult());
//orderService.approvalOrder(event.getBusinessKey(), event.getResult());
}
}
...@@ -225,5 +225,4 @@ public enum OrderStatusMsgEnum { ...@@ -225,5 +225,4 @@ public enum OrderStatusMsgEnum {
return 99999; return 99999;
} }
} }
...@@ -8,6 +8,8 @@ import java.util.*; ...@@ -8,6 +8,8 @@ import java.util.*;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import javax.validation.constraints.NotNull;
/** /**
* 报价单管理 DO * 报价单管理 DO
...@@ -70,6 +72,9 @@ public class OfferDO extends BaseDO { ...@@ -70,6 +72,9 @@ public class OfferDO extends BaseDO {
* 始发地信息 * 始发地信息
*/ */
private String departure; private String departure;
@ApiModelProperty(value = "目的地国ID")
private Long destCountryId;
/** /**
* 目的地 * 目的地
*/ */
......
...@@ -65,5 +65,7 @@ public interface ErrorCodeConstants { ...@@ -65,5 +65,7 @@ public interface ErrorCodeConstants {
ErrorCode ORDER_ASSOCIATION_OFFER_NO_CAN_UPDATE = new ErrorCode(1004010052, "order.association.offer.no.can.update"); ErrorCode ORDER_ASSOCIATION_OFFER_NO_CAN_UPDATE = new ErrorCode(1004010052, "order.association.offer.no.can.update");
ErrorCode ORDER_BOUND_OFFER = new ErrorCode(1004010053, "order.bound.offer"); ErrorCode ORDER_BOUND_OFFER = new ErrorCode(1004010053, "order.bound.offer");
ErrorCode OFFER_LINE_NOT_EXIST = new ErrorCode(1004010054, "line.not.exist");
ErrorCode OFFER_DEPARTURE_OBJECTIVE_AND_LINE_NOT_AGREEMENT = new ErrorCode(1004010055, "offer.departure.objective.and.line.not.agreement");
} }
...@@ -209,6 +209,18 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl ...@@ -209,6 +209,18 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl
if (Objects.nonNull(createReqVO.getEstCostVO())) { if (Objects.nonNull(createReqVO.getEstCostVO())) {
offer.setEstCost(JSONObject.toJSONString(createReqVO.getEstCostVO())); offer.setEstCost(JSONObject.toJSONString(createReqVO.getEstCostVO()));
} }
LogisticsInfoDto logisticsInfoDto =
warehouseLineMapper.getStartInfoAndDestInfoByLineId(
createReqVO.getLineId());
if (Objects.isNull(logisticsInfoDto)) {
throw exception(OFFER_LINE_NOT_EXIST);
}
if (!Objects.equals(logisticsInfoDto.getStartCityId(),
createReqVO.getDepartureId()) || !Objects.equals(
logisticsInfoDto.getDestCityId(), createReqVO.getObjectiveId()) || !Objects.equals(
logisticsInfoDto.getDestCountryId(), createReqVO.getDestCountryId())) {
throw exception(OFFER_DEPARTURE_OBJECTIVE_AND_LINE_NOT_AGREEMENT);
}
// offer.setStatus(2);// 确认中 // offer.setStatus(2);// 确认中
// 查询始发地与目的地信息 // 查询始发地与目的地信息
RegionDO departure = regionService.getRegion(offer.getDepartureId()); RegionDO departure = regionService.getRegion(offer.getDepartureId());
...@@ -534,6 +546,18 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl ...@@ -534,6 +546,18 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl
if (Objects.nonNull(updateReqVO.getEstCostVO())) { if (Objects.nonNull(updateReqVO.getEstCostVO())) {
updateObj.setEstCost(JSONObject.toJSONString(updateReqVO.getEstCostVO())); updateObj.setEstCost(JSONObject.toJSONString(updateReqVO.getEstCostVO()));
} }
LogisticsInfoDto logisticsInfoDto =
warehouseLineMapper.getStartInfoAndDestInfoByLineId(
updateReqVO.getLineId());
if (Objects.isNull(logisticsInfoDto)) {
throw exception(OFFER_LINE_NOT_EXIST);
}
if (!Objects.equals(logisticsInfoDto.getStartCityId(),
updateReqVO.getDepartureId()) || !Objects.equals(
logisticsInfoDto.getDestCityId(), updateReqVO.getObjectiveId()) || !Objects.equals(
logisticsInfoDto.getDestCountryId(), updateReqVO.getDestCountryId())) {
throw exception(OFFER_DEPARTURE_OBJECTIVE_AND_LINE_NOT_AGREEMENT);
}
// 查询始发地与目的地信息 // 查询始发地与目的地信息
RegionDO departure = regionService.getRegion(updateReqVO.getDepartureId()); RegionDO departure = regionService.getRegion(updateReqVO.getDepartureId());
if (Objects.isNull(departure) || (!StrUtil.equals(departure.getType(), "2") && !StrUtil.equals(departure.getType(), "3"))) { if (Objects.isNull(departure) || (!StrUtil.equals(departure.getType(), "2") && !StrUtil.equals(departure.getType(), "3"))) {
...@@ -642,7 +666,12 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl ...@@ -642,7 +666,12 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl
if (CollectionUtil.isEmpty(offerProdDOList)) { if (CollectionUtil.isEmpty(offerProdDOList)) {
throw exception(OFFER_PROD_NOT_NULL); throw exception(OFFER_PROD_NOT_NULL);
} }
respVO.setOfferProdRespVOList(OfferProdConvert.INSTANCE.convertList(offerProdDOList)); respVO.setOfferProdRespVOList(OfferProdConvert.INSTANCE.convertList(offerProdDOList));
LogisticsInfoDto logisticsInfoDto =
warehouseLineMapper.getStartInfoAndDestInfoByLineId(
respVO.getLineId());
respVO.setLogisticsInfoDto(logisticsInfoDto);
return respVO; return respVO;
} }
...@@ -947,6 +976,7 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl ...@@ -947,6 +976,7 @@ public class OfferServiceImpl extends AbstractService<OfferMapper, OfferDO> impl
createReqVO.setType(offerDO.getServiceType()); createReqVO.setType(offerDO.getServiceType());
createReqVO.setChannelId(channelId); createReqVO.setChannelId(channelId);
createReqVO.setLineId(lineId); createReqVO.setLineId(lineId);
createReqVO.setType(offerDO.getServiceType());
createReqVO.setTransportId(offerDO.getTransportId()); createReqVO.setTransportId(offerDO.getTransportId());
createReqVO.setShippingCompany(offerTransportDO.getShippingCompany()); createReqVO.setShippingCompany(offerTransportDO.getShippingCompany());
createReqVO.setAirlineCompany(offerTransportDO.getAirlineCompany()); createReqVO.setAirlineCompany(offerTransportDO.getAirlineCompany());
......
...@@ -60,6 +60,10 @@ public class OfferBaseVO { ...@@ -60,6 +60,10 @@ public class OfferBaseVO {
@NotNull(message = "objective.not.exists") @NotNull(message = "objective.not.exists")
private Long objectiveId; private Long objectiveId;
@ApiModelProperty(value = "目的地国ID")
@NotNull(message = "目的国不能为空")
private Long destCountryId;
// @ApiModelProperty(value = "目的地信息") // @ApiModelProperty(value = "目的地信息")
// private String objective; // private String objective;
......
...@@ -174,6 +174,9 @@ public class OfferPageReqVO extends PageParam { ...@@ -174,6 +174,9 @@ public class OfferPageReqVO extends PageParam {
@ApiModelProperty(value = "目的地id集合") @ApiModelProperty(value = "目的地id集合")
private List<Long> objectiveIds; private List<Long> objectiveIds;
@ApiModelProperty(value = "目的仓ID集合")
private List<Long> startWarehouseIds;
@ApiModelProperty(value = "目的仓ID集合") @ApiModelProperty(value = "目的仓ID集合")
private List<Long> destWarehouseIds; private List<Long> destWarehouseIds;
......
package cn.iocoder.yudao.module.sale.vo.offer; package cn.iocoder.yudao.module.sale.vo.offer;
import cn.iocoder.yudao.module.depository.dto.LogisticsInfoDto;
import cn.iocoder.yudao.module.sale.vo.offer.prod.OfferProdRespVO; import cn.iocoder.yudao.module.sale.vo.offer.prod.OfferProdRespVO;
import cn.iocoder.yudao.module.sale.vo.offer.transport.OfferTransportCreateReqVO; import cn.iocoder.yudao.module.sale.vo.offer.transport.OfferTransportCreateReqVO;
import cn.iocoder.yudao.module.sale.vo.offer.transport.OfferTransportRespVO; import cn.iocoder.yudao.module.sale.vo.offer.transport.OfferTransportRespVO;
...@@ -32,7 +33,10 @@ public class OfferRespVO extends OfferBaseVO { ...@@ -32,7 +33,10 @@ public class OfferRespVO extends OfferBaseVO {
private OfferTransportRespVO transportVO; private OfferTransportRespVO transportVO;
@ApiModelProperty(value = "报价单商品列表") @ApiModelProperty(value = "报价单商品列表")
List<OfferProdRespVO> offerProdRespVOList; private List<OfferProdRespVO> offerProdRespVOList;
@ApiModelProperty(value = "物流信息")
private LogisticsInfoDto logisticsInfoDto;
@ApiModelProperty(value = "始发地名称") @ApiModelProperty(value = "始发地名称")
private String departureName; private String departureName;
...@@ -59,10 +63,14 @@ public class OfferRespVO extends OfferBaseVO { ...@@ -59,10 +63,14 @@ public class OfferRespVO extends OfferBaseVO {
// 线路相关 // 线路相关
@ExcelProperty("始发仓库id") @ApiModelProperty("始发仓库id")
private Long startWarehouseId; private Long startWarehouseId;
@ExcelProperty("目的仓库id") @ApiModelProperty("始发仓库名称")
private String startWarehouseName;
@ApiModelProperty("目的仓库id")
private Long destWarehouseId; private Long destWarehouseId;
@ApiModelProperty("目的仓库名称")
private String destWarehouseName;
@ExcelProperty("运输方式") @ExcelProperty("运输方式")
private String transportType; private String transportType;
......
...@@ -170,7 +170,7 @@ spring: ...@@ -170,7 +170,7 @@ spring:
logging: logging:
level: level:
root: INFO root: INFO
cn.iocoder.yudao: DEBUG cn.iocoder.yudao: INFO
--- #################### 微信公众号相关配置 #################### --- #################### 微信公众号相关配置 ####################
wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档 wx: # 参见 https://github.com/Wechat-Group/WxJava/blob/develop/spring-boot-starters/wx-java-mp-spring-boot-starter/README.md 文档
......
This diff is collapsed.
...@@ -42,14 +42,14 @@ spring: ...@@ -42,14 +42,14 @@ spring:
primary: master primary: master
datasource: datasource:
master: master:
name: jiedao01 name: jd
url: jdbc:mysql://172.16.0.3:3306/${spring.datasource.dynamic.datasource.master.name}?useUnicode=true&useSSL=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&rewriteBatchedStatements=TRUE url: jdbc:mysql://172.16.0.3:3306/${spring.datasource.dynamic.datasource.master.name}?useUnicode=true&useSSL=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&rewriteBatchedStatements=TRUE
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
username: jd username: jd
password: Jd2024 password: Jd2024
slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
name: jd name: jd
url: jdbc:mysql://10.10.0.13:3306/${spring.datasource.dynamic.datasource.slave.name}?useUnicode=true&useSSL=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&rewriteBatchedStatements=TRUE url: jdbc:mysql://172.16.0.3:3306/${spring.datasource.dynamic.datasource.slave.name}?useUnicode=true&useSSL=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&autoReconnect=true&rewriteBatchedStatements=TRUE
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
username: jd username: jd
password: Jd2024 password: Jd2024
......
...@@ -645,7 +645,9 @@ order.cargo.control.cancel.pick.reject=The release record of the control order i ...@@ -645,7 +645,9 @@ order.cargo.control.cancel.pick.reject=The release record of the control order i
order.cargo.control.cancel.pick.cancel=The release record of the control order has been cancelled order.cargo.control.cancel.pick.cancel=The release record of the control order has been cancelled
warehouse.in.item.quantity.required=warehouse in item quantity required warehouse.in.item.quantity.required=warehouse in item quantity required
order.line.not.exist=Order line does not exist order.line.not.exist=Order line does not exist
line.not.exist=The line does not exist
order.departure.objective.and.line.not.agreement=The order origin destination is inconsistent with the route order.departure.objective.and.line.not.agreement=The order origin destination is inconsistent with the route
offer.departure.objective.and.line.not.agreement=The offer origin destination is inconsistent with the route
transport.and.line.not.agreement=The shipping method of the order does not match the route information. Please reselect the route information transport.and.line.not.agreement=The shipping method of the order does not match the route information. Please reselect the route information
prod.brand.not.null=brand is not null or zero prod.brand.not.null=brand is not null or zero
preload.not.exist=Goods are not pre-loaded in the shipment order preload.not.exist=Goods are not pre-loaded in the shipment order
......
...@@ -651,7 +651,9 @@ order.cargo.control.cancel.pick.reject=\u63A7\u8D27\u8BA2\u5355\u5DF2\u653E\u8D2 ...@@ -651,7 +651,9 @@ order.cargo.control.cancel.pick.reject=\u63A7\u8D27\u8BA2\u5355\u5DF2\u653E\u8D2
order.cargo.control.cancel.pick.cancel=\u63A7\u8D27\u8BA2\u5355\u5DF2\u653E\u8D27\u8BB0\u5F55\u8C03\u8D27\u5BA1\u6279\u53D6\u6D88 order.cargo.control.cancel.pick.cancel=\u63A7\u8D27\u8BA2\u5355\u5DF2\u653E\u8D27\u8BB0\u5F55\u8C03\u8D27\u5BA1\u6279\u53D6\u6D88
warehouse.in.item.quantity.required=\u5165\u4ED3\u9879\u6570\u91CF\u5FC5\u586B warehouse.in.item.quantity.required=\u5165\u4ED3\u9879\u6570\u91CF\u5FC5\u586B
order.line.not.exist=\u8BA2\u5355\u7EBF\u8DEF\u4E0D\u5B58\u5728 order.line.not.exist=\u8BA2\u5355\u7EBF\u8DEF\u4E0D\u5B58\u5728
line.not.exist=\u7ebf\u8def\u4e0d\u5b58\u5728
order.departure.objective.and.line.not.agreement=\u8BA2\u5355\u59CB\u53D1\u5730\u76EE\u7684\u5730\u4E0E\u7EBF\u8DEF\u4E0D\u4E00\u81F4 order.departure.objective.and.line.not.agreement=\u8BA2\u5355\u59CB\u53D1\u5730\u76EE\u7684\u5730\u4E0E\u7EBF\u8DEF\u4E0D\u4E00\u81F4
offer.departure.objective.and.line.not.agreement=\u62a5\u4ef7\u5355\u59cb\u53d1\u5730\u76ee\u7684\u5730\u4e0e\u7ebf\u8def\u4e0d\u4e00\u81f4
transport.and.line.not.agreement=\u8BA2\u5355\u8FD0\u8F93\u65B9\u5F0F\u4E0E\u7EBF\u8DEF\u4FE1\u606F\u4E0D\u5339\u914D\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u7EBF\u8DEF\u4FE1\u606F transport.and.line.not.agreement=\u8BA2\u5355\u8FD0\u8F93\u65B9\u5F0F\u4E0E\u7EBF\u8DEF\u4FE1\u606F\u4E0D\u5339\u914D\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u7EBF\u8DEF\u4FE1\u606F
prod.brand.not.null=\u54C1\u724C\u4E0D\u80FD\u4E3A\u7A7A\u62160 prod.brand.not.null=\u54C1\u724C\u4E0D\u80FD\u4E3A\u7A7A\u62160
preload.not.exist=\u51FA\u8D27\u5355\u672A\u9884\u88C5\u8D27\u7269 preload.not.exist=\u51FA\u8D27\u5355\u672A\u9884\u88C5\u8D27\u7269
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment