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 95c8c4de..d476a09a 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -10,6 +10,8 @@ import com.peanut.config.Constants; import com.peanut.config.DelayQueueConfig; import com.peanut.modules.book.entity.*; import com.peanut.modules.book.service.*; +import com.peanut.modules.book.vo.ExpressQueryResponseVo; +import com.peanut.modules.book.vo.ShippingAddressRequestVo; import com.peanut.modules.pay.weChatPay.dto.WechatPaymentInfo; import com.peanut.modules.pay.weChatPay.service.WxpayService; import lombok.extern.slf4j.Slf4j; @@ -35,7 +37,7 @@ import java.util.stream.Collectors; */ @Slf4j @RestController -@RequestMapping("book/buyorder") +@RequestMapping("book/buyOrder") public class BuyOrderController { @Autowired private BuyOrderService buyOrderService; @@ -56,8 +58,6 @@ public class BuyOrderController { @Autowired private UserEbookBuyService userEbookBuyService; @Autowired - private UserRecordService userRecordService; - @Autowired private WxpayService wxpayService; @Autowired private RabbitTemplate rabbitTemplate; @@ -65,6 +65,9 @@ public class BuyOrderController { @Autowired private ShopProductBookService shopProductBookService; + @Autowired + private ExpressOrderService expressOrderService; + /** * 列表 */ @@ -86,7 +89,7 @@ public class BuyOrderController { */ @RequestMapping("/buySave") @Transactional - public R buySave(@RequestBody BuyOrderEntity buyOrder) throws IOException { + public R buySave(@RequestBody BuyOrder buyOrder) throws IOException { // 获取订单详情 List products = buyOrder.getProducts(); // 订单总金额 @@ -165,7 +168,7 @@ public class BuyOrderController { * 修改 */ @RequestMapping("/update") - public R update(@RequestBody BuyOrderEntity buyOrder) { + public R update(@RequestBody BuyOrder buyOrder) { buyOrderService.updateById(buyOrder); return R.ok(); } @@ -180,68 +183,61 @@ public class BuyOrderController { } /** - * 信息 + * 获取订单详情 + * + * @param orderId 订单 ID + * @return R */ - @RequestMapping("/appGetOrderInfo/{type}") - public R appGetOrderInfo(@PathVariable String type, @RequestParam("orderId") Integer orderId) { - BuyOrderEntity buyOrder = buyOrderService.getById(orderId); - buyOrder.setTimestamp(buyOrder.getCreateTime().getTime() / 1000); - List orderDetail = null; - if ("1".equals(type)) { - orderDetail = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() - .eq("order_id", orderId)); - } else { - orderDetail = buyOrderDetailService.getBaseMapper().selectList(new QueryWrapper() - .eq("order_id", orderId)); - } - for (BuyOrderDetail buyOrderDetail : orderDetail) { + @RequestMapping(value = "/getOrderInfo", method = RequestMethod.GET) + public R appGetOrderInfo(@RequestParam("orderId") Integer orderId) { + BuyOrder buyOrder = buyOrderService.getById(orderId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + List buyOrderDetailList = buyOrderDetailService.list(queryWrapper); + for (BuyOrderDetail buyOrderDetail : buyOrderDetailList) { ShopProductEntity prod = shopProductService.getById(buyOrderDetail.getProductId()); if (prod != null) { buyOrderDetail.setImage(prod.getProductImages()); } } + return R.ok().put("result", buyOrder); + } - List resultOrder = new ArrayList(); - Set sn_no = new HashSet(); - for (BuyOrderDetail buyOrderDetail : orderDetail) { - resultOrder.add(buyOrderDetail); -// sn_no.add(buyOrderDetail.getExpressOrderId()); - } - - UserRecordEntity userRecordEntity = userRecordService.getBaseMapper().selectOne(new QueryWrapper() - .eq("orderSn", buyOrder.getOrderSn()) - .eq("userid", buyOrder.getUserId()) - .eq("orderdid", buyOrder.getOrderId()) - .last("LIMIT 1")); - Integer id = null; - if (userRecordEntity != null) { - id = userRecordEntity.getId(); - } - buyOrder.setProducts(resultOrder); - Date createDate = buyOrder.getCreateTime(); - return R.ok().put("buyOrder", buyOrder).put("CreateTime", createDate).put("userRecordid", id); + @RequestMapping(value = "/modifyOrderAddress", method = RequestMethod.POST) + public R modifyOrderAddress(@RequestBody ShippingAddressRequestVo addressRequestVo) { + BuyOrder buyOrder = buyOrderService.getById(addressRequestVo.getOrderId()); + buyOrder.setProvince(addressRequestVo.getProvince()); + buyOrder.setCity(addressRequestVo.getCity()); + buyOrder.setDistrict(addressRequestVo.getCounty()); + buyOrder.setShippingUser(addressRequestVo.getName()); + buyOrder.setUserPhone(addressRequestVo.getMobile()); + buyOrderService.updateById(buyOrder); + return R.ok(); } /** - * 及时查询快递信息 + * 查询订单快递 + * + * @param orderId 订单号 + * @return R */ -// @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(value = "/queryExpress", method = RequestMethod.GET) + public R queryExpress(@RequestParam("orderId") Integer orderId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + List buyOrderDetailList = buyOrderDetailService.list(queryWrapper); + List result = new ArrayList<>(); + for (BuyOrderDetail buyOrderDetail : buyOrderDetailList) { + ExpressQueryResponseVo vo = new ExpressQueryResponseVo(); + vo.setOrderDetailId(buyOrderDetail.getId()); + ExpressQueryResponse expressQueryResponse = expressOrderService.queryExpressOrder(buyOrderDetail.getExpressCompanyCode(), buyOrderDetail.getExpressBillNo()); + vo.setLogisticCode(expressQueryResponse.getLogisticCode()); + vo.setTraces(expressQueryResponse.getTraces()); + result.add(vo); + } + return R.ok().put("result", result); + } /** * 检查可合并的订单信息 @@ -270,15 +266,13 @@ public class BuyOrderController { * 分包发货 * * @param expressCompanyCode 快递公司编码 - * @param userAddressId 用户地址 ID * @param buyOrderDetailId 订单详情列表 * @return R */ @RequestMapping(value = "/createSplitPackages", method = RequestMethod.POST) public R createSplitPackageOrder(@RequestParam("expressCompanyCode") String expressCompanyCode, - @RequestParam("userAddressId") Integer userAddressId, @RequestBody List buyOrderDetailId) throws Exception { - buyOrderService.createSplitPackageOrder(expressCompanyCode, userAddressId, buyOrderDetailId); + buyOrderService.createSplitPackageOrder(expressCompanyCode, buyOrderDetailId); return R.ok(); } @@ -318,7 +312,7 @@ public class BuyOrderController { * @param buyOrder * @return */ - private BigDecimal useCouponAmount(BuyOrderEntity buyOrder) { + private BigDecimal useCouponAmount(BuyOrder buyOrder) { Integer couponId = buyOrder.getCouponId(); if (couponId != null) { CouponHistoryEntity couponHistory = couponHistoryService.getById(couponId); @@ -339,7 +333,7 @@ public class BuyOrderController { * @param buyOrder * @return */ - private BigDecimal getShoppingAmount(BuyOrderEntity buyOrder) { + private BigDecimal getShoppingAmount(BuyOrder buyOrder) { return buyOrder.getOrderMoney() == null ? BigDecimal.ZERO : buyOrder.getShippingMoney(); } @@ -366,7 +360,7 @@ public class BuyOrderController { * @param user * @param totalPrice */ - private void recordTransaction(BuyOrderEntity buyOrder, MyUserEntity user, BigDecimal totalPrice) { + private void recordTransaction(BuyOrder buyOrder, MyUserEntity user, BigDecimal totalPrice) { TransactionDetailsEntity transactionDetailsEntity = new TransactionDetailsEntity(); transactionDetailsEntity.setRemark("订单编号为 - " + buyOrder.getOrderSn()); transactionDetailsEntity.setUserId(user.getId()); @@ -384,7 +378,7 @@ public class BuyOrderController { * @param products * @param buyOrder */ - private void addEbookToUser(List products, BuyOrderEntity buyOrder) { + private void addEbookToUser(List products, BuyOrder buyOrder) { List productIds = products.stream().map(BuyOrderDetail::getProductId).collect(Collectors.toList()); for (Integer productId : productIds) { List collect = shopProductBookService.getBaseMapper().selectList(new LambdaQueryWrapper() @@ -400,7 +394,7 @@ public class BuyOrderController { * @param buyOrder * @param buyOrderDetail */ - private void handleBuyCart(BuyOrderEntity buyOrder, BuyOrderDetail buyOrderDetail) { + private void handleBuyCart(BuyOrder 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/UserFollowUpController.java b/src/main/java/com/peanut/modules/book/controller/UserFollowUpController.java index 80041ced..37a80936 100644 --- a/src/main/java/com/peanut/modules/book/controller/UserFollowUpController.java +++ b/src/main/java/com/peanut/modules/book/controller/UserFollowUpController.java @@ -117,11 +117,11 @@ public class UserFollowUpController { return R.error("请先评论再追评"); } String orderSn = userRecord.getOrderSn(); - BuyOrderEntity buyOrderEntity =buyOrderService.getBaseMapper().selectOne(new QueryWrapper() + BuyOrder buyOrder =buyOrderService.getBaseMapper().selectOne(new QueryWrapper() .eq("order_sn",orderSn).last("LIMIT 1") ); - Integer orderId = buyOrderEntity.getOrderId(); + Integer orderId = buyOrder.getOrderId(); Integer bookid = userRecord.getBookid(); Integer userid = userRecord.getUserid(); Integer id1 = userRecord.getId(); @@ -134,8 +134,8 @@ public class UserFollowUpController { // return R.error("您已评价过"); // } - buyOrderEntity.setRecordId(2); - buyOrderService.saveOrUpdate(buyOrderEntity); + buyOrder.setRecordId(2); + buyOrderService.saveOrUpdate(buyOrder); if (userFollowUpEntity.getImages()!=null) { List> imageList = (ArrayList>)userFollowUpEntity.getImages(); 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 6faaf104..c2deab88 100644 --- a/src/main/java/com/peanut/modules/book/controller/UserRecordController.java +++ b/src/main/java/com/peanut/modules/book/controller/UserRecordController.java @@ -164,7 +164,7 @@ public class UserRecordController { public Object commodityComments(Integer userid, String orderSn, Integer bookid, String comment) { - BuyOrderEntity buyOrderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper() + BuyOrder buyOrder = buyOrderService.getBaseMapper().selectOne(new QueryWrapper() .eq("order_sn", orderSn).last("LIMIT 1").eq("order_status", "3") //状态3为已收货 // .eq("order_status","3") @@ -172,11 +172,11 @@ public class UserRecordController { UserRecordEntity userRecordEntity = new UserRecordEntity(); - if (!ToolObject.isNullOrEmpty(buyOrderEntity)) { + if (!ToolObject.isNullOrEmpty(buyOrder)) { return error("您已评价过了,请勿重复评论"); // } else { - userRecordEntity.setId(buyOrderEntity.getOrderId()); + userRecordEntity.setId(buyOrder.getOrderId()); userRecordEntity.setContent(comment); //商品评价 userRecordEntity.setBookid(bookid); @@ -199,11 +199,11 @@ public class UserRecordController { @RequestMapping("/UserRecordcomment") public R commodity(@RequestBody UserRecordEntity recordEntity) { //todo 已收货限制字段,只可评价一次 - BuyOrderEntity buyOrderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper() + BuyOrder buyOrder = buyOrderService.getBaseMapper().selectOne(new QueryWrapper() .eq("order_sn", recordEntity.getOrderSn()) ); - Integer orderId = buyOrderEntity.getOrderId(); + Integer orderId = buyOrder.getOrderId(); 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/BuyOrderDao.java b/src/main/java/com/peanut/modules/book/dao/BuyOrderDao.java index f401ce88..a7257037 100644 --- a/src/main/java/com/peanut/modules/book/dao/BuyOrderDao.java +++ b/src/main/java/com/peanut/modules/book/dao/BuyOrderDao.java @@ -1,10 +1,8 @@ package com.peanut.modules.book.dao; -import com.alibaba.fastjson.JSONObject; -import com.peanut.modules.book.entity.BuyOrderEntity; +import com.peanut.modules.book.entity.BuyOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; -import org.apache.poi.ss.formula.functions.T; import java.util.List; @@ -16,8 +14,8 @@ import java.util.List; * @date 2022-08-29 15:27:44 */ @Mapper -public interface BuyOrderDao extends BaseMapper { +public interface BuyOrderDao extends BaseMapper { - public List queryListByOrderIds(Integer[] ids); + public List queryListByOrderIds(Integer[] ids); } diff --git a/src/main/java/com/peanut/modules/book/entity/BuyOrderEntity.java b/src/main/java/com/peanut/modules/book/entity/BuyOrder.java similarity index 98% rename from src/main/java/com/peanut/modules/book/entity/BuyOrderEntity.java rename to src/main/java/com/peanut/modules/book/entity/BuyOrder.java index 3cef8761..226e5730 100644 --- a/src/main/java/com/peanut/modules/book/entity/BuyOrderEntity.java +++ b/src/main/java/com/peanut/modules/book/entity/BuyOrder.java @@ -18,7 +18,7 @@ import lombok.Data; */ @Data @TableName("buy_order") -public class BuyOrderEntity implements Serializable { +public class BuyOrder implements Serializable { private static final long serialVersionUID = 1L; @TableId diff --git a/src/main/java/com/peanut/modules/book/entity/BuyOrderDetail.java b/src/main/java/com/peanut/modules/book/entity/BuyOrderDetail.java index e47be5c7..dd2a13f6 100644 --- a/src/main/java/com/peanut/modules/book/entity/BuyOrderDetail.java +++ b/src/main/java/com/peanut/modules/book/entity/BuyOrderDetail.java @@ -83,7 +83,7 @@ public class BuyOrderDetail implements Serializable { /** * 面单html */ - private String expressBill; + private String expressBillTemplate; /** * 商品图片地址 */ @@ -96,4 +96,8 @@ public class BuyOrderDetail implements Serializable { * 快递单号 */ private String expressBillNo; + /** + * 快递公司编码 + */ + private String expressCompanyCode; } 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 2df5beee..dfc5f16b 100644 --- a/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java +++ b/src/main/java/com/peanut/modules/book/entity/ExpressOrder.java @@ -24,9 +24,29 @@ public class ExpressOrder { */ private int userId; /** - * 用户地址 ID + * 省份 */ - private int userAddressId; + private String province; + /** + * 城市 + */ + private String city; + /** + * 区县 + */ + private String county; + /** + * 收件人姓名 + */ + private String name; + /** + * 收件人电话 + */ + private String mobile; + /** + * 收件人详细地址 + */ + private String address; /** * 订单号 */ diff --git a/src/main/java/com/peanut/modules/book/entity/ExpressQueryResponse.java b/src/main/java/com/peanut/modules/book/entity/ExpressQueryResponse.java new file mode 100644 index 00000000..04bc2d61 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/ExpressQueryResponse.java @@ -0,0 +1,51 @@ +package com.peanut.modules.book.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description: 快递查询返回结果 Value Object + * @Author: Cauchy + * @CreateTime: 2023/10/17 + */ +@Data +public class ExpressQueryResponse implements Serializable { + /** + * 用户 ID + */ + private String EBusinessID; + /** + * 快递公司编码 + */ + private String ShipperCode; + /** + * 快递单号 + */ + private String LogisticCode; + /** + * 是否成功 + */ + private boolean Success; + /** + * 原因 + */ + private String Reason; + /** + * 状态 + * 普通物流状态: + * 0-暂无轨迹信息 + * 1-已揽收 + * 2-在途中 + * 3-签收 + * 4-问题件 + * 5-转寄 + * 6-清关 + */ + private String State; + /** + * 轨迹 + */ + private List Traces; +} diff --git a/src/main/java/com/peanut/modules/book/entity/Trace.java b/src/main/java/com/peanut/modules/book/entity/Trace.java new file mode 100644 index 00000000..472f853c --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/Trace.java @@ -0,0 +1,17 @@ +package com.peanut.modules.book.entity; + +import lombok.Data; + +import java.util.Date; + +@Data +public class Trace { + /** + * 轨迹时间 + */ + private Date AcceptTime; + /** + * 轨迹描述 + */ + private String AcceptStation; +} diff --git a/src/main/java/com/peanut/modules/book/service/ActivityService.java b/src/main/java/com/peanut/modules/book/service/ActivityService.java index 1bb6f653..ae1a3b23 100644 --- a/src/main/java/com/peanut/modules/book/service/ActivityService.java +++ b/src/main/java/com/peanut/modules/book/service/ActivityService.java @@ -1,13 +1,9 @@ package com.peanut.modules.book.service; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.PageUtils; import com.peanut.modules.book.entity.ActivityEntity; -import com.peanut.modules.book.entity.BuyOrderEntity; -import java.util.List; import java.util.Map; /** 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 42d86ecb..f5c05a0c 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java @@ -3,7 +3,7 @@ package com.peanut.modules.book.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.PageUtils; -import com.peanut.modules.book.entity.BuyOrderEntity; +import com.peanut.modules.book.entity.BuyOrder; import java.util.List; import java.util.Map; @@ -15,7 +15,7 @@ import java.util.Map; * @email yl328572838@163.com * @date 2022-08-29 15:27:44 */ -public interface BuyOrderService extends IService { +public interface BuyOrderService extends IService { PageUtils queryPage(Map params) throws Exception; @@ -32,9 +32,7 @@ public interface BuyOrderService extends IService { * 订单拆分发货 * * @param expressCompanyCode 快递公司代码 - * @param userAddressId 用户地址 ID * @param buyOrderDetailId 订单详情 ID 列表 - * @throws Exception exception */ - void createSplitPackageOrder(String expressCompanyCode, Integer userAddressId, List buyOrderDetailId) throws Exception; + void createSplitPackageOrder(String expressCompanyCode, List buyOrderDetailId); } \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/book/service/ExpressOrderService.java b/src/main/java/com/peanut/modules/book/service/ExpressOrderService.java index 1ca4ec08..14e040ea 100644 --- a/src/main/java/com/peanut/modules/book/service/ExpressOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/ExpressOrderService.java @@ -2,22 +2,19 @@ package com.peanut.modules.book.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.modules.book.entity.ExpressOrder; -import com.peanut.modules.book.entity.UserAddress; -import com.peanut.modules.book.vo.ExpressQueryResponseVo; +import com.peanut.modules.book.vo.ExpressOrderResponseVo; +import com.peanut.modules.book.entity.ExpressQueryResponse; import org.springframework.stereotype.Service; -import java.util.Map; - @Service public interface ExpressOrderService extends IService { /** * 下单生成面单 * - * @param userAddress * @param expressOrder * @throws Exception */ - Map placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder); + ExpressOrderResponseVo placeExpressOrder(ExpressOrder expressOrder); - ExpressQueryResponseVo queryExpressOrder(String ShipperCode, String LogisticCode); + ExpressQueryResponse queryExpressOrder(String ShipperCode, String LogisticCode); } 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 6366a1d3..432632e1 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 @@ -12,6 +12,7 @@ import com.peanut.modules.book.dao.BuyOrderDao; import com.peanut.modules.book.entity.*; import com.peanut.modules.book.service.*; import com.peanut.modules.book.entity.ExpressCommodity; +import com.peanut.modules.book.vo.ExpressOrderResponseVo; import com.peanut.modules.book.vo.UserOrderVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,22 +27,22 @@ import java.util.stream.Collectors; @Service("buyOrderService") -public class BuyOrderServiceImpl extends ServiceImpl implements BuyOrderService { +public class BuyOrderServiceImpl extends ServiceImpl implements BuyOrderService { @Autowired private BuyOrderDetailService buyOrderDetailService; @Autowired private MyUserService myUserService; - @Autowired - private UserAddressService userAddressService; - @Autowired private ExpressFeeService expressFeeService; @Autowired private ExpressOrderService expressOrderService; + @Autowired + CountyService countyService; + protected Logger logger = LoggerFactory.getLogger(BuyOrderServiceImpl.class); @@ -51,7 +52,7 @@ public class BuyOrderServiceImpl extends ServiceImpl params) throws Exception { - IPage page; + IPage page; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String startTime = null; String endTime = null; @@ -61,8 +62,8 @@ public class BuyOrderServiceImpl extends ServiceImpl().getPage(params), - new ExcludeEmptyQueryWrapper().eq("user_phone", params.get("key")). + new Query().getPage(params), + new ExcludeEmptyQueryWrapper().eq("user_phone", params.get("key")). or().like("order_sn", params.get("key")).or().like("shipping_user", params.get("key")) .apply(startTime != null, "date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", startTime) .apply(endTime != null, "date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time") @@ -70,8 +71,8 @@ public class BuyOrderServiceImpl extends ServiceImpl().getPage(params), - new ExcludeEmptyQueryWrapper().eq("order_status", params.get("orderStatus")).eq("user_phone", params.get("key")) + new Query().getPage(params), + new ExcludeEmptyQueryWrapper().eq("order_status", params.get("orderStatus")).eq("user_phone", params.get("key")) .or().like("order_sn", params.get("key")).or().like("shipping_user", params.get("key")) .apply(startTime != null, "date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", startTime) .apply(endTime != null, "date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time") @@ -79,8 +80,8 @@ public class BuyOrderServiceImpl extends ServiceImpl records = page.getRecords(); - for (BuyOrderEntity record : records) { + List records = page.getRecords(); + for (BuyOrder record : records) { Integer userId = record.getUserId(); MyUserEntity myUserEntity = myUserService.getById(userId); if (!ObjectUtils.isEmpty(myUserEntity)) { @@ -105,7 +106,7 @@ public class BuyOrderServiceImpl extends ServiceImpl().eq("user_id", userId) + BuyOrder orderEntity = this.getOne(new QueryWrapper().eq("user_id", userId) .eq("order_sn", orderSn)); if (type.equals("0")) { orderEntity.setOrderStatus("1"); @@ -130,18 +131,18 @@ public class BuyOrderServiceImpl extends ServiceImpl orderList = new ArrayList<>(); - List buyOrderList = this.list( - new QueryWrapper().eq("del_flag", "0").eq("order_status", "1") + List orderList = new ArrayList<>(); + List buyOrderList = this.list( + new QueryWrapper().eq("del_flag", "0").eq("order_status", "1") ); - for (BuyOrderEntity order : buyOrderList) { + for (BuyOrder order : buyOrderList) { order.setProducts(buyOrderDetailService.list(new QueryWrapper() .eq("order_id", order.getOrderId()))); orderList.add(order); } // 清洗数据 (与前端传来的id对比后) - List washOrderList = new ArrayList<>(); - for (BuyOrderEntity order : orderList) { + List washOrderList = new ArrayList<>(); + for (BuyOrder order : orderList) { for (int o : orderIds) { if (o == order.getOrderId()) { washOrderList.add(order); @@ -151,7 +152,7 @@ public class BuyOrderServiceImpl extends ServiceImpl map = new HashMap<>(); // 使用清洗后的List获得其中有多少个用户 - for (BuyOrderEntity o : washOrderList) { + for (BuyOrder o : washOrderList) { map.put(o.getUserId(), o); } //获取map的所有key转为list @@ -159,8 +160,8 @@ public class BuyOrderServiceImpl extends ServiceImpl userOrderVoList = new ArrayList<>(); for (int key : keys) { UserOrderVo userOrderVo = new UserOrderVo(); - List orderEntityList = new ArrayList<>(); - for (BuyOrderEntity o : buyOrderList) { + List orderEntityList = new ArrayList<>(); + for (BuyOrder o : buyOrderList) { if (o.getUserId().equals(key)) { userOrderVo.setTel(o.getUserPhone()); userOrderVo.setUserName(o.getShippingUser()); @@ -195,16 +196,16 @@ public class BuyOrderServiceImpl extends ServiceImpl params) { // 查询所有订单信息 - List orderList = new ArrayList<>(); + List orderList = new ArrayList<>(); List userOrderVoList = new ArrayList<>(); // 返回的list List rntList = new ArrayList<>(); Page rntPage = new Page<>(); - IPage buyOrderList = this.page( - new Query().getPage(params), - new QueryWrapper().eq("del_flag", "0").eq("order_status", "1").eq("is_send", "0") + IPage buyOrderList = this.page( + new Query().getPage(params), + new QueryWrapper().eq("del_flag", "0").eq("order_status", "1").eq("is_send", "0") ); - for (BuyOrderEntity order : buyOrderList.getRecords()) { + for (BuyOrder order : buyOrderList.getRecords()) { order.setProducts(buyOrderDetailService.list(new QueryWrapper() .eq("order_id", order.getOrderId()))); orderList.add(order); @@ -212,7 +213,7 @@ public class BuyOrderServiceImpl extends ServiceImpl map = new HashMap<>(); - for (BuyOrderEntity order : orderList) { + for (BuyOrder order : orderList) { map.put(order.getUserId(), order); } //获取map的所有key转为list @@ -220,8 +221,8 @@ public class BuyOrderServiceImpl extends ServiceImpl orderEntityList = new ArrayList<>(); - for (BuyOrderEntity o : buyOrderList.getRecords()) { + List orderEntityList = new ArrayList<>(); + for (BuyOrder o : buyOrderList.getRecords()) { if (o.getUserId().equals(key)) { userOrderVo.setUserName(o.getShippingUser()); userOrderVo.setTel(o.getUserPhone()); @@ -244,7 +245,7 @@ public class BuyOrderServiceImpl extends ServiceImpl buyOrderDetailId) { + public void createSplitPackageOrder(String expressCompanyCode, List buyOrderDetailId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("id", buyOrderDetailId); List buyOrderDetailList = buyOrderDetailService.list(queryWrapper); @@ -262,9 +263,13 @@ public class BuyOrderServiceImpl extends ServiceImpl countyQueryWrapper = new QueryWrapper<>(); + countyQueryWrapper.eq("county_name", buyOrder.getDistrict()); + CountyEntity county = countyService.getOne(countyQueryWrapper); // 计算快递费用 - BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, address.getRegionCode()); + BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, county.getRegionCode()); ExpressOrder expressOrder = new ExpressOrder(); expressOrder.setOrderId(buyOrderDetailList.get(0).getOrderId()); expressOrder.setExpressFee(expressFee); @@ -272,11 +277,20 @@ public class BuyOrderServiceImpl extends ServiceImpl result = expressOrderService.placeExpressOrder(address, expressOrder); + ExpressOrderResponseVo response = expressOrderService.placeExpressOrder(expressOrder); + String expressBillNo = response.getOrder().getLogisticCode(); + String expressBillTemplate = response.getPrintTemplate(); for (BuyOrderDetail buyOrderDetail : buyOrderDetailList) { - buyOrderDetail.setExpressBill(result.get("expressBill")); - buyOrderDetail.setExpressBillNo(result.get("expressBillNo")); + buyOrderDetail.setExpressBillNo(expressBillNo); + buyOrderDetail.setExpressBillTemplate(expressBillTemplate); + buyOrderDetail.setExpressCompanyCode(expressCompanyCode); } buyOrderDetailService.saveBatch(buyOrderDetailList); } 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 5d1eeeed..8184c863 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 @@ -1,19 +1,15 @@ package com.peanut.modules.book.service.impl; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.peanut.common.utils.HttpClientUtils; import com.peanut.common.utils.KdUtils; import com.peanut.config.Constants; import com.peanut.modules.book.dao.ExpressOrderDao; -import com.peanut.modules.book.entity.*; -import com.peanut.modules.book.service.*; -import com.peanut.modules.book.vo.ExpressOrderRequestVo; -import com.peanut.modules.book.vo.ExpressOrderResponseVo; -import com.peanut.modules.book.vo.ExpressQueryResponseVo; -import com.peanut.modules.book.vo.ExpressUserInfoVo; -import org.springframework.beans.factory.annotation.Autowired; +import com.peanut.modules.book.entity.ExpressOrder; +import com.peanut.modules.book.entity.ExpressQueryResponse; +import com.peanut.modules.book.service.ExpressOrderService; +import com.peanut.modules.book.vo.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -41,18 +37,9 @@ public class ExpressOrderServiceImpl extends ServiceImpl placeExpressOrder(UserAddress userAddress, ExpressOrder expressOrder) { + public ExpressOrderResponseVo placeExpressOrder(ExpressOrder expressOrder) { ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo(); // 订单号 orderRequestVo.setOrderCode(expressOrder.getOrderId().toString()); @@ -74,20 +61,25 @@ public class ExpressOrderServiceImpl extends ServiceImpl params = new HashMap<>(); - params.put("RequestData", RequestData); + params.put("RequestData", requestData); params.put("EBusinessID", Constants.EXPRESS_BUSINESS_ID); params.put("RequestType", Constants.EXPRESS_REQUEST_TYPE_PLACE_ORDER); try { - String dataSign = KdUtils.encrypt(RequestData, Constants.EXPRESS_API_KEY, "UTF-8"); + String dataSign = KdUtils.encrypt(requestData, Constants.EXPRESS_API_KEY, "UTF-8"); params.put("DataSign", KdUtils.urlEncoder(dataSign, "UTF-8")); } catch (Exception e) { e.printStackTrace(); @@ -96,44 +88,29 @@ public class ExpressOrderServiceImpl extends ServiceImpl result = new HashMap<>(); - result.put("expressBillNo", expressBillNo); - result.put("template", responseVo.getPrintTemplate()); - return result; + return responseVo; } @Override - public ExpressQueryResponseVo queryExpressOrder(String ShipperCode, String LogisticCode) { - return null; - } - - private ExpressUserInfoVo buildReceiverBasedOnUserAddress(UserAddress userAddress) { - ExpressUserInfoVo vo = new ExpressUserInfoVo(); - vo.setName(userAddress.getConsigneeName()); - vo.setMobile(userAddress.getConsigneePhone()); - vo.setAddress(userAddress.getDetailAddress()); - String regionCode = userAddress.getRegionCode(); - QueryWrapper countyQueryWrapper = new QueryWrapper<>(); - countyQueryWrapper.eq("region_code", regionCode); - CountyEntity county = countyService.getOne(countyQueryWrapper); - vo.setExpAreaName(county.getCountyName()); - String cityRegionCode; - if (regionCode.startsWith("11") || regionCode.startsWith("12") || regionCode.startsWith("31") || regionCode.startsWith("50")) { - cityRegionCode = regionCode.substring(0, 2).concat("0000"); - } else { - cityRegionCode = regionCode.substring(0, 4).concat("00"); + public ExpressQueryResponse queryExpressOrder(String shipperCode, String logisticCode) { + ExpressQueryRequestVo requestVo = new ExpressQueryRequestVo(); + requestVo.setLogisticCode(logisticCode); + requestVo.setShipperCode(shipperCode); + String requestData = JSONObject.toJSONString(requestVo); + Map params = new HashMap<>(); + params.put("RequestData", requestData); + params.put("EBusinessID", Constants.EXPRESS_BUSINESS_ID); + params.put("RequestType", Constants.EXPRESS_REQUEST_TYPE_QUERY); + try { + String dataSign = KdUtils.encrypt(requestData, Constants.EXPRESS_API_KEY, "UTF-8"); + params.put("DataSign", KdUtils.urlEncoder(dataSign, "UTF-8")); + } catch (Exception e) { + e.printStackTrace(); + log.error(e.getMessage()); } - QueryWrapper cityQueryWrapper = new QueryWrapper<>(); - cityQueryWrapper.eq("region_code", cityRegionCode); - CityEntity city = cityService.getOne(cityQueryWrapper); - vo.setCityName(city.getCityName()); - String provinceRegionCode = regionCode.substring(0, 2).concat("0000"); - QueryWrapper provinceQueryWrapper = new QueryWrapper<>(); - provinceQueryWrapper.eq("region_code", provinceRegionCode); - ProvinceEntity province = provinceService.getOne(provinceQueryWrapper); - vo.setProvinceName(province.getProvName()); - return vo; + params.put("DateType", "2"); + String response = HttpClientUtils.kdSendPost(Constants.EXPRESS_QUERY_URL, params); + return JSONObject.parseObject(response, ExpressQueryResponse.class); } } diff --git a/src/main/java/com/peanut/modules/book/service/impl/PayWechatOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/PayWechatOrderServiceImpl.java index 43b16f0b..185160fb 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/PayWechatOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/PayWechatOrderServiceImpl.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; import com.peanut.modules.book.dao.PayWechatOrderDao; -import com.peanut.modules.book.entity.BuyOrderEntity; +import com.peanut.modules.book.entity.BuyOrder; import com.peanut.modules.book.entity.PayWechatOrderEntity; import com.peanut.modules.book.service.BuyOrderService; import com.peanut.modules.book.service.PayWechatOrderService; @@ -35,9 +35,9 @@ public class PayWechatOrderServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_sn", orderSn); - BuyOrderEntity buyOrder = buyOrderService.getOne(wrapper); + BuyOrder buyOrder = buyOrderService.getOne(wrapper); PayWechatOrderEntity entity = new PayWechatOrderEntity(); entity.setCustomerId(buyOrder.getUserId()); entity.setCreateTime(new Date()); diff --git a/src/main/java/com/peanut/modules/book/vo/ExpressQueryResponseVo.java b/src/main/java/com/peanut/modules/book/vo/ExpressQueryResponseVo.java index afd1191d..da941edd 100644 --- a/src/main/java/com/peanut/modules/book/vo/ExpressQueryResponseVo.java +++ b/src/main/java/com/peanut/modules/book/vo/ExpressQueryResponseVo.java @@ -1,12 +1,27 @@ package com.peanut.modules.book.vo; +import com.peanut.modules.book.entity.Trace; import lombok.Data; +import java.util.List; + /** * @Description: TODO * @Author: Cauchy - * @CreateTime: 2023/10/17 + * @CreateTime: 2023/10/18 */ @Data public class ExpressQueryResponseVo { + /** + * 订单详情 ID + */ + private Long orderDetailId; + /** + * 快递单号 + */ + private String LogisticCode; + /** + * 轨迹 + */ + private List Traces; } diff --git a/src/main/java/com/peanut/modules/book/vo/ExpressResponseOrderVo.java b/src/main/java/com/peanut/modules/book/vo/ExpressResponseOrderVo.java index 2b6d3615..2a74a961 100644 --- a/src/main/java/com/peanut/modules/book/vo/ExpressResponseOrderVo.java +++ b/src/main/java/com/peanut/modules/book/vo/ExpressResponseOrderVo.java @@ -13,4 +13,60 @@ public class ExpressResponseOrderVo { * 快递单号 */ private String LogisticCode; + /** + * 订单号 + */ + private String OrderCode; + /** + * 快递公司代码 + */ + private String ShipperCode; + /** + * 大头笔(官网文档) + */ + private String MarkDestination; + /** + * 签回单单号 + */ + private String SignWaybillCode; + /** + * 始发地区域编码 + */ + private String OriginCode; + /** + * 事发地名称 + */ + private String OriginName; + /** + * 目的地区域编码 + */ + private String DestinatioCode; + /** + * 目的地名称 + */ + private String DestinatioName; + /** + * 分拣编码 + */ + private String SortingCode; + /** + * 邮包编码 + */ + private String PackageCode; + /** + * 集包地 + */ + private String PackageName; + /** + * 目的地分拨 + */ + private String DestinationAllocationCentre; + /** + * 配送产品类型 + */ + private String TransType; + /** + * 运输方式 + */ + private String TransportType; } diff --git a/src/main/java/com/peanut/modules/book/vo/ShippingAddressRequestVo.java b/src/main/java/com/peanut/modules/book/vo/ShippingAddressRequestVo.java new file mode 100644 index 00000000..1a26b220 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/vo/ShippingAddressRequestVo.java @@ -0,0 +1,40 @@ +package com.peanut.modules.book.vo; + +import lombok.Data; + +/** + * @Description: 修改地址 Vo + * @Author: Cauchy + * @CreateTime: 2023/10/18 + */ +@Data +public class ShippingAddressRequestVo { + /** + * 订单 ID + */ + private Integer orderId; + /** + * 省份 + */ + private String province; + /** + * 城市 + */ + private String city; + /** + * 县 + */ + private String county; + /** + * 地址 + */ + private String address; + /** + * 收货人姓名 + */ + private String name; + /** + * 电话 + */ + private String mobile; +} diff --git a/src/main/java/com/peanut/modules/book/vo/UserOrderVo.java b/src/main/java/com/peanut/modules/book/vo/UserOrderVo.java index 6d62a698..09193458 100644 --- a/src/main/java/com/peanut/modules/book/vo/UserOrderVo.java +++ b/src/main/java/com/peanut/modules/book/vo/UserOrderVo.java @@ -1,7 +1,7 @@ package com.peanut.modules.book.vo; import com.baomidou.mybatisplus.annotation.TableId; -import com.peanut.modules.book.entity.BuyOrderEntity; +import com.peanut.modules.book.entity.BuyOrder; import lombok.Data; import java.util.List; @@ -32,5 +32,5 @@ public class UserOrderVo { private String isMerge = ""; - public List orderList; + public List orderList; } diff --git a/src/main/java/com/peanut/modules/mq/Consumer/OrderCancelConsumer.java b/src/main/java/com/peanut/modules/mq/Consumer/OrderCancelConsumer.java index 36c6869e..354922c5 100644 --- a/src/main/java/com/peanut/modules/mq/Consumer/OrderCancelConsumer.java +++ b/src/main/java/com/peanut/modules/mq/Consumer/OrderCancelConsumer.java @@ -2,7 +2,7 @@ package com.peanut.modules.mq.Consumer; import com.peanut.config.Constants; import com.peanut.config.DelayQueueConfig; -import com.peanut.modules.book.entity.BuyOrderEntity; +import com.peanut.modules.book.entity.BuyOrder; import com.peanut.modules.book.service.BuyOrderService; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +21,7 @@ public class OrderCancelConsumer { @RabbitListener(queues = DelayQueueConfig.ORDER_CANCEL_DEAD_LETTER_QUEUE) public void orderConsumer(String orderId) { - BuyOrderEntity buyOrder = buyOrderService.getById(orderId); + BuyOrder buyOrder = buyOrderService.getById(orderId); if(buyOrder == null){ return; } diff --git a/src/main/java/com/peanut/modules/pay/IOSPay/controller/AppController.java b/src/main/java/com/peanut/modules/pay/IOSPay/controller/AppController.java index 54ec3f06..e7239580 100644 --- a/src/main/java/com/peanut/modules/pay/IOSPay/controller/AppController.java +++ b/src/main/java/com/peanut/modules/pay/IOSPay/controller/AppController.java @@ -13,13 +13,11 @@ import com.peanut.modules.pay.IOSPay.model.entities.IosPayOrderEntity; import com.peanut.modules.pay.IOSPay.service.IapVerifyReceiptService; import com.peanut.modules.pay.IOSPay.service.OrderService; -import com.peanut.modules.pay.IOSPay.vo.FailureVo; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; import lombok.experimental.FieldDefaults; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; -import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; @@ -88,7 +86,7 @@ public class AppController { return Result.error("凭证不能为空"); IapResponseDTO receipt = iapVerifyReceiptService.verifyIapReceipt(dto.getReceiptData(), dto.isSandBox()); - BuyOrderEntity order2 = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn", dto.getOrderId()).eq("del_flag", "0")); + BuyOrder order2 = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn", dto.getOrderId()).eq("del_flag", "0")); order2.setPaymentDate(new Date()); diff --git a/src/main/java/com/peanut/modules/pay/IOSPay/service/OrderService.java b/src/main/java/com/peanut/modules/pay/IOSPay/service/OrderService.java index 5ffd5f1e..a30ea650 100644 --- a/src/main/java/com/peanut/modules/pay/IOSPay/service/OrderService.java +++ b/src/main/java/com/peanut/modules/pay/IOSPay/service/OrderService.java @@ -1,9 +1,6 @@ package com.peanut.modules.pay.IOSPay.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.PageUtils; -import com.peanut.common.utils.R; -import com.peanut.modules.book.entity.BuyOrderEntity; -import com.peanut.modules.pay.IOSPay.model.dto.IapRequestDTO; import com.peanut.modules.pay.IOSPay.model.entities.IosPayOrderEntity; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/peanut/modules/pay/IOSPay/service/impl/OrderServiceImpl.java b/src/main/java/com/peanut/modules/pay/IOSPay/service/impl/OrderServiceImpl.java index a6574365..ca969be2 100644 --- a/src/main/java/com/peanut/modules/pay/IOSPay/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/IOSPay/service/impl/OrderServiceImpl.java @@ -8,7 +8,7 @@ import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; import com.peanut.modules.app.service.UserService; import com.peanut.modules.book.entity.BookBuyConfigEntity; -import com.peanut.modules.book.entity.BuyOrderEntity; +import com.peanut.modules.book.entity.BuyOrder; import com.peanut.modules.book.entity.MyUserEntity; import com.peanut.modules.book.service.BookBuyConfigService; import com.peanut.modules.book.service.BuyOrderService; @@ -129,7 +129,7 @@ public class OrderServiceImpl extends ServiceImpl().eq("order_sn", order.getOrderid())); + BuyOrder orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", order.getOrderid())); if (null != orderEntity) { vo.setPaymentMethod(orderEntity.getPaymentMethod()); } diff --git a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java index a26296b9..39804f2a 100644 --- a/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/alipay/service/impl/AliPayServiceImpl.java @@ -14,11 +14,9 @@ import com.peanut.modules.pay.alipay.config.AliPayUtil; import com.peanut.modules.pay.alipay.dto.AlipayDTO; import com.peanut.modules.pay.alipay.service.AliPayService; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; @@ -74,7 +72,7 @@ public class AliPayServiceImpl implements AliPayService { aliNotifyDto.setCustomerid(payDto.getCustomerId()); aliNotifyDto.setRelevanceoid(payDto.getRelevanceoid()); payZfbOrderService.save(aliNotifyDto); - BuyOrderEntity order = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn",payDto.getRelevanceoid()).eq("del_flag","0")); + BuyOrder order = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn",payDto.getRelevanceoid()).eq("del_flag","0")); order.setPaymentDate(new Date()); this.buyOrderService.updateById(order); @@ -184,7 +182,7 @@ public class AliPayServiceImpl implements AliPayService { if ("order".equals(subject)) { System.out.println("=====到order更新字段=================================================================================================================="); - BuyOrderEntity orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", oldPayZfbOrderEntity.getRelevanceoid())); + BuyOrder orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", oldPayZfbOrderEntity.getRelevanceoid())); System.out.println("======orderEntity=========="+orderEntity); BigDecimal realMoney = orderEntity.getRealMoney(); System.out.println("======realMoney=========="+realMoney); diff --git a/src/main/java/com/peanut/modules/pay/applePay/service/impl/ApplePayServiceImpl.java b/src/main/java/com/peanut/modules/pay/applePay/service/impl/ApplePayServiceImpl.java index 4555224e..d0c10570 100644 --- a/src/main/java/com/peanut/modules/pay/applePay/service/impl/ApplePayServiceImpl.java +++ b/src/main/java/com/peanut/modules/pay/applePay/service/impl/ApplePayServiceImpl.java @@ -137,7 +137,7 @@ public class ApplePayServiceImpl implements ApplePayService { //如果验证后的订单号与app端传来的订单号一致并且状态为已支付状态则处理自己的业务 if (transactionID.equals(transactionId) && "PURCHASED".equals(in_app_ownership_type)) { //===================处理自己的业务 ============================ - BuyOrderEntity order = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn", transactionId )); + BuyOrder order = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn", transactionId )); PayWechatOrderEntity wechat = new PayWechatOrderEntity(); @@ -155,7 +155,7 @@ public class ApplePayServiceImpl implements ApplePayService { } if ("order".equals(order.getOrderType())) { - BuyOrderEntity orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", wechat.getOrderId())); + BuyOrder orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", wechat.getOrderId())); BigDecimal realMoney = orderEntity.getRealMoney(); //更新 订单 记录 diff --git a/src/main/java/com/peanut/modules/pay/weChatPay/controller/WeChatPayController.java b/src/main/java/com/peanut/modules/pay/weChatPay/controller/WeChatPayController.java index 21c23283..94895846 100644 --- a/src/main/java/com/peanut/modules/pay/weChatPay/controller/WeChatPayController.java +++ b/src/main/java/com/peanut/modules/pay/weChatPay/controller/WeChatPayController.java @@ -71,9 +71,9 @@ public class WeChatPayController { @RequestMapping(value = "/placeAnOrder/shoppingPay") @Transactional(rollbackFor = Exception.class) public R newShoppingPay(@RequestBody WechatPaymentInfo paymentInfo) { - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_sn", paymentInfo.getOrderSn()); - BuyOrderEntity order = buyOrderService.getOne(queryWrapper); + BuyOrder order = buyOrderService.getOne(queryWrapper); // 判断订单是否已经过期 if (order.getOrderStatus().equals("5")) { return R.error("订单支付超时"); @@ -121,10 +121,10 @@ public class WeChatPayController { Map resourceMap = WechatPayValidator.decryptFromResource(resource, wechatPayConfig.getApiV3Key(), 1); String orderNo = resourceMap.get("out_trade_no").toString(); // 根据订单号,做幂等处理,并且在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱 - BuyOrderEntity order = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn", orderNo)); + BuyOrder order = this.buyOrderService.getOne(new QueryWrapper().eq("order_sn", orderNo)); // 1.根据订单id获取订单信息 if ("order".equals(order.getOrderType())) { - BuyOrderEntity orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", orderNo)); + BuyOrder orderEntity = buyOrderService.getBaseMapper().selectOne(new QueryWrapper().eq("order_sn", orderNo)); BigDecimal realMoney = orderEntity.getRealMoney(); // 查询订单的所有 book_id List orderBookIdList = shopProductBookService.getOrderBookId(order.getOrderSn()); diff --git a/src/main/resources/mapper/book/BuyOrderDao.xml b/src/main/resources/mapper/book/BuyOrderDao.xml index c3435fe1..44e727d5 100644 --- a/src/main/resources/mapper/book/BuyOrderDao.xml +++ b/src/main/resources/mapper/book/BuyOrderDao.xml @@ -4,7 +4,7 @@ - + @@ -51,7 +51,7 @@ - select *, buy_order_detail.order_id,