From 8daf30493cb37e2e460e4f785a8ce150c478635e Mon Sep 17 00:00:00 2001 From: Cauchy Date: Tue, 17 Oct 2023 16:27:26 +0800 Subject: [PATCH] flow --- .../book/controller/BuyOrderController.java | 80 ++++++++++--------- .../controller/BuyOrderDetailController.java | 11 ++- .../controller/ShopProductController.java | 8 +- .../controller/UserFollowUpController.java | 3 +- .../book/controller/UserRecordController.java | 2 +- .../modules/book/dao/BuyOrderDetailDao.java | 6 +- ...rDetailEntity.java => BuyOrderDetail.java} | 42 +++------- .../modules/book/entity/BuyOrderEntity.java | 2 +- .../modules/book/entity/ExpressOrder.java | 2 +- .../book/entity/ShopProductEntity.java | 2 +- .../book/service/BuyOrderDetailService.java | 6 +- .../modules/book/service/BuyOrderService.java | 10 ++- .../impl/BuyOrderDetailServiceImpl.java | 48 ++++++----- .../service/impl/BuyOrderServiceImpl.java | 24 +++--- .../service/impl/ExpressFeeServiceImpl.java | 8 +- .../service/impl/ExpressOrderServiceImpl.java | 17 ++-- .../book/vo/ExpressOrderRequestVo.java | 4 + .../modules/book/vo/ExpressUserInfoVo.java | 6 +- src/main/resources/application-dev.yml | 4 +- src/main/resources/application.yml | 2 +- .../resources/mapper/book/BuyOrderDao.xml | 4 +- .../mapper/book/BuyOrderDetailDao.xml | 4 +- .../mapper/book/ExpressCompanyDao.xml | 3 +- 23 files changed, 149 insertions(+), 149 deletions(-) rename src/main/java/com/peanut/modules/book/entity/{BuyOrderDetailEntity.java => BuyOrderDetail.java} (72%) diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index e514305f..169709f8 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -1,6 +1,5 @@ package com.peanut.modules.book.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; @@ -22,6 +21,7 @@ import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.math.BigDecimal; +import java.math.MathContext; import java.util.*; import java.util.stream.Collectors; @@ -88,11 +88,11 @@ public class BuyOrderController { @Transactional public R buySave(@RequestBody BuyOrderEntity buyOrder) throws IOException { // 获取订单详情 - List products = buyOrder.getProducts(); + List products = buyOrder.getProducts(); // 订单总金额 BigDecimal totalPrice = new BigDecimal(0); // 遍历商品总价计算 - for (BuyOrderDetailEntity buyOrderDetail : products) { + for (BuyOrderDetail buyOrderDetail : products) { Integer productId = buyOrderDetail.getProductId(); int quantity = buyOrderDetail.getQuantity(); ShopProductEntity product = shopProductService.getById(productId); @@ -103,7 +103,11 @@ public class BuyOrderController { totalPrice = totalPrice.add(price.multiply(BigDecimal.valueOf(quantity))); buyOrderDetail.setProductName(product.getProductName()); buyOrderDetail.setProductPrice(product.getPrice()); - buyOrderDetail.setAddressId(buyOrder.getAddressId()); + int originWeight = product.getWeight(); + int originWeightIntValue = originWeight / 100; + int originWeightDecimalValue = originWeightIntValue % 100; + buyOrderDetail.setWeight(BigDecimal.valueOf(originWeightIntValue).add(BigDecimal.valueOf(originWeightDecimalValue).divide(new BigDecimal(100), + MathContext.DECIMAL64))); buyOrderDetail.setProductUrl(product.getProductImages()); buyOrderDetail.setOrderStatus(Constants.ORDER_STATUS_TO_BE_PAID); } @@ -115,7 +119,7 @@ public class BuyOrderController { buyOrder.setPaymentDate(new Date()); buyOrderService.save(buyOrder); - for (BuyOrderDetailEntity buyOrderDetail : products) { + for (BuyOrderDetail buyOrderDetail : products) { buyOrderDetail.setOrderId(buyOrder.getOrderId()); buyOrderDetail.setUserId(buyOrder.getUserId()); if (Constants.BUY_TYPE_CART.equals(buyOrder.getBuyType())) { @@ -182,27 +186,27 @@ public class BuyOrderController { public R appGetOrderInfo(@PathVariable String type, @RequestParam("orderId") Integer orderId) { BuyOrderEntity buyOrder = buyOrderService.getById(orderId); buyOrder.setTimestamp(buyOrder.getCreateTime().getTime() / 1000); - List orderDetail = null; + List orderDetail = null; if ("1".equals(type)) { - orderDetail = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() + orderDetail = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() .eq("order_id", orderId)); } else { - orderDetail = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() + orderDetail = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() .eq("order_id", orderId)); } - for (BuyOrderDetailEntity buyOrderDetailEntity : orderDetail) { + for (BuyOrderDetail buyOrderDetail : orderDetail) { - ShopProductEntity prod = shopProductService.getById(buyOrderDetailEntity.getProductId()); + ShopProductEntity prod = shopProductService.getById(buyOrderDetail.getProductId()); if (prod != null) { - buyOrderDetailEntity.setImage(prod.getProductImages()); + buyOrderDetail.setImage(prod.getProductImages()); } } - List resultOrder = new ArrayList(); + List resultOrder = new ArrayList(); Set sn_no = new HashSet(); - for (BuyOrderDetailEntity buyOrderDetailEntity : orderDetail) { - resultOrder.add(buyOrderDetailEntity); - sn_no.add(buyOrderDetailEntity.getShippingSn()); + for (BuyOrderDetail buyOrderDetail : orderDetail) { + resultOrder.add(buyOrderDetail); + sn_no.add(buyOrderDetail.getExpressOrderId()); } UserRecordEntity userRecordEntity = userRecordService.getBaseMapper().selectOne(new QueryWrapper() @@ -222,22 +226,22 @@ public class BuyOrderController { /** * 及时查询快递信息 */ - @RequestMapping("/queryFMS") - public R queryFMS(@RequestParam Map params) { - List detailList = this.buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper().eq("order_id", params.get("orderId"))); - List jsonList = new ArrayList<>(); - JSONObject jsonObj = null; - for (BuyOrderDetailEntity detail : detailList) { - jsonObj = buyOrderService.queryFMS(detail.getShipperCode(), detail.getShippingSn()); - if (Objects.isNull(jsonObj)) { - return R.ok("暂未查到物流信息!"); - } - jsonObj.put("ShipperName", detail.getShipperName()); - jsonList.add(jsonObj); - - } - return R.ok().put("rntStr", jsonList); - } +// @RequestMapping("/queryFMS") +// public R queryFMS(@RequestParam Map params) { +// List detailList = this.buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper().eq("order_id", params.get("orderId"))); +// List jsonList = new ArrayList<>(); +// JSONObject jsonObj = null; +// for (BuyOrderDetailEntity detail : detailList) { +// jsonObj = buyOrderService.queryFMS(detail.getShipperCode(), detail.getShippingSn()); +// if (Objects.isNull(jsonObj)) { +// return R.ok("暂未查到物流信息!"); +// } +// jsonObj.put("ShipperName", detail.getShipperName()); +// jsonList.add(jsonObj); +// +// } +// return R.ok().put("rntStr", jsonList); +// } /** * 检查可合并的订单信息 @@ -267,14 +271,14 @@ public class BuyOrderController { * * @param expressCompanyCode 快递公司编码 * @param userAddressId 用户地址 ID - * @param productIds 商品 ID 列表 + * @param buyOrderDetailId 订单详情列表 * @return R */ @RequestMapping(value = "/createSplitPackages", method = RequestMethod.POST) public R createSplitPackageOrder(@RequestParam("expressCompanyCode") String expressCompanyCode, @RequestParam("userAddressId") Integer userAddressId, - @RequestBody List productIds) { - buyOrderService.createSplitPackageOrder(expressCompanyCode, userAddressId, productIds); + @RequestBody List buyOrderDetailId) throws Exception { + buyOrderService.createSplitPackageOrder(expressCompanyCode, userAddressId, buyOrderDetailId); return R.ok(); } @@ -297,7 +301,7 @@ public class BuyOrderController { * @param product * @return */ - private boolean handleStock(BuyOrderDetailEntity buyOrderDetail, ShopProductEntity product) { + private boolean handleStock(BuyOrderDetail buyOrderDetail, ShopProductEntity product) { int quantity = buyOrderDetail.getQuantity(); if (product.getProductStock() - quantity < 0) { return false; @@ -380,8 +384,8 @@ public class BuyOrderController { * @param products * @param buyOrder */ - private void addEbookToUser(List products, BuyOrderEntity buyOrder) { - List productIds = products.stream().map(BuyOrderDetailEntity::getProductId).collect(Collectors.toList()); + private void addEbookToUser(List products, BuyOrderEntity buyOrder) { + List productIds = products.stream().map(BuyOrderDetail::getProductId).collect(Collectors.toList()); for (Integer productId : productIds) { List collect = shopProductBookService.getBaseMapper().selectList(new LambdaQueryWrapper() .eq(ShopProductBookEntity::getProductId, productId) @@ -396,7 +400,7 @@ public class BuyOrderController { * @param buyOrder * @param buyOrderDetail */ - private void handleBuyCart(BuyOrderEntity buyOrder, BuyOrderDetailEntity buyOrderDetail) { + private void handleBuyCart(BuyOrderEntity buyOrder, BuyOrderDetail buyOrderDetail) { List orderCartList = orderCartService.getBaseMapper().selectList(new QueryWrapper() .eq("user_id", buyOrder.getUserId()).eq("product_id", buyOrderDetail.getProductId())); if (orderCartList.size() > 0) { diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderDetailController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderDetailController.java index 5c6633e1..ff983d11 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderDetailController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderDetailController.java @@ -2,7 +2,7 @@ package com.peanut.modules.book.controller; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.R; -import com.peanut.modules.book.entity.BuyOrderDetailEntity; +import com.peanut.modules.book.entity.BuyOrderDetail; import com.peanut.modules.book.service.BuyOrderDetailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -61,7 +61,7 @@ public class BuyOrderDetailController { */ @RequestMapping("/info/{allOrderId}") public R info(@PathVariable("allOrderId") Long allOrderId) { - BuyOrderDetailEntity buyOrderDetail = buyOrderDetailService.getById(allOrderId); + BuyOrderDetail buyOrderDetail = buyOrderDetailService.getById(allOrderId); return R.ok().put("buyOrderDetail", buyOrderDetail); } @@ -69,7 +69,7 @@ public class BuyOrderDetailController { * 保存 */ @RequestMapping("/save") - public R save(@RequestBody BuyOrderDetailEntity buyOrderDetail) { + public R save(@RequestBody BuyOrderDetail buyOrderDetail) { buyOrderDetailService.save(buyOrderDetail); return R.ok(); } @@ -78,7 +78,7 @@ public class BuyOrderDetailController { * 修改 */ @RequestMapping("/update") - public R update(@RequestBody BuyOrderDetailEntity buyOrderDetail) { + public R update(@RequestBody BuyOrderDetail buyOrderDetail) { buyOrderDetailService.updateById(buyOrderDetail); return R.ok(); } @@ -93,7 +93,7 @@ public class BuyOrderDetailController { } @RequestMapping("/updateOrderStatus") - public R updateOrderStatus(@RequestBody BuyOrderDetailEntity buyOrderDetail) { + public R updateOrderStatus(@RequestBody BuyOrderDetail buyOrderDetail) { buyOrderDetail.setOrderStatus("2"); buyOrderDetailService.updateById(buyOrderDetail); return R.ok(); @@ -108,7 +108,6 @@ public class BuyOrderDetailController { */ @RequestMapping("/batchUpdateByShippingSns") public R batchUpdateByShippingSns(@RequestBody String[] shippingSnList) { - buyOrderDetailService.batchUpdateByShippingSns(shippingSnList); return R.ok(); } } diff --git a/src/main/java/com/peanut/modules/book/controller/ShopProductController.java b/src/main/java/com/peanut/modules/book/controller/ShopProductController.java index c7629ca7..8db59414 100644 --- a/src/main/java/com/peanut/modules/book/controller/ShopProductController.java +++ b/src/main/java/com/peanut/modules/book/controller/ShopProductController.java @@ -98,17 +98,17 @@ public class ShopProductController { public R bookList(@RequestParam("userId") Integer userId ) { //查询已购买的书籍 - List buyOrderDetailEntities = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() + List buyOrderDetailEntities = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() .eq("user_id", userId)); //hashset不重复 且无序 Set purchasedProductIds = new HashSet<>(); ArrayList list = new ArrayList<>(); Map map = new HashMap<>(); - for (BuyOrderDetailEntity buyOrderDetailEntity : buyOrderDetailEntities) { - map.put("ProductId", String.valueOf(buyOrderDetailEntity.getProductId())); + for (BuyOrderDetail buyOrderDetail : buyOrderDetailEntities) { + map.put("ProductId", String.valueOf(buyOrderDetail.getProductId())); list.add(map); //去重取出以后买书籍的id - purchasedProductIds.add(String.valueOf(buyOrderDetailEntity.getProductId())); + purchasedProductIds.add(String.valueOf(buyOrderDetail.getProductId())); } //查询商品表并过滤已购买商品id,根据时间倒叙展示 List allProductEntities = shopProductService.getBaseMapper().selectList(new QueryWrapper() diff --git a/src/main/java/com/peanut/modules/book/controller/UserFollowUpController.java b/src/main/java/com/peanut/modules/book/controller/UserFollowUpController.java index 623bd433..80041ced 100644 --- a/src/main/java/com/peanut/modules/book/controller/UserFollowUpController.java +++ b/src/main/java/com/peanut/modules/book/controller/UserFollowUpController.java @@ -1,6 +1,5 @@ package com.peanut.modules.book.controller; -import cn.com.marsoft.tool.ToolObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.R; @@ -126,7 +125,7 @@ public class UserFollowUpController { Integer bookid = userRecord.getBookid(); Integer userid = userRecord.getUserid(); Integer id1 = userRecord.getId(); - BuyOrderDetailEntity detailEntity = buyOrderDetailService.getBaseMapper().selectOne(new QueryWrapper() + BuyOrderDetail detailEntity = buyOrderDetailService.getBaseMapper().selectOne(new QueryWrapper() .eq("Order_id", orderId).eq("product_id",bookid)); UserFollowUpEntity followUpEntity = userFollowUpService.getBaseMapper().selectOne(new QueryWrapper().eq("userid", userid).eq("oid",id1).last("LIMIT 1")); diff --git a/src/main/java/com/peanut/modules/book/controller/UserRecordController.java b/src/main/java/com/peanut/modules/book/controller/UserRecordController.java index e46ec249..6faaf104 100644 --- a/src/main/java/com/peanut/modules/book/controller/UserRecordController.java +++ b/src/main/java/com/peanut/modules/book/controller/UserRecordController.java @@ -204,7 +204,7 @@ public class UserRecordController { ); Integer orderId = buyOrderEntity.getOrderId(); - BuyOrderDetailEntity detailEntity = buyOrderDetailService.getBaseMapper().selectOne(new QueryWrapper().eq("Order_id", orderId).eq("product_id", recordEntity.getBookid())); + BuyOrderDetail detailEntity = buyOrderDetailService.getBaseMapper().selectOne(new QueryWrapper().eq("Order_id", orderId).eq("product_id", recordEntity.getBookid())); Integer orderId1 = detailEntity.getOrderId(); UserRecordEntity userRecordEntity = userRecordService.getBaseMapper().selectOne(new QueryWrapper().eq("orderSn", recordEntity.getOrderSn()).eq("userid", recordEntity.getUserid()).eq("orderdid", orderId1).last("LIMIT 1")); diff --git a/src/main/java/com/peanut/modules/book/dao/BuyOrderDetailDao.java b/src/main/java/com/peanut/modules/book/dao/BuyOrderDetailDao.java index 3ffa3b3c..1908b123 100644 --- a/src/main/java/com/peanut/modules/book/dao/BuyOrderDetailDao.java +++ b/src/main/java/com/peanut/modules/book/dao/BuyOrderDetailDao.java @@ -1,6 +1,6 @@ package com.peanut.modules.book.dao; -import com.peanut.modules.book.entity.BuyOrderDetailEntity; +import com.peanut.modules.book.entity.BuyOrderDetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -14,8 +14,8 @@ import java.util.List; * @date 2022-08-29 15:27:44 */ @Mapper -public interface BuyOrderDetailDao extends BaseMapper { +public interface BuyOrderDetailDao extends BaseMapper { - public List queryListByOrderIds(Integer[] ids); + public List queryListByOrderIds(Integer[] ids); } diff --git a/src/main/java/com/peanut/modules/book/entity/BuyOrderDetailEntity.java b/src/main/java/com/peanut/modules/book/entity/BuyOrderDetail.java similarity index 72% rename from src/main/java/com/peanut/modules/book/entity/BuyOrderDetailEntity.java rename to src/main/java/com/peanut/modules/book/entity/BuyOrderDetail.java index 7342e117..3e202427 100644 --- a/src/main/java/com/peanut/modules/book/entity/BuyOrderDetailEntity.java +++ b/src/main/java/com/peanut/modules/book/entity/BuyOrderDetail.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.io.Serializable; import java.util.Date; + import lombok.Data; /** @@ -21,14 +22,14 @@ import lombok.Data; */ @Data @TableName("buy_order_detail") -public class BuyOrderDetailEntity implements Serializable { +public class BuyOrderDetail implements Serializable { private static final long serialVersionUID = 1L; /** * 订单详情id */ @TableId - private Long allOrderId; + private Long id; /** * 订单表id */ @@ -56,15 +57,11 @@ public class BuyOrderDetailEntity implements Serializable { /** * 商品重量 */ - private Double weight; + private BigDecimal weight; /** * 商品类型 */ private String productType; - /** - * 物流单号 - */ - private String shippingSn; /** * 订单状态 0-待支付 1-待发货 2-待收货 */ @@ -81,28 +78,12 @@ public class BuyOrderDetailEntity implements Serializable { /** * 图片 */ - @TableField(exist = false) + @TableField(exist = false) private String image; - /** - * 地址id - */ - private Integer addressId; /** * 面单html */ - private String fmsHtml; - /** - * 快递公司编码 - */ - private String shipperCode; - /** - * 快递公司名称 - */ - private String shipperName; - /** - * 是否已打印 0: 未打印,1:已打印 - */ - private String isPrint; + private String expressBill; /** * 商品图片地址 */ @@ -110,10 +91,9 @@ public class BuyOrderDetailEntity implements Serializable { /** * 评价 ID */ - @TableField("record_id") - private Integer recordId; - - @TableField(exist = false) - private Long timestamp; - + private Integer recordId; + /** + * 快递订单 ID + */ + private String expressOrderId; } diff --git a/src/main/java/com/peanut/modules/book/entity/BuyOrderEntity.java b/src/main/java/com/peanut/modules/book/entity/BuyOrderEntity.java index 6bc2d4c6..3cef8761 100644 --- a/src/main/java/com/peanut/modules/book/entity/BuyOrderEntity.java +++ b/src/main/java/com/peanut/modules/book/entity/BuyOrderEntity.java @@ -125,7 +125,7 @@ public class BuyOrderEntity implements Serializable { private Integer delFlag; @TableField(exist = false) - private List products; + private List products; @TableField(exist = false) private String buyType; diff --git a/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java b/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java index d2851800..2df5beee 100644 --- a/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java +++ b/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java @@ -30,7 +30,7 @@ public class ExpressOrder { /** * 订单号 */ - private String orderId; + private Integer orderId; /** * 快递公司代码 */ diff --git a/src/main/java/com/peanut/modules/book/entity/ShopProductEntity.java b/src/main/java/com/peanut/modules/book/entity/ShopProductEntity.java index 352ab7b0..a3d34798 100644 --- a/src/main/java/com/peanut/modules/book/entity/ShopProductEntity.java +++ b/src/main/java/com/peanut/modules/book/entity/ShopProductEntity.java @@ -45,7 +45,7 @@ public class ShopProductEntity implements Serializable { /** * 商品重量 */ - private int weight; + private Integer weight; /** * 上架状态 */ diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderDetailService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderDetailService.java index e7650e48..900eded4 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderDetailService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderDetailService.java @@ -2,7 +2,7 @@ package com.peanut.modules.book.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.PageUtils; -import com.peanut.modules.book.entity.BuyOrderDetailEntity; +import com.peanut.modules.book.entity.BuyOrderDetail; import java.util.Map; @@ -13,7 +13,7 @@ import java.util.Map; * @email yl328572838@163.com * @date 2022-08-29 15:27:44 */ -public interface BuyOrderDetailService extends IService { +public interface BuyOrderDetailService extends IService { PageUtils queryPage(Map params); @@ -21,5 +21,5 @@ public interface BuyOrderDetailService extends IService { PageUtils querybuy(Mapparams); - void batchUpdateByShippingSns(String[] shippingSnList); +// void batchUpdateByShippingSns(String[] shippingSnList); } diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java index a9cc9417..42d86ecb 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java @@ -28,5 +28,13 @@ public interface BuyOrderService extends IService { // 查询所有订单是否有可合并 Page checkOrder(Map params); - void createSplitPackageOrder(String expressCompanyCode, Integer userAddressId, List shopProductIdList) throws Exception; + /** + * 订单拆分发货 + * + * @param expressCompanyCode 快递公司代码 + * @param userAddressId 用户地址 ID + * @param buyOrderDetailId 订单详情 ID 列表 + * @throws Exception exception + */ + void createSplitPackageOrder(String expressCompanyCode, Integer userAddressId, List buyOrderDetailId) throws Exception; } \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderDetailServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderDetailServiceImpl.java index 9bcb99f7..c8bb7ab8 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderDetailServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderDetailServiceImpl.java @@ -1,9 +1,8 @@ package com.peanut.modules.book.service.impl; -import jodd.util.StringUtil; +import com.peanut.modules.book.entity.BuyOrderDetail; import org.springframework.stereotype.Service; -import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -12,19 +11,18 @@ import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; import com.peanut.modules.book.dao.BuyOrderDetailDao; -import com.peanut.modules.book.entity.BuyOrderDetailEntity; import com.peanut.modules.book.service.BuyOrderDetailService; @Service("buyOrderDetailService") -public class BuyOrderDetailServiceImpl extends ServiceImpl implements BuyOrderDetailService { +public class BuyOrderDetailServiceImpl extends ServiceImpl implements BuyOrderDetailService { @Override public PageUtils queryPage(Map params) { Integer orderId = Integer.valueOf((String) params.get("orderId")); - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper() + IPage page = this.page( + new Query().getPage(params), + new QueryWrapper() .eq("order_id",orderId) ); @@ -38,9 +36,9 @@ public class BuyOrderDetailServiceImpl extends ServiceImpl params) { - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper().eq("is_print","0") + IPage page = this.page( + new Query().getPage(params), + new QueryWrapper().eq("is_print","0") .groupBy("shipping_sn") ); return new PageUtils(page); @@ -49,9 +47,9 @@ public class BuyOrderDetailServiceImpl extends ServiceImpl params) { Integer userid = Integer.valueOf((String) params.get("id")); - IPage page = this.page( - new Query().getPage(params), - new QueryWrapper() + IPage page = this.page( + new Query().getPage(params), + new QueryWrapper() .eq("user_id",userid) ); @@ -60,17 +58,17 @@ public class BuyOrderDetailServiceImpl extends ServiceImpl buyOrderDetailEntityList = this.list(new QueryWrapper<>()); - for(String sn : shippingSnList){ - for(BuyOrderDetailEntity buyOrderDetailEntity : buyOrderDetailEntityList){ - if(StringUtil.isNotEmpty(buyOrderDetailEntity.getShippingSn()) && buyOrderDetailEntity.getShippingSn().equals(sn)){ - buyOrderDetailEntity.setIsPrint("1"); - } - } - } - this.updateBatchById(buyOrderDetailEntityList); - } +// @Override +// public void batchUpdateByShippingSns(String[] shippingSnList) { +// List buyOrderDetailEntityList = this.list(new QueryWrapper<>()); +// for(String sn : shippingSnList){ +// for(BuyOrderDetailEntity buyOrderDetailEntity : buyOrderDetailEntityList){ +// if(StringUtil.isNotEmpty(buyOrderDetailEntity.getShippingSn()) && buyOrderDetailEntity.getShippingSn().equals(sn)){ +// buyOrderDetailEntity.setIsPrint("1"); +// } +// } +// } +// this.updateBatchById(buyOrderDetailEntityList); +// } } \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java index c0b4ba36..0f567022 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java @@ -9,7 +9,6 @@ import com.peanut.common.utils.ExcludeEmptyQueryWrapper; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; import com.peanut.modules.book.dao.BuyOrderDao; -import com.peanut.modules.book.dao.ShopProductDao; import com.peanut.modules.book.entity.*; import com.peanut.modules.book.service.*; import com.peanut.modules.book.entity.ExpressCommodity; @@ -34,9 +33,6 @@ public class BuyOrderServiceImpl extends ServiceImpl() + record.setProducts(buyOrderDetailService.list(new QueryWrapper() .eq("order_id", record.getOrderId()))); } @@ -139,7 +135,7 @@ public class BuyOrderServiceImpl extends ServiceImpl().eq("del_flag", "0").eq("order_status", "1") ); for (BuyOrderEntity order : buyOrderList) { - order.setProducts(buyOrderDetailService.list(new QueryWrapper() + order.setProducts(buyOrderDetailService.list(new QueryWrapper() .eq("order_id", order.getOrderId()))); orderList.add(order); } @@ -209,7 +205,7 @@ public class BuyOrderServiceImpl extends ServiceImpl().eq("del_flag", "0").eq("order_status", "1").eq("is_send", "0") ); for (BuyOrderEntity order : buyOrderList.getRecords()) { - order.setProducts(buyOrderDetailService.list(new QueryWrapper() + order.setProducts(buyOrderDetailService.list(new QueryWrapper() .eq("order_id", order.getOrderId()))); orderList.add(order); } @@ -249,34 +245,34 @@ public class BuyOrderServiceImpl extends ServiceImpl buyOrderDetailId) throws Exception { - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("id", buyOrderDetailId); - List buyOrderDetailList = buyOrderDetailService.list(queryWrapper); + List buyOrderDetailList = buyOrderDetailService.list(queryWrapper); BigDecimal totalWeight = new BigDecimal(0); List commodityList = new ArrayList<>(); - for (BuyOrderDetailEntity buyOrderDetail : buyOrderDetailList) { + for (BuyOrderDetail buyOrderDetail : buyOrderDetailList) { ExpressCommodity commodity = new ExpressCommodity(); commodity.setGoodsName(buyOrderDetail.getProductName()); commodity.setGoodsquantity(buyOrderDetail.getQuantity()); - commodity.setGoodsWeight(buyOrderDetail.getWeight()); + commodity.setGoodsWeight(buyOrderDetail.getWeight().doubleValue()); totalWeight = totalWeight.add( - BigDecimal.valueOf(buyOrderDetail.getWeight()).multiply(new BigDecimal(buyOrderDetail.getQuantity())) + BigDecimal.valueOf(buyOrderDetail.getWeight().doubleValue()).multiply(new BigDecimal(buyOrderDetail.getQuantity())) ); commodityList.add(commodity); } - // 获取用户地址 UserAddress address = userAddressService.getById(userAddressId); // 计算快递费用 BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, address.getRegionCode()); ExpressOrder expressOrder = new ExpressOrder(); + expressOrder.setOrderId(buyOrderDetailList.get(0).getOrderId()); expressOrder.setExpressFee(expressFee); expressOrder.setCreateTime(new Date()); expressOrder.setTotalWeight(totalWeight); expressOrder.setCommodity(commodityList); + expressOrder.setExpressCompanyCode(expressCompanyCode); // 生成快递面单 expressOrderService.placeExpressOrder(address, expressOrder); - } } \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java index 8f82b089..9f6838b1 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/ExpressFeeServiceImpl.java @@ -5,16 +5,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.peanut.modules.book.dao.ExpressFeeDao; import com.peanut.modules.book.entity.ExpressFee; import com.peanut.modules.book.service.ExpressFeeService; +import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.math.MathContext; -import java.math.RoundingMode; /** * @Description: 快递费用服务接口实现类 * @Author: Cauchy * @CreateTime: 2023/10/16 */ +@Service public class ExpressFeeServiceImpl extends ServiceImpl implements ExpressFeeService { @Override public BigDecimal calculateExpressFee(String expressCompanyCode, BigDecimal weight, String regionCode) { @@ -52,7 +52,9 @@ public class ExpressFeeServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - regionCode = regionCode.substring(0, 3).concat("00"); + if(!regionCode.startsWith("11") && !regionCode.startsWith("12") && !regionCode.startsWith("31") && !regionCode.startsWith("50")){ + regionCode = regionCode.substring(0, 4).concat("00"); + } queryWrapper.eq("dest_code", regionCode); queryWrapper.eq("weight_interval", weightInterval); queryWrapper.eq("express_code", "SF"); diff --git a/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java index 3f18c3e8..1a28ea4c 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/ExpressOrderServiceImpl.java @@ -53,14 +53,19 @@ public class ExpressOrderServiceImpl extends ServiceImpl cityQueryWrapper = new QueryWrapper<>(); cityQueryWrapper.eq("region_code", cityRegionCode); CityEntity city = cityService.getOne(cityQueryWrapper); vo.setCityName(city.getCityName()); - String provinceRegionCode = regionCode.substring(0, 1).concat("0000"); + String provinceRegionCode = regionCode.substring(0, 2).concat("0000"); QueryWrapper provinceQueryWrapper = new QueryWrapper<>(); provinceQueryWrapper.eq("region_code", provinceRegionCode); ProvinceEntity province = provinceService.getOne(provinceQueryWrapper); diff --git a/src/main/java/com/peanut/modules/book/vo/ExpressOrderRequestVo.java b/src/main/java/com/peanut/modules/book/vo/ExpressOrderRequestVo.java index ca161aad..9510faad 100644 --- a/src/main/java/com/peanut/modules/book/vo/ExpressOrderRequestVo.java +++ b/src/main/java/com/peanut/modules/book/vo/ExpressOrderRequestVo.java @@ -69,5 +69,9 @@ public class ExpressOrderRequestVo { * 备注 */ private String Remark; + /** + * 是否返回电子面单模板 + */ + private Integer IsReturnPrintTemplate; } diff --git a/src/main/java/com/peanut/modules/book/vo/ExpressUserInfoVo.java b/src/main/java/com/peanut/modules/book/vo/ExpressUserInfoVo.java index 18d9cb56..824e9089 100644 --- a/src/main/java/com/peanut/modules/book/vo/ExpressUserInfoVo.java +++ b/src/main/java/com/peanut/modules/book/vo/ExpressUserInfoVo.java @@ -10,9 +10,13 @@ import lombok.Data; @Data public class ExpressUserInfoVo { /** - * 姓名 + * 公司 */ private String Company; + /** + * 姓名 + */ + private String Name; /** * 电话 */ diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index a9458538..9030f73e 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -17,9 +17,9 @@ spring: type: com.alibaba.druid.pool.DruidDataSource druid: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://59.110.212.44:3306/e_book_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true + url: jdbc:mysql://127.0.0.1:3306/e_book_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true username: root - password: HSXY1234hsxy + password: password initial-size: 10 max-active: 100 min-idle: 10 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ef7a961b..4b7d7a8c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -77,7 +77,7 @@ spring.jackson.serialization.FAIL_ON_EMPTY_BEANS: false express: sender: senderName: 众妙之门 - mobile: + mobile: 17602219785 provinceName: 天津 cityName: 天津 expAreaName: 南开 diff --git a/src/main/resources/mapper/book/BuyOrderDao.xml b/src/main/resources/mapper/book/BuyOrderDao.xml index a5f1c28a..c3435fe1 100644 --- a/src/main/resources/mapper/book/BuyOrderDao.xml +++ b/src/main/resources/mapper/book/BuyOrderDao.xml @@ -37,7 +37,7 @@ - + @@ -47,7 +47,7 @@ - + diff --git a/src/main/resources/mapper/book/BuyOrderDetailDao.xml b/src/main/resources/mapper/book/BuyOrderDetailDao.xml index fff60a19..2647e5b6 100644 --- a/src/main/resources/mapper/book/BuyOrderDetailDao.xml +++ b/src/main/resources/mapper/book/BuyOrderDetailDao.xml @@ -4,7 +4,7 @@ - + @@ -29,7 +29,7 @@ - select * from buy_order_detail diff --git a/src/main/resources/mapper/book/ExpressCompanyDao.xml b/src/main/resources/mapper/book/ExpressCompanyDao.xml index 4fcd83d4..a2bd2cf1 100644 --- a/src/main/resources/mapper/book/ExpressCompanyDao.xml +++ b/src/main/resources/mapper/book/ExpressCompanyDao.xml @@ -3,6 +3,7 @@ \ No newline at end of file