diff --git a/docs/qihang-erp.sql b/docs/qihang-erp.sql index c7427bab..bf8d424c 100644 --- a/docs/qihang-erp.sql +++ b/docs/qihang-erp.sql @@ -11,7 +11,7 @@ Target Server Version : 80032 File Encoding : 65001 - Date: 13/06/2024 16:35:52 + Date: 15/06/2024 10:14:13 */ SET NAMES utf8mb4; @@ -332,7 +332,7 @@ CREATE TABLE `erp_sale_after_refund` ( `update_time` datetime(0) DEFAULT NULL COMMENT '更新时间', `update_by` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1800733684087050243 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '售后退款表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1800733684087050242 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '售后退款表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for erp_sale_order @@ -349,10 +349,12 @@ CREATE TABLE `erp_sale_order` ( `tag` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '标签', `refund_status` int(0) NOT NULL COMMENT '售后状态 1:无售后或售后关闭,2:售后处理中,3:退款中,4: 退款成功 5:全部', `order_status` int(0) NOT NULL COMMENT '订单状态1:待发货,2:已发货,3:已完成,11已取消;21待付款', - `goods_amount` double DEFAULT NULL COMMENT '商品金额', - `discount_amount` double NOT NULL COMMENT '折扣金额', - `postage` double DEFAULT NULL COMMENT '运费', - `amount` double NOT NULL COMMENT '支付金额,单位:元,支付金额=商品金额-折扣金额+邮费', + `goods_amount` double NOT NULL COMMENT '商品金额', + `seller_discount` double NOT NULL DEFAULT 0 COMMENT '商家优惠金额,单位:元', + `platform_discount` double NOT NULL DEFAULT 0 COMMENT '平台优惠金额,单位:元', + `postage` double NOT NULL COMMENT '运费', + `order_amount` double NOT NULL COMMENT '订单金额(商家实际得到的金额),单位:元,支付金额=商品金额-折扣金额+邮费+平台优惠金额', + `pay_amount` double NOT NULL COMMENT '支付金额', `receiver_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '收件人姓名', `receiver_phone` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '收件人手机号', `address` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '收件人地址', @@ -381,7 +383,7 @@ CREATE TABLE `erp_sale_order` ( PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `order_sn_index`(`order_num`) USING BTREE, INDEX `shopid_index`(`shop_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 52 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '订单表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1801197273742716930 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '订单表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for erp_sale_order_item @@ -423,7 +425,7 @@ CREATE TABLE `erp_sale_order_item` ( PRIMARY KEY (`id`) USING BTREE, INDEX `goodId_index`(`goods_id`) USING BTREE, INDEX `order_id`(`order_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1785584827112509453 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '订单明细表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1801197275089088515 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '订单明细表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for erp_ship_logistics @@ -811,7 +813,7 @@ CREATE TABLE `oms_dou_refund` ( `pull_time` datetime(0) DEFAULT NULL COMMENT '第一次拉取时间', `pull_last_time` datetime(0) DEFAULT NULL COMMENT '最后一次拉取时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1800783607092436995 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '抖店退款表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1800783607092436994 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '抖店退款表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for oms_jd_after_sale @@ -1258,7 +1260,7 @@ CREATE TABLE `oms_tao_goods` ( `erp_supplier_id` bigint(0) DEFAULT NULL COMMENT 'erp系统供应商ID', `create_time` datetime(0) DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1800363757383634947 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '淘宝商品表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1800363757383634946 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '淘宝商品表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for oms_tao_goods_sku @@ -1285,7 +1287,7 @@ CREATE TABLE `oms_tao_goods_sku` ( `shop_id` bigint(0) DEFAULT NULL COMMENT '店铺id', `create_time` datetime(0) DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1800370800777670659 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '淘宝商品SKU表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1800370800777670658 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '淘宝商品SKU表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for oms_tao_order @@ -1307,20 +1309,20 @@ CREATE TABLE `oms_tao_order` ( `buyer_nick` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT '' COMMENT '买家昵称', `num_iid` varchar(55) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品数字编号', `num` int(0) DEFAULT NULL COMMENT '商品购买数量。取值范围:大于零的整数,对于一个trade对应多个order的时候(一笔主订单,对应多笔子订单),num=0,num是一个跟商品关联的属性,一笔订单对应多比子订单的时候,主订单上的num无意义。', - `price` float DEFAULT NULL COMMENT '商品价格。精确到2位小数;单位:元。如:200.07,表示:200元7分', - `total_fee` float DEFAULT NULL COMMENT '商品金额(商品价格乘以数量的总金额)。精确到2位小数;单位:元。如:200.07,表示:200元7分', - `adjust_fee` float DEFAULT NULL COMMENT '卖家手工调整金额,精确到2位小数,单位:元。如:200.07', + `price` decimal(10, 2) DEFAULT NULL COMMENT '商品价格。精确到2位小数;单位:元。如:200.07,表示:200元7分', + `total_fee` decimal(10, 2) DEFAULT NULL COMMENT '商品金额(商品价格乘以数量的总金额)。精确到2位小数;单位:元。如:200.07,表示:200元7分', + `adjust_fee` decimal(10, 2) DEFAULT NULL COMMENT '卖家手工调整金额,精确到2位小数,单位:元。如:200.07', `post_fee` decimal(5, 2) NOT NULL DEFAULT 0.00 COMMENT '邮费', `discount_fee` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '优惠金额', `payment` decimal(10, 2) NOT NULL COMMENT '实付金额', `received_payment` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '卖家实际收到的支付宝打款金额(由于子订单可以部分确认收货,这个金额会随着子订单的确认收货而不断增加,交易成功后等于买家实付款减去退款金额)。精确到2位小数;单位:元。如:200.07,表示:200元7分', - `available_confirm_fee` float DEFAULT NULL COMMENT '交易中剩余的确认收货金额(这个金额会随着子订单确认收货而不断减少,交易成功后会变为零)。精确到2位小数;单位:元。如:200.07,表示:200 元7分', - `cod_fee` float DEFAULT NULL COMMENT '货到付款服务费。', + `available_confirm_fee` decimal(10, 2) DEFAULT NULL COMMENT '交易中剩余的确认收货金额(这个金额会随着子订单确认收货而不断减少,交易成功后会变为零)。精确到2位小数;单位:元。如:200.07,表示:200 元7分', + `cod_fee` decimal(10, 2) DEFAULT NULL COMMENT '货到付款服务费。', `cod_status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '货到付款物流状态。初始状态 NEW_CREATED,接单成功 ACCEPTED_BY_COMPANY,接单失败 REJECTED_BY_COMPANY,接单超时 RECIEVE_TIMEOUT,揽收成功 TAKEN_IN_SUCCESS,揽收失败 TAKEN_IN_FAILED,揽收超时 TAKEN_TIMEOUT,签收成功 SIGN_IN,签收失败 REJECTED_BY_OTHER_SIDE,订单等待发送给物流公司 WAITING_TO_BE_SENT,用户取消物流订单 CANCELED', `buyer_cod_fee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '买家货到付款服务费', `seller_cod_fee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '卖家货到付款服务费', `express_agency_fee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '快递代收款。', - `commission_fee` float DEFAULT NULL COMMENT '交易佣金。', + `commission_fee` decimal(10, 2) DEFAULT NULL COMMENT '交易佣金。', `shipping_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建交易时的物流方式(交易完成前,物流方式有可能改变,但系统里的这个字段一直不变)。可选值:free(卖家包邮),post(平邮),express(快递),ems(EMS),virtual(虚拟发货),25(次日必达),26(预约配送)。', `created` datetime(0) NOT NULL COMMENT '交易创建时间。格式:yyyy-MM-dd HH:mm:ss', `modified` datetime(0) DEFAULT NULL COMMENT '交易修改时间(用户对订单的任何修改都会更新此字段)。格式:yyyy-MM-dd HH:mm:ss', @@ -1375,7 +1377,7 @@ CREATE TABLE `oms_tao_order` ( `audit_status` int(0) DEFAULT NULL COMMENT '订单审核状态(0待审核1已审核)', `audit_time` datetime(0) DEFAULT NULL COMMENT '订单审核时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1801145793522417666 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '淘宝订单表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1801155298566070275 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '淘宝订单表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for oms_tao_order_item @@ -1422,7 +1424,7 @@ CREATE TABLE `oms_tao_order_item` ( `refund_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '最近退款ID', `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1801145793685995522 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '淘宝订单明细表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1801155298620596227 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '淘宝订单明细表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for oms_tao_order_promotion @@ -1493,7 +1495,7 @@ CREATE TABLE `oms_tao_refund` ( `pull_status` int(0) DEFAULT NULL COMMENT '推送状态(0未推送;1推送成功;2推送失败)', `pull_time` datetime(0) DEFAULT NULL COMMENT '订单审核时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1800733684028329987 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '淘宝退款表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1800733684028329986 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '淘宝退款表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for oms_wei_goods @@ -2292,7 +2294,7 @@ CREATE TABLE `sys_logininfor` ( PRIMARY KEY (`info_id`) USING BTREE, INDEX `idx_sys_logininfor_s`(`status`) USING BTREE, INDEX `idx_sys_logininfor_lt`(`login_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 303 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 302 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for sys_menu @@ -2348,7 +2350,7 @@ CREATE TABLE `sys_oper_log` ( INDEX `idx_sys_oper_log_bt`(`business_type`) USING BTREE, INDEX `idx_sys_oper_log_s`(`status`) USING BTREE, INDEX `idx_sys_oper_log_ot`(`oper_time`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 453 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 452 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for sys_oss diff --git a/oms-api/src/main/java/com/qihang/oms/domain/ErpSaleOrder.java b/oms-api/src/main/java/com/qihang/oms/domain/ErpSaleOrder.java index 5d9f959f..fc5c21d3 100644 --- a/oms-api/src/main/java/com/qihang/oms/domain/ErpSaleOrder.java +++ b/oms-api/src/main/java/com/qihang/oms/domain/ErpSaleOrder.java @@ -66,9 +66,13 @@ public class ErpSaleOrder implements Serializable { private Double goodsAmount; /** - * 折扣金额 + * 卖家优惠金额 */ - private Double discountAmount; + private Double sellerDiscount; + /** + * 卖家优惠金额 + */ + private Double platformDiscount; /** * 运费 @@ -76,9 +80,13 @@ public class ErpSaleOrder implements Serializable { private Double postage; /** - * 支付金额,单位:元,支付金额=商品金额-折扣金额+邮费 + * 订单金额 */ - private Double amount; + private Double orderAmount; + /** + * 支付金额,单位:元 + */ + private Double payAmount; /** * 收件人姓名 diff --git a/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiGoodsSku.java b/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiGoodsSku.java new file mode 100644 index 00000000..0130daf4 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiGoodsSku.java @@ -0,0 +1,93 @@ +package com.qihang.oms.domain; + +import java.io.Serializable; +import lombok.Data; + +/** + * + * @TableName oms_wei_goods_sku + */ +@Data +public class OmsWeiGoodsSku implements Serializable { + /** + * + */ + private Long id; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 产品id + */ + private String productId; + + /** + * skuID + */ + private String skuId; + + /** + * 商家自定义skuID。如果添加时没录入,回包可能不包含该字段 + */ + private String outSkuId; + + /** + * 商品标题 + */ + private String title; + + /** + * sku小图 + */ + private String thumbImg; + + /** + * 售卖价格,以分为单位 + */ + private Integer salePrice; + + /** + * sku库存 + */ + private Integer stockNum; + + /** + * sku编码 + */ + private String skuCode; + + /** + * sku状态 + */ + private Integer status; + + /** + * sku属性 + */ + private String skuAttr; + + /** + * sku_attrs + */ + private String skuAttrs; + + /** + * sku_deliver_info + */ + private String skuDeliverInfo; + + /** + * erp系统商品id + */ + private Long erpGoodsId; + + /** + * erp系统商品skuid + */ + private Long erpGoodsSkuId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiOrder.java b/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiOrder.java new file mode 100644 index 00000000..6d3236a6 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiOrder.java @@ -0,0 +1,176 @@ +package com.qihang.oms.domain; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * + * @TableName oms_wei_order + */ +@Data +public class OmsWeiOrder implements Serializable { + /** + * + */ + private Long id; + + /** + * 店铺id + */ + private Integer shopId; + + /** + * 订单号 + */ + private String orderId; + + /** + * 买家身份标识 + */ + private String openid; + + /** + * 秒级时间戳 + */ + private Integer createTime; + + /** + * 秒级时间戳 + */ + private Integer updateTime; + + /** + * + */ + private String unionid; + + /** + * 状态10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消; + */ + private Integer status; + + /** + * 售后信息json + */ + private String aftersaleDetail; + + /** + * 支付信息json + */ + private String payInfo; + + /** + * 商品总价,单位为分 + */ + private Integer productPrice; + + /** + * 订单金额,单位为分,order_price=original_order_price-discounted_price-deduction_price-change_down_price + */ + private Integer orderPrice; + + /** + * 运费,单位为分 + */ + private Integer freight; + + /** + * 优惠券优惠金额,单位为分 + */ + private Integer discountedPrice; + + /** + * 收货人姓名 + */ + private String userName; + + /** + * 邮编 + */ + private String postalCode; + + /** + * 省份 + */ + private String provinceName; + + /** + * 城市 + */ + private String cityName; + + /** + * 区 + */ + private String countyName; + + /** + * 详细地址 + */ + private String detailInfo; + + /** + * 联系方式 + + */ + private String telNumber; + + /** + * 门牌号码 + */ + private String houseNumber; + + /** + * 虚拟发货订单联系方式(deliver_method=1时返回) + */ + private String virtualOrderTelNumber; + + /** + * 额外的联系方式信息(虚拟号码相关) + */ + private String telNumberExtInfo; + + /** + * 0:不使用虚拟号码,1:使用虚拟号码 + */ + private Integer useTelNumber; + + /** + * 标识当前店铺下一个唯一的用户收货地址 + */ + private String hashCode; + + /** + * 发货物流信息JSON + */ + private String deliveryProductInfo; + + /** + * 发货完成时间,秒级时间戳 + */ + private Integer shipDoneTime; + + /** + * 电子面单代发时的订单密文 + + */ + private String ewaybillOrderCode; + + /** + * 结算信息json + */ + private String settleInfo; + + /** + * 订单审核状态(0待审核1已审核) + */ + private Integer auditStatus; + + /** + * 订单审核时间 + */ + private Date auditTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiOrderItem.java b/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiOrderItem.java new file mode 100644 index 00000000..18cd41e4 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/domain/OmsWeiOrderItem.java @@ -0,0 +1,150 @@ +package com.qihang.oms.domain; + +import java.io.Serializable; +import lombok.Data; + +/** + * + * @TableName oms_wei_order_item + */ +@Data +public class OmsWeiOrderItem implements Serializable { + /** + * + */ + private Long id; + + /** + * 店铺id + */ + private Long shopId; + + /** + * 订单id(平台订单id) + */ + private String orderId; + + /** + * 商品spuid + */ + private String productId; + + /** + * 商品skuid + + */ + private String skuId; + + /** + * sku小图 + */ + private String thumbImg; + + /** + * sku数量 + */ + private Integer skuCnt; + + /** + * 售卖单价(单位:分) + */ + private Integer salePrice; + + /** + * 商品标题 + */ + private String title; + + /** + * 正在售后/退款流程中的 sku 数量 + */ + private Integer onAftersaleSkuCnt; + + /** + * 完成售后/退款的 sku 数量 + */ + private Integer finishAftersaleSkuCnt; + + /** + * 商品编码 + */ + private String skuCode; + + /** + * 市场单价(单位:分) + */ + private Integer marketPrice; + + /** + * sku属性JSON + */ + private String skuAttrs; + + /** + * sku实付总价,取estimate_price和change_price中较小值 + */ + private Integer realPrice; + + /** + * 商品外部spuid + */ + private String outProductId; + + /** + * 商品外部skuid + */ + private String outSkuId; + + /** + * 是否有优惠金额,非必填,默认为false + */ + private String isDiscounted; + + /** + * 优惠后sku总价,非必填,is_discounted为true时有值 + */ + private Integer estimatePrice; + + /** + * 是否修改过价格,非必填,默认为false + */ + private String isChangePrice; + + /** + * 改价后sku总价,非必填,is_change_price为true时有值 + */ + private Integer changePrice; + + /** + * 区域库存id + */ + private String outWarehouseId; + + /** + * 商品发货信息JSON + */ + private String skuDeliverInfo; + + /** + * 商品额外服务信息JSON + */ + private String extraService; + + /** + * 是否使用了会员积分抵扣 + + */ + private String useDeduction; + + /** + * 会员积分抵扣金额,单位为分 + */ + private Integer deductionPrice; + + /** + * 商品优惠券信息,逐步替换 order.order_detail.coupon_info + */ + private String orderProductCouponInfoList; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiGoodsSkuMapper.java b/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiGoodsSkuMapper.java new file mode 100644 index 00000000..29fe56fb --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiGoodsSkuMapper.java @@ -0,0 +1,18 @@ +package com.qihang.oms.mapper; + +import com.qihang.oms.domain.OmsWeiGoodsSku; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_wei_goods_sku】的数据库操作Mapper +* @createDate 2024-06-14 20:09:43 +* @Entity com.qihang.oms.domain.OmsWeiGoodsSku +*/ +public interface OmsWeiGoodsSkuMapper extends BaseMapper { + +} + + + + diff --git a/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiOrderItemMapper.java b/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiOrderItemMapper.java new file mode 100644 index 00000000..73cbff28 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiOrderItemMapper.java @@ -0,0 +1,18 @@ +package com.qihang.oms.mapper; + +import com.qihang.oms.domain.OmsWeiOrderItem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_wei_order_item】的数据库操作Mapper +* @createDate 2024-06-14 20:09:43 +* @Entity com.qihang.oms.domain.OmsWeiOrderItem +*/ +public interface OmsWeiOrderItemMapper extends BaseMapper { + +} + + + + diff --git a/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiOrderMapper.java b/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiOrderMapper.java new file mode 100644 index 00000000..6baf1650 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/mapper/OmsWeiOrderMapper.java @@ -0,0 +1,18 @@ +package com.qihang.oms.mapper; + +import com.qihang.oms.domain.OmsWeiOrder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_wei_order】的数据库操作Mapper +* @createDate 2024-06-14 20:09:43 +* @Entity com.qihang.oms.domain.OmsWeiOrder +*/ +public interface OmsWeiOrderMapper extends BaseMapper { + +} + + + + diff --git a/oms-api/src/main/java/com/qihang/oms/mq/KafkaMQConsumer.java b/oms-api/src/main/java/com/qihang/oms/mq/KafkaMQConsumer.java index 58eb6159..8e0b7768 100644 --- a/oms-api/src/main/java/com/qihang/oms/mq/KafkaMQConsumer.java +++ b/oms-api/src/main/java/com/qihang/oms/mq/KafkaMQConsumer.java @@ -45,7 +45,7 @@ public class KafkaMQConsumer { orderService.douOrderMessage(vo.getKeyId()); } else if(vo.getShopType().getIndex() == EnumShopType.WEI.getIndex()) { logger.info("Kafka订单消息WEI"+vo.getKeyId()); -// orderService.weiOrderMessage(vo.getKeyId()); + orderService.weiOrderMessage(vo.getKeyId()); } } diff --git a/oms-api/src/main/java/com/qihang/oms/service/ErpSaleOrderService.java b/oms-api/src/main/java/com/qihang/oms/service/ErpSaleOrderService.java index c9357f2b..54c3eefe 100644 --- a/oms-api/src/main/java/com/qihang/oms/service/ErpSaleOrderService.java +++ b/oms-api/src/main/java/com/qihang/oms/service/ErpSaleOrderService.java @@ -18,6 +18,7 @@ public interface ErpSaleOrderService extends IService { ResultVo taoOrderMessage(String orderId); ResultVo pddOrderMessage(String orderId); ResultVo douOrderMessage(String orderId); + ResultVo weiOrderMessage(String orderId); List getList(ErpSaleOrder order); PageResult queryPageList(ErpSaleOrder bo, PageQuery pageQuery); diff --git a/oms-api/src/main/java/com/qihang/oms/service/OmsWeiGoodsSkuService.java b/oms-api/src/main/java/com/qihang/oms/service/OmsWeiGoodsSkuService.java new file mode 100644 index 00000000..25798b0c --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/service/OmsWeiGoodsSkuService.java @@ -0,0 +1,13 @@ +package com.qihang.oms.service; + +import com.qihang.oms.domain.OmsWeiGoodsSku; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author TW +* @description 针对表【oms_wei_goods_sku】的数据库操作Service +* @createDate 2024-06-14 20:09:43 +*/ +public interface OmsWeiGoodsSkuService extends IService { + +} diff --git a/oms-api/src/main/java/com/qihang/oms/service/OmsWeiOrderItemService.java b/oms-api/src/main/java/com/qihang/oms/service/OmsWeiOrderItemService.java new file mode 100644 index 00000000..61325c92 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/service/OmsWeiOrderItemService.java @@ -0,0 +1,13 @@ +package com.qihang.oms.service; + +import com.qihang.oms.domain.OmsWeiOrderItem; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author TW +* @description 针对表【oms_wei_order_item】的数据库操作Service +* @createDate 2024-06-14 20:09:43 +*/ +public interface OmsWeiOrderItemService extends IService { + +} diff --git a/oms-api/src/main/java/com/qihang/oms/service/OmsWeiOrderService.java b/oms-api/src/main/java/com/qihang/oms/service/OmsWeiOrderService.java new file mode 100644 index 00000000..c767fb49 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/service/OmsWeiOrderService.java @@ -0,0 +1,13 @@ +package com.qihang.oms.service; + +import com.qihang.oms.domain.OmsWeiOrder; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author TW +* @description 针对表【oms_wei_order】的数据库操作Service +* @createDate 2024-06-14 20:09:43 +*/ +public interface OmsWeiOrderService extends IService { + +} diff --git a/oms-api/src/main/java/com/qihang/oms/service/impl/ErpSaleOrderServiceImpl.java b/oms-api/src/main/java/com/qihang/oms/service/impl/ErpSaleOrderServiceImpl.java index 7c5f0729..dbd5960f 100644 --- a/oms-api/src/main/java/com/qihang/oms/service/impl/ErpSaleOrderServiceImpl.java +++ b/oms-api/src/main/java/com/qihang/oms/service/impl/ErpSaleOrderServiceImpl.java @@ -20,6 +20,8 @@ import lombok.extern.java.Log; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -48,6 +50,10 @@ public class ErpSaleOrderServiceImpl extends ServiceImpl weiOrderMessage(String orderId) { + log.info("Wei订单消息处理"+orderId); + List originOrders = weiOrderMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiOrder::getOrderId, orderId)); + + if(originOrders == null || originOrders.size() == 0) { + // 没有找到订单信息 + return ResultVo.error(ResultVoEnum.NotFound,"没有找到WEI原始订单:"+orderId); + } + OmsWeiOrder originOrder = originOrders.get(0); + + List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(ErpSaleOrder::getOrderNum, orderId)); +// List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, orderId)); + if(oOrders == null || oOrders.isEmpty()) { + // 新增订单 + ErpSaleOrder insert = new ErpSaleOrder(); + insert.setOrderNum(originOrder.getOrderId()); + insert.setShopType(EnumShopType.WEI.getIndex()); + insert.setShopId(originOrder.getShopId()); + insert.setBuyerMemo(""); + insert.setSellerMemo(""); + // 状态 订单状态0:新订单,1:待发货,2:已发货,3:已完成,11已取消;12退款中;21待付款;22锁定,29删除,101部分发货 + Integer orderStatus = null; + Integer refundStatus = null; + //状态 10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消; + if(originOrder.getStatus() == 10){ + orderStatus = 21; + refundStatus = 1; + } else if (originOrder.getStatus() == 20 || originOrder.getStatus() == 21) { + orderStatus = 1; + refundStatus = 1; + } else if (originOrder.getStatus() == 30) { + orderStatus = 2; + refundStatus = 1; + } else if (originOrder.getStatus() == 100) { + orderStatus = 3; + refundStatus = 1; + }else if (originOrder.getStatus() == 200 || originOrder.getStatus() == 250) { + orderStatus = 11; + refundStatus = 4; + } + + insert.setRefundStatus(refundStatus); + insert.setOrderStatus(orderStatus); + + insert.setGoodsAmount(originOrder.getProductPrice()!=null?originOrder.getProductPrice().doubleValue()/100:0.0); + insert.setPostage(originOrder.getFreight()!=null?originOrder.getFreight().doubleValue()/100:0.0); + insert.setSellerDiscount(originOrder.getDiscountedPrice()!=null?originOrder.getDiscountedPrice().doubleValue()/100:0.0); + insert.setPlatformDiscount(0.0); + insert.setOrderAmount(originOrder.getOrderPrice()!=null?originOrder.getOrderPrice().doubleValue()/100:0.0); + insert.setPayAmount(originOrder.getOrderPrice()!=null?originOrder.getOrderPrice().doubleValue()/100:0.0); + + insert.setReceiverName(originOrder.getUserName()); + insert.setReceiverPhone(originOrder.getTelNumber()); + insert.setAddress(originOrder.getDetailInfo()); + insert.setProvince(originOrder.getProvinceName()); + insert.setCity(originOrder.getCityName()); + insert.setTown(originOrder.getCountyName()); + long time = originOrder.getCreateTime().longValue() * 1000; + insert.setOrderTime(new Date(time)); + insert.setShipType(0); + insert.setShipStatus(0); + insert.setCreateTime(new Date()); + insert.setCreateBy("ORDER_MESSAGE"); + + orderMapper.insert(insert); + // 插入orderItem + addWeiOrderItem(insert.getId(),originOrder.getOrderId(),originOrder.getShopId(),orderStatus,refundStatus); + } else{ + // 修改订单 (修改:) + ErpSaleOrder update = new ErpSaleOrder(); + update.setId(oOrders.get(0).getId()); + // 状态 订单状态0:新订单,1:待发货,2:已发货,3:已完成,11已取消;12退款中;21待付款;22锁定,29删除,101部分发货 + Integer orderStatus = null; + Integer refundStatus = null; + //状态 10 待付款;20 待发货;21 部分发货;30 待收货;100 完成;200 全部商品售后之后,订单取消;250 未付款用户主动取消或超时未付款订单自动取消; + if(originOrder.getStatus() == 10){ + orderStatus = 21; + refundStatus = 1; + } else if (originOrder.getStatus() == 20 || originOrder.getStatus() == 21) { + orderStatus = 1; + refundStatus = 1; + } else if (originOrder.getStatus() == 30) { + orderStatus = 2; + refundStatus = 1; + } else if (originOrder.getStatus() == 100) { + orderStatus = 3; + refundStatus = 1; + }else if (originOrder.getStatus() == 200 || originOrder.getStatus() == 250) { + orderStatus = 11; + refundStatus = 4; + } + + update.setRefundStatus(refundStatus); + update.setOrderStatus(orderStatus); +// long time = originOrder.getCreateTime().longValue() * 1000; +// update.setOrderTime(new Date(time)); +// update.setGoodsAmount(originOrder.getOrderAmount().doubleValue()/100); +// update.setPostFee(originOrder.getPostAmount().doubleValue()/100); +// update.setAmount(originOrder.getOrderAmount().doubleValue()/100); +// update.setPayment(originOrder.getPayAmount().doubleValue()/100); + update.setReceiverName(originOrder.getUserName()); + update.setReceiverPhone(originOrder.getTelNumber()); + update.setAddress(originOrder.getDetailInfo()); + update.setUpdateTime(new Date()); + update.setUpdateBy("ORDER_MESSAGE"); + orderMapper.updateById(update); + + // 删除orderItem + orderItemMapper.delete(new LambdaQueryWrapper().eq(ErpSaleOrderItem::getOrderId,update.getId())); + // 插入orderItem + addWeiOrderItem(update.getId(),originOrder.getOrderId(),update.getShopId(),orderStatus,refundStatus); + } + return ResultVo.success(); + } + + private void addWeiOrderItem(String oOrderId,String originOrderId,Integer shopId,Integer orderStatus,Integer refundStatus){ + List originOrderItems = weiOrderItemMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiOrderItem::getOrderId, originOrderId)); + if(originOrderItems!=null && originOrderItems.size()>0) { + for (var item : originOrderItems) { +// OOrderItem orderItem = new OOrderItem(); +// orderItem.setOrderId(oOrderId); +// orderItem.setOrderNum(item.getParentOrderId()); +// orderItem.setSubOrderNum(item.getOrderId()); + ErpSaleOrderItem orderItem = new ErpSaleOrderItem(); + orderItem.setOrderId(Long.parseLong(oOrderId)); + orderItem.setOriginalOrderId(item.getOrderId()); + orderItem.setOriginalOrderItemId(item.getId().toString()); + orderItem.setOriginalSkuId(item.getSkuId().toString()); + orderItem.setShopId(shopId); + orderItem.setShipStatus(0); + // 这里将订单商品skuid转换成erp系统的skuid + Long erpGoodsId = 0L; + Long erpSkuId = 0L; + String skuAttr = ""; + List weiGoodsSkuList = weiGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiGoodsSku::getSkuId,item.getSkuId())); + if (weiGoodsSkuList != null && weiGoodsSkuList.size()>0) { + erpGoodsId = weiGoodsSkuList.get(0).getErpGoodsId(); + erpSkuId = weiGoodsSkuList.get(0).getErpGoodsSkuId(); + skuAttr = weiGoodsSkuList.get(0).getSkuAttr(); +// orderItem.setGoodsImg(taoGoodsSku.get(0).getLogo()); +// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName()); +// orderItem.setSkuNum(taoGoodsSku.get(0).getOuterId()); + } + + orderItem.setGoodsId(erpGoodsId); + orderItem.setSpecId(erpSkuId); + orderItem.setGoodsImg(item.getThumbImg()); + orderItem.setGoodsSpec(org.springframework.util.StringUtils.hasText(skuAttr)?skuAttr:item.getSkuAttrs()); + + orderItem.setGoodsTitle(item.getTitle()); + orderItem.setGoodsPrice(item.getSalePrice()!=null?item.getSalePrice().doubleValue()/100:0.0); + orderItem.setItemAmount(item.getSalePrice()!=null?item.getSalePrice().doubleValue()/100:0.0); + orderItem.setQuantity(item.getSkuCnt()); + orderItem.setOrderStatus(orderStatus); + orderItem.setRefundStatus(refundStatus); + orderItem.setRefundCount(0); + orderItem.setCreateTime(new Date()); + orderItem.setCreateBy("ORDER_MESSAGE"); + orderItemMapper.insert(orderItem); + } + } + } + @Override public List getList(ErpSaleOrder order) { return orderMapper.selectList(new LambdaQueryWrapper<>()); diff --git a/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiGoodsSkuServiceImpl.java b/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiGoodsSkuServiceImpl.java new file mode 100644 index 00000000..045315d1 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiGoodsSkuServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.oms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.oms.domain.OmsWeiGoodsSku; +import com.qihang.oms.service.OmsWeiGoodsSkuService; +import com.qihang.oms.mapper.OmsWeiGoodsSkuMapper; +import org.springframework.stereotype.Service; + +/** +* @author TW +* @description 针对表【oms_wei_goods_sku】的数据库操作Service实现 +* @createDate 2024-06-14 20:09:43 +*/ +@Service +public class OmsWeiGoodsSkuServiceImpl extends ServiceImpl + implements OmsWeiGoodsSkuService{ + +} + + + + diff --git a/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiOrderItemServiceImpl.java b/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiOrderItemServiceImpl.java new file mode 100644 index 00000000..66630260 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiOrderItemServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.oms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.oms.domain.OmsWeiOrderItem; +import com.qihang.oms.service.OmsWeiOrderItemService; +import com.qihang.oms.mapper.OmsWeiOrderItemMapper; +import org.springframework.stereotype.Service; + +/** +* @author TW +* @description 针对表【oms_wei_order_item】的数据库操作Service实现 +* @createDate 2024-06-14 20:09:43 +*/ +@Service +public class OmsWeiOrderItemServiceImpl extends ServiceImpl + implements OmsWeiOrderItemService{ + +} + + + + diff --git a/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiOrderServiceImpl.java b/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiOrderServiceImpl.java new file mode 100644 index 00000000..ae52fa00 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/service/impl/OmsWeiOrderServiceImpl.java @@ -0,0 +1,22 @@ +package com.qihang.oms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.oms.domain.OmsWeiOrder; +import com.qihang.oms.service.OmsWeiOrderService; +import com.qihang.oms.mapper.OmsWeiOrderMapper; +import org.springframework.stereotype.Service; + +/** +* @author TW +* @description 针对表【oms_wei_order】的数据库操作Service实现 +* @createDate 2024-06-14 20:09:43 +*/ +@Service +public class OmsWeiOrderServiceImpl extends ServiceImpl + implements OmsWeiOrderService{ + +} + + + + diff --git a/oms-api/src/main/resources/mapper/ErpSaleOrderMapper.xml b/oms-api/src/main/resources/mapper/ErpSaleOrderMapper.xml index 3511afae..f2752876 100644 --- a/oms-api/src/main/resources/mapper/ErpSaleOrderMapper.xml +++ b/oms-api/src/main/resources/mapper/ErpSaleOrderMapper.xml @@ -16,9 +16,11 @@ - + + - + + @@ -50,8 +52,8 @@ id,order_num,shop_type, shop_id,remark,buyer_memo,seller_memo, tag,refund_status,order_status, - goods_amount,discount_amount,postage, - amount,receiver_name,receiver_phone, + goods_amount,seller_discount,platform_discount,postage, + order_amount,pay_amount,receiver_name,receiver_phone, address,country,province, city,town,order_time, pay_time,confirm_time,ship_type, diff --git a/oms-api/src/main/resources/mapper/OmsWeiGoodsSkuMapper.xml b/oms-api/src/main/resources/mapper/OmsWeiGoodsSkuMapper.xml new file mode 100644 index 00000000..54329c5c --- /dev/null +++ b/oms-api/src/main/resources/mapper/OmsWeiGoodsSkuMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,product_id, + sku_id,out_sku_id,title, + thumb_img,sale_price,stock_num, + sku_code,status,sku_attr, + sku_attrs,sku_deliver_info,erp_goods_id, + erp_goods_sku_id + + diff --git a/oms-api/src/main/resources/mapper/OmsWeiOrderItemMapper.xml b/oms-api/src/main/resources/mapper/OmsWeiOrderItemMapper.xml new file mode 100644 index 00000000..0fb02f96 --- /dev/null +++ b/oms-api/src/main/resources/mapper/OmsWeiOrderItemMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,order_id, + product_id,sku_id,thumb_img, + sku_cnt,sale_price,title, + on_aftersale_sku_cnt,finish_aftersale_sku_cnt,sku_code, + market_price,sku_attrs,real_price, + out_product_id,out_sku_id,is_discounted, + estimate_price,is_change_price,change_price, + out_warehouse_id,sku_deliver_info,extra_service, + use_deduction,deduction_price,order_product_coupon_info_list + + diff --git a/oms-api/src/main/resources/mapper/OmsWeiOrderMapper.xml b/oms-api/src/main/resources/mapper/OmsWeiOrderMapper.xml new file mode 100644 index 00000000..b2093b74 --- /dev/null +++ b/oms-api/src/main/resources/mapper/OmsWeiOrderMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,order_id, + openid,create_time,update_time, + unionid,status,aftersale_detail, + pay_info,product_price,order_price, + freight,discounted_price,user_name, + postal_code,province_name,city_name, + county_name,detail_info,tel_number, + house_number,virtual_order_tel_number,tel_number_ext_info, + use_tel_number,hash_code,delivery_product_info, + ship_done_time,ewaybill_order_code,settle_info, + audit_status,audit_time + + diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderApiController.java b/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderApiController.java index 1640d288..9020f343 100644 --- a/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderApiController.java +++ b/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderApiController.java @@ -26,6 +26,7 @@ import lombok.AllArgsConstructor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; +import org.springframework.kafka.core.KafkaTemplate; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -51,6 +52,7 @@ public class OrderApiController { // private final MqUtils mqUtils; private final SShopPullLogsService pullLogsService; private final SShopPullLasttimeService pullLasttimeService; + private final KafkaTemplate kafkaTemplate; /** * 增量更新订单 * @param req @@ -170,11 +172,13 @@ public class OrderApiController { if (result.getCode() == ResultVoEnum.DataExist.getIndex()) { //已经存在 log.info("/**************主动更新dou订单:开始更新数据库:" + douOrder.getOrderId() + "存在、更新************开始通知****/"); + kafkaTemplate.send(MqType.ORDER_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.DOU, MqType.ORDER_MESSAGE,douOrder.getOrderId()))); // mqUtils.sendApiMessage(MqMessage.build(EnumShopType.DOU, MqType.ORDER_MESSAGE,douOrder.getOrderId())); hasExistOrder++; } else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) { log.info("/**************主动更新dou订单:开始更新数据库:" + douOrder.getOrderId() + "不存在、新增************开始通知****/"); // mqUtils.sendApiMessage(MqMessage.build(EnumShopType.DOU,MqType.ORDER_MESSAGE,douOrder.getOrderId())); + kafkaTemplate.send(MqType.ORDER_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.DOU, MqType.ORDER_MESSAGE,douOrder.getOrderId()))); insertSuccess++; } else { log.info("/**************主动更新dou订单:开始更新数据库:" + douOrder.getOrderId() + "报错****************/"); diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderContoller.java b/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderContoller.java index e935642e..769ad0be 100644 --- a/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderContoller.java +++ b/open-api/dou-api/src/main/java/com/qihang/dou/controller/OrderContoller.java @@ -49,7 +49,7 @@ public class OrderContoller extends BaseController { // TODO:需要优化消息格式 if(bo!=null && bo.getIds()!=null) { for(String id: bo.getIds()) { - kafkaTemplate.send(MqType.ORDER_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.PDD, MqType.ORDER_MESSAGE,id))); + kafkaTemplate.send(MqType.ORDER_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.DOU, MqType.ORDER_MESSAGE,id))); // mqUtils.sendApiMessage(MqMessage.build(EnumShopType.PDD, MqType.ORDER_MESSAGE, id)); } } diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrder.java b/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrder.java index 4c050647..a343c2b8 100644 --- a/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrder.java +++ b/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrder.java @@ -1,12 +1,12 @@ package com.qihang.dou.domain; +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + import java.io.Serializable; import java.util.Date; import java.util.List; -import com.baomidou.mybatisplus.annotation.TableField; -import lombok.Data; - /** * 抖店订单表 * @TableName oms_dou_order @@ -184,9 +184,6 @@ public class OmsDouOrder implements Serializable { */ private String encryptPostTel; - /** - * 收件地址 - */ private String encryptPostAddress; /** @@ -408,16 +405,9 @@ public class OmsDouOrder implements Serializable { * 最后一次拉取时间 */ private Date lastPullTime; - - /** - * 0待确认,1已确认2已拦截-9未拉取 - */ private Integer auditStatus; - - /** - * 审核时间 - */ private Date auditTime; + @TableField(exist = false) private List items; private static final long serialVersionUID = 1L; diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrderItem.java b/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrderItem.java index 03c76d81..88ced7d0 100644 --- a/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrderItem.java +++ b/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouOrderItem.java @@ -1,8 +1,9 @@ package com.qihang.dou.domain; -import java.io.Serializable; import lombok.Data; +import java.io.Serializable; + /** * 抖店订单明细表 * @TableName oms_dou_order_item diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/bo/WeiOrderPushBo.java b/open-api/wei-api/src/main/java/com/qihang/wei/bo/WeiOrderPushBo.java new file mode 100644 index 00000000..ccdbe53c --- /dev/null +++ b/open-api/wei-api/src/main/java/com/qihang/wei/bo/WeiOrderPushBo.java @@ -0,0 +1,8 @@ +package com.qihang.wei.bo; + +import lombok.Data; + +@Data +public class WeiOrderPushBo { + private String[] ids; +} diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java index 9c48ebe3..ca8db4e5 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/controller/OrderController.java @@ -1,14 +1,19 @@ package com.qihang.wei.controller; +import com.alibaba.fastjson2.JSONObject; import com.qihang.common.common.AjaxResult; import com.qihang.common.common.PageQuery; import com.qihang.common.common.PageResult; import com.qihang.common.common.TableDataInfo; +import com.qihang.common.enums.EnumShopType; +import com.qihang.common.mq.MqMessage; +import com.qihang.common.mq.MqType; import com.qihang.security.common.BaseController; -import com.qihang.wei.bo.WeiOrderConfirmBo; +import com.qihang.wei.bo.WeiOrderPushBo; import com.qihang.wei.domain.OmsWeiOrder; import com.qihang.wei.service.OmsWeiOrderService; import lombok.AllArgsConstructor; +import org.springframework.kafka.core.KafkaTemplate; import org.springframework.web.bind.annotation.*; @AllArgsConstructor @@ -16,6 +21,7 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/order") public class OrderController extends BaseController { private final OmsWeiOrderService orderService; + private final KafkaTemplate kafkaTemplate; @RequestMapping(value = "/list", method = RequestMethod.GET) public TableDataInfo orderList(OmsWeiOrder bo, PageQuery pageQuery) { PageResult result = orderService.queryPageList(bo, pageQuery); @@ -29,29 +35,17 @@ public class OrderController extends BaseController { return success(orderService.queryDetailById(id)); } -// @PostMapping("/confirm") -// @ResponseBody -// public AjaxResult orderConfirm(@RequestBody ShopOrderConfirmBo bo) { -// if(bo!=null && bo.getIds()!=null) { -// ResultVo resultVo = orderService.orderConfirm(bo.getIds()); -// -// return success(resultVo.getData()); -// }else{ -// return AjaxResult.error("没有选择任何订单!"); -// } -// } - - @PostMapping("/confirmOrder") - public AjaxResult confirmOrder(@RequestBody WeiOrderConfirmBo bo) throws InterruptedException { - int result = orderService.confirmOrder(bo); - if(result == -1) return new AjaxResult(501,"已确认过了!请勿重复确认!"); - else if(result == -2) return new AjaxResult(502,"订单已存在!请勿重复确认!"); - else if(result == -3) return new AjaxResult(503,"请指定发货方式!"); - else if(result == -4) return new AjaxResult(504,"发货方式不支持!"); - else if(result == -11) return new AjaxResult(511,"商品SKU编码不存在!"); - else if(result == -12) return new AjaxResult(512,"商品信息不存在!"); - - - return toAjax(result); + @PostMapping("/push_oms") + @ResponseBody + public AjaxResult pushOms(@RequestBody WeiOrderPushBo bo) { + // TODO:需要优化消息格式 + if(bo!=null && bo.getIds()!=null) { + for(String id: bo.getIds()) { +// mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO, MqType.ORDER_MESSAGE, id)); + kafkaTemplate.send(MqType.ORDER_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.WEI, MqType.ORDER_MESSAGE,id))); + } + } + return success(); } + } diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java index d6e927ad..6089518c 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/domain/OmsWeiOrder.java @@ -16,7 +16,7 @@ public class OmsWeiOrder implements Serializable { /** * */ - private Long id; + private String id; /** * 店铺id diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java index f87cc9f6..29b6d631 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/OmsWeiOrderService.java @@ -16,5 +16,5 @@ public interface OmsWeiOrderService extends IService { PageResult queryPageList(OmsWeiOrder bo, PageQuery pageQuery); ResultVo saveOrder(Long shopId, OmsWeiOrder order); OmsWeiOrder queryDetailById(Long id); - int confirmOrder(WeiOrderConfirmBo bo) throws InterruptedException; + } diff --git a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java index 244e49d2..20dc2eb3 100644 --- a/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java +++ b/open-api/wei-api/src/main/java/com/qihang/wei/service/impl/OmsWeiOrderServiceImpl.java @@ -116,202 +116,6 @@ public class OmsWeiOrderServiceImpl extends ServiceImpl weiOrderItems = itemMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiOrderItem::getOrderId, original.getOrderId())); -// -// if(weiOrderItems!=null && weiOrderItems.size()>0) { -// List items = new ArrayList<>(); -// -// for (var i : weiOrderItems) { -//// if(com.qihang.common.utils.StringUtils.isEmpty(i.getSkuCode())) { -//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -//// return -11; -//// } -//// GoodsSpec spec = goodsSpecMapper.selectGoodsSpecBySpecNum(i.getSpecNumber()); -//// if (spec == null) { -//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -//// return -11; -//// } -//// Goods goods = goodsMapper.selectGoodsById(spec.getGoodsId()); -//// if(goods == null){ -//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -//// return -12; -//// } -// -// ErpOrderItem item = new ErpOrderItem(); -// item.setShipStatus(0); -//// item.setShipType(bo.getShipType()); -// item.setShopId(original.getShopId()); -// item.setOrderId(so.getId()); -// item.setOriginalOrderId(original.getOrderId()); -// item.setOriginalOrderItemId(i.getId().toString()); -// item.setOriginalSkuId(i.getSkuId()); -// -// Long erpGoodsId = 0L; -// Long erpSkuId = 0L; -// -// List weiGoodsSkus = goodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OmsWeiGoodsSku::getSkuId, i.getSkuId())); -// if (weiGoodsSkus != null && !weiGoodsSkus.isEmpty()) { -// erpGoodsId = weiGoodsSkus.get(0).getErpGoodsId(); -// erpSkuId = weiGoodsSkus.get(0).getErpGoodsSkuId(); -// } -// item.setGoodsId(erpGoodsId); -// item.setSpecId(erpSkuId); -// item.setGoodsTitle(i.getTitle()); -// item.setGoodsImg(i.getThumbImg()); -// item.setGoodsNum(i.getProductId()); -// item.setSpecNum(i.getSkuCode()); -// item.setGoodsSpec(i.getSkuAttrs()); -// item.setGoodsPrice(i.getSalePrice().doubleValue() / 100); -//// item.setGoodsPurPrice(spec.getPurPrice()); -// item.setItemAmount(i.getRealPrice().doubleValue() / 100); -// item.setQuantity(i.getSkuCnt()); -// item.setIsGift(0); -// item.setRefundCount(0); -// item.setRefundStatus(refundStatus); -// item.setOrderStatus(orderStatus); -// item.setCreateBy("确认订单"); -// item.setCreateTime(new Date()); -// items.add(item); -// } -// so.setItemList(items); -// } -//// // 添加了赠品 -////// if(taoOrder.getTaoOrderItemList()!=null && !taoOrder.getTaoOrderItemList().isEmpty()){ -////// for (var g:taoOrder.getTaoOrderItemList()) { -////// if(com.qihang.common.utils.StringUtils.isEmpty(g.getSpecNumber())) { -////// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -////// return -11; -////// } -////// GoodsSpec spec = goodsSpecMapper.selectGoodsSpecBySpecNum(g.getSpecNumber()); -////// if (spec == null) { -////// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -////// return -11; -////// } -////// Goods goods = goodsMapper.selectGoodsById(spec.getGoodsId()); -////// if(goods == null) { -////// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -////// return -12; -////// } -////// -////// ErpOrderItem item = new ErpOrderItem(); -////// item.setShipStatus(0); -////// item.setShipType(taoOrder.getShipType()); -////// item.setShopId(original.getShopId().intValue()); -////// item.setOrderId(so.getId()); -////// item.setOrderNum(original.getId()); -////// item.setOrderItemNum(original.getId()+"_"); -////// item.setSupplierId(goods.getSupplierId().intValue()); -////// item.setGoodsId(spec.getGoodsId()); -////// item.setSpecId(spec.getId()); -////// item.setGoodsTitle(g.getGoodsTitle()); -////// item.setGoodsImg(g.getProductImgUrl()); -////// item.setGoodsNum(g.getGoodsNumber()); -////// item.setSpecNum(g.getSpecNumber()); -////// item.setGoodsSpec(g.getSkuInfo()); -////// item.setGoodsPrice(g.getPrice().doubleValue()); -//////// item.setGoodsPurPrice(spec.getPurPrice()); -////// item.setItemAmount(g.getItemAmount().doubleValue()); -////// item.setQuantity(g.getQuantity().intValue()); -////// item.setIsGift(1); -////// item.setRefundCount(0); -////// item.setRefundStatus(1); -////// item.setCreateBy(taoOrder.getUpdateBy()); -////// item.setCreateTime(new Date()); -////// items.add(item); -////// } -////// } -//// erpOrderMapper.batchErpOrderItem(items); -// // 远程调用 -// MQRequest req = new MQRequest<>(); -// req.setMqRequestType(MQRequestType.ORDER_CONFIRM); -// req.setData(so); -// ApiResult s = mqClientService.confirmOrder(req); -// if(s.getResult()==ApiResultEnum.SUCCESS.getIndex()) { -// //更新自己 -// OmsWeiOrder update = new OmsWeiOrder(); -// update.setId(original.getId()); -// update.setAuditStatus(1); -// update.setAuditTime(new Date()); -// update.setUserName(bo.getUserName()); -// update.setTelNumber(bo.getTelNumber()); -// update.setDetailInfo(bo.getDetailInfo()); -// Long ut = (System.currentTimeMillis() / 1000); -// update.setUpdateTime(ut.intValue()); -// mapper.updateById(update); -// } - return 1; - } } diff --git a/vue/src/api/wei/order.js b/vue/src/api/wei/order.js index 2c5be028..437cc622 100644 --- a/vue/src/api/wei/order.js +++ b/vue/src/api/wei/order.js @@ -36,10 +36,9 @@ export function pullOrderDetail(data) { }) } - -export function confirmOrder(data) { +export function pushOms(data) { return request({ - url: '/api/wei-api/order/confirmOrder', + url: '/api/wei-api/order/push_oms', method: 'post', data: data }) diff --git a/vue/src/views/shop/dou/order/index.vue b/vue/src/views/shop/dou/order/index.vue index 22d7ca7d..d55c65ae 100644 --- a/vue/src/views/shop/dou/order/index.vue +++ b/vue/src/views/shop/dou/order/index.vue @@ -70,7 +70,7 @@ size="mini" :disabled="multiple" @click="handlePushOms" - >手动将选中订单推送到OMS + >手动推送订单 diff --git a/vue/src/views/shop/pdd/order/index.vue b/vue/src/views/shop/pdd/order/index.vue index ca153d17..06fdd9fe 100644 --- a/vue/src/views/shop/pdd/order/index.vue +++ b/vue/src/views/shop/pdd/order/index.vue @@ -72,7 +72,7 @@ size="mini" :disabled="multiple" @click="handlePushOms" - >手动将选中订单推送到OMS + >手动推送订单 diff --git a/vue/src/views/shop/wei/order/index.vue b/vue/src/views/shop/wei/order/index.vue index a2fd65ba..1cc85296 100644 --- a/vue/src/views/shop/wei/order/index.vue +++ b/vue/src/views/shop/wei/order/index.vue @@ -1,9 +1,9 @@ @@ -292,10 +282,7 @@ - + @@ -304,10 +291,7 @@