From 1d324cf1f3d108cdd47afbcf87a1aa1fa398fa70 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 27 八月 2024 17:35:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java | 235 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 191 insertions(+), 44 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
index 5b448ec..5312f64 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -3,19 +3,38 @@
import java.time.LocalDateTime;
+import com.ruoyi.account.api.feignClient.AppCouponClient;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppUserAddress;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.common.core.utils.OrderCodeUtil;
import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.model.TShoppingOrder;
+import com.ruoyi.order.api.query.ShoppingOrderQuery;
import com.ruoyi.order.dto.*;
import com.ruoyi.order.service.TShoppingOrderService;
+import com.ruoyi.other.api.feignClient.CouponClient;
+import com.ruoyi.other.api.feignClient.GoodsClient;
+import com.ruoyi.payment.api.feignClient.AliPaymentClient;
+import com.ruoyi.payment.api.feignClient.WxPaymentClient;
+import com.ruoyi.payment.api.model.RefundReq;
+import com.ruoyi.payment.api.model.RefundResp;
+import com.ruoyi.payment.api.model.WxPaymentRefundModel;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.Date;
import java.util.List;
/**
@@ -33,8 +52,139 @@
@Resource
private TShoppingOrderService shoppingOrderService;
-
-
+ @Resource
+ private AppUserClient appUserClient;
+ @Resource
+ private GoodsClient goodsClient;
+ @Resource
+ private CouponClient couponClient;
+
+
+ @PostMapping("/getShoppingOrderList")
+ @ApiOperation(value = "列表查询", tags = {"管理后台-购物订单"})
+ public AjaxResult<PageInfo<TShoppingOrder>> getShoppingOrderList(@RequestBody ShoppingOrderQuery query) {
+ if (StringUtils.hasLength(query.getPhone())) {
+ List<Long> data = appUserClient.getUserIdsByPhone(query.getPhone()).getData();
+ if (data.isEmpty()){
+ return AjaxResult.success(new PageInfo<TShoppingOrder>());
+ }
+ query.setUserIds(data);
+ }
+ if (StringUtils.hasLength(query.getName())) {
+ List<Integer> data = goodsClient.getGoodsIdsByName(query.getName()).getData();
+ query.setGoodsIds(data);
+ List<Integer> data1 = couponClient.getCouponIdsByName(query.getName()).getData();
+ query.setCouponIds(data1);
+ if (data.isEmpty() && data1.isEmpty()){
+ return AjaxResult.success(new PageInfo<TShoppingOrder>());
+ }
+ }
+ PageInfo<TShoppingOrder> res = shoppingOrderService.pageList(query);
+ return AjaxResult.success(res);
+ }
+ @Resource
+ private SysUserClient sysUserClient;
+ @PostMapping("/getShoppingOrderInfoById")
+ @ApiOperation(value = "根据订单id查看订单详情", tags = {"管理后台-购物订单"})
+ public AjaxResult<TShoppingOrder> getShoppingOrderList(String id) {
+ TShoppingOrder byId = shoppingOrderService.getById(id);
+ if (byId.getConsignerId()!=null){
+ SysUser data = sysUserClient.getSysUser(byId.getConsignerId()).getData();
+ if (data!=null){
+ byId.setConsignerName(data.getUserName());
+ }
+ }
+ if (byId.getCancellationId()!=null){
+ SysUser data = sysUserClient.getSysUser(byId.getCancellationId()).getData();
+ if (data!=null){
+ byId.setCancellationName(data.getUserName());
+ }
+ }
+ if (byId.getAppUserAddressId()!=null){
+ TAppUserAddress data = appUserClient.getAddressById(byId.getAppUserAddressId()).getData();
+ if (data!=null){
+ byId.setReceivingName(data.getName()+"-"+data.getPhone());
+ byId.setReceivingAddress(data.getAddress());
+ }
+ }
+ return AjaxResult.success(byId);
+ }
+ @GetMapping("/deleteShoppingOrder")
+ @ApiOperation(value = "批量删除订单", tags = {"管理后台-购物订单"})
+ public AjaxResult<TShoppingOrder> deleteShoppingOrder(String ids) {
+ shoppingOrderService.removeBatchByIds(Arrays.asList(ids.split(",")));
+ return AjaxResult.success();
+ }
+ @Resource
+ private TokenService tokenService;
+ @Resource
+ private AliPaymentClient aliPaymentClient;
+ @Resource
+ private WxPaymentClient wxPaymentClient;
+ @Resource
+ private AppCouponClient appCouponClient;
+ @GetMapping("/cancelShoppingOrder")
+ @ApiOperation(value = "取消订单", tags = {"管理后台-购物订单"})
+ public AjaxResult cancelShoppingOrder(String id) {
+ TShoppingOrder byId = shoppingOrderService.getById(id);
+ Long userid = tokenService.getLoginUser().getUserid();
+ // todo 根据支付方式 取消订单
+ byId.setCancellationId(userid);
+ byId.setCancellationTime(LocalDateTime.now());
+ byId.setStatus(4);
+ switch (byId.getPaymentType()){
+ case 1:
+ // 微信
+ WxPaymentRefundModel wxPaymentRefundModel = new WxPaymentRefundModel();
+ wxPaymentRefundModel.setTransaction_id(byId.getSerialNumber());
+ wxPaymentRefundModel.setOut_trade_no(byId.getCode());
+ wxPaymentRefundModel.setOut_refund_no(OrderCodeUtil.getOrderCode("GW"));
+ // todo 部署到线上之后写回调地址
+// wxPaymentRefundModel.setNotify_url("");
+ String string = byId.getPaymentAmount().multiply(new BigDecimal("100")).toString();
+ int i = Integer.parseInt(string);
+ WxPaymentRefundModel.RefundAmount refundAmount = new WxPaymentRefundModel.RefundAmount();
+ refundAmount.setTotal(i);
+ refundAmount.setRefund(i);
+ wxPaymentRefundModel.setAmount(refundAmount);
+ wxPaymentClient.refundOrderR(wxPaymentRefundModel);
+ break;
+ case 2:
+ // 支付宝
+ RefundReq refundReq = new RefundReq();
+ refundReq.setOutTradeNo(byId.getSerialNumber());
+ String gw = OrderCodeUtil.getOrderCode("GW");
+ refundReq.setOutRequestNo(gw);
+ refundReq.setRefundAmount(byId.getPaymentAmount().toString());
+ refundReq.setRefundReason("后台退款");
+ RefundResp data = aliPaymentClient.refund(refundReq).getData();
+ if (data!=null){
+ // 退款成功 回退优惠券
+// byId.setStatus(4);
+ if (byId.getAppCouponId()!=null){
+ appCouponClient.refund(byId.getAppCouponId().toString());
+ byId.setRefundCode(gw);
+ byId.setRefundAmount(byId.getPaymentAmount());
+ byId.setRefundStatus(2);
+ byId.setRefundSerialNumber(data.getTradeNo());
+ }
+ }
+ break;
+ }
+ shoppingOrderService.updateById(byId);
+ return AjaxResult.success();
+ }
+ @GetMapping("/consignerShoppingOrder")
+ @ApiOperation(value = "发货", tags = {"管理后台-购物订单"})
+ public AjaxResult consignerShoppingOrder(String id) {
+ TShoppingOrder byId = shoppingOrderService.getById(id);
+ Long userid = tokenService.getLoginUser().getUserid();
+ byId.setConsignerId(userid);
+ byId.setConsignerTime(LocalDateTime.now());
+ byId.setStatus(2);
+ shoppingOrderService.updateById(byId);
+ return AjaxResult.success();
+ }
@GetMapping("/getMyShoppingOrderList")
@ApiOperation(value = "获取购买订单列表", tags = {"小程序-商城购买订单"})
public AjaxResult<List<MyShoppingOrderList>> getMyShoppingOrderList(GetMyShoppingOrderList query){
@@ -88,47 +238,44 @@
return AjaxResult.success(list);
}
-// @PostMapping("/create")
-// public R<Long> shopCreate(@RequestBody ExchangeDto exchangeDto){
-// TShoppingOrder shoppingOrder = new TShoppingOrder();
-// shoppingOrder.setCode(OrderCodeUtil.getOrderCode("GW"));
-// shoppingOrder.setAppUserId(exchangeDto.getUserId());
-// shoppingOrder.setOrderType(exchangeDto.getGoodType());
-// if (exchangeDto.getGoodType()==1) {
-// shoppingOrder.setGoodsId(exchangeDto.getGoodId());
-// }else {
-// shoppingOrder.setCouponId(exchangeDto.getGoodId());
-// }
-// shoppingOrder.setPurchaseQuantity(exchangeDto.getNum());
-// shoppingOrder.setAppUserAddressId(Long.valueOf(exchangeDto.getAddressId()));
-// shoppingOrder.setOrderAmount(new BigDecimal("0"));
-// shoppingOrder.setAppCouponId(0L);
-// shoppingOrder.setCouponDiscountAmount(new BigDecimal("0"));
-// shoppingOrder.setVipDiscount(new BigDecimal("0"));
-// shoppingOrder.setVipDiscountAmount(new BigDecimal("0"));
-// shoppingOrder.setPaymentAmount(new BigDecimal("0"));
-// shoppingOrder.setPaymentStatus(0);
-// shoppingOrder.setPaymentType(0);
-// shoppingOrder.setSerialNumber("");
-// shoppingOrder.setRemark("");
-// shoppingOrder.setStatus(0);
-// shoppingOrder.setExpressCompany("");
-// shoppingOrder.setExpressNumber("");
-// shoppingOrder.setConsignerId(0);
-// shoppingOrder.setConsignerTime(LocalDateTime.now());
-// shoppingOrder.setReceivingTime(LocalDateTime.now());
-// shoppingOrder.setCancellationTime(LocalDateTime.now());
-// shoppingOrder.setCancellationId(0);
-// shoppingOrder.setRefundCode("");
-// shoppingOrder.setRefundAmount(new BigDecimal("0"));
-// shoppingOrder.setRefundStatus(0);
-// shoppingOrder.setRefundSerialNumber("");
-// shoppingOrder.setRefundTime(LocalDateTime.now());
-// shoppingOrder.setCreateTime(LocalDateTime.now());
-// shoppingOrder.setDelFlag(false);
-//
-//
-//
-// }
+ @PostMapping("/create")
+ public R<TShoppingOrder> shopCreate(@RequestBody ExchangeDto exchangeDto){
+ TShoppingOrder shoppingOrder = new TShoppingOrder();
+ shoppingOrder.setCode(OrderCodeUtil.getOrderCode("GW"));
+ shoppingOrder.setAppUserId(exchangeDto.getUserId());
+ shoppingOrder.setOrderType(exchangeDto.getGoodType());
+ if (exchangeDto.getGoodType()==1) {
+ shoppingOrder.setGoodsId(exchangeDto.getGoodId());
+ }else {
+ shoppingOrder.setCouponId(exchangeDto.getGoodId());
+ }
+ shoppingOrder.setPurchaseQuantity(exchangeDto.getNum());
+ shoppingOrder.setAppUserAddressId(Long.valueOf(exchangeDto.getAddressId()));
+ shoppingOrder.setOrderAmount(exchangeDto.getOrderPrice());
+ if (exchangeDto.getCouponId()!=null) {
+ shoppingOrder.setAppCouponId(exchangeDto.getCouponId());
+ }
+ shoppingOrder.setCouponDiscountAmount(exchangeDto.getDiscountPrice());
+ shoppingOrder.setVipDiscount(new BigDecimal("0"));
+ shoppingOrder.setVipDiscountAmount(exchangeDto.getVipDiscount());
+ shoppingOrder.setPaymentAmount(exchangeDto.getPayPrice());
+ shoppingOrder.setPaymentStatus(1);
+ shoppingOrder.setPaymentType(exchangeDto.getPayMethod());
+ shoppingOrder.setRemark(exchangeDto.getRemark());
+ shoppingOrder.setStatus(1);
+ shoppingOrder.setCreateTime(LocalDateTime.now());
+ shoppingOrder.setDelFlag(false);
+ shoppingOrderService.save(shoppingOrder);
+
+ return R.ok(shoppingOrder);
+
+ }
+
+ @PostMapping("/callBack")
+ public R callBack(@RequestParam("code")String code,@RequestParam("outTradeNo")String outTradeNo){
+ shoppingOrderService.callBack(code,outTradeNo);
+ return R.ok();
+
+ }
}
--
Gitblit v1.7.1