From c5a4733debc9c2fe0c75f73e0c31cc9c9d4c560c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 15 七月 2025 11:39:39 +0800
Subject: [PATCH] 硬件数据推送
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java | 132 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 119 insertions(+), 13 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
index 875aa4a..10b7aab 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -3,14 +3,22 @@
import java.time.LocalDateTime;
+import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.account.api.feignClient.AppUserAddressClient;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUserAddress;
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.dto.ExchangeBackDto;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.log.enums.OperatorType;
+import com.ruoyi.common.security.annotation.Logical;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.model.TShoppingOrder;
@@ -25,6 +33,8 @@
import com.ruoyi.order.service.TShoppingOrderService;
import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.common.core.utils.OrderCodeUtil;
+import com.ruoyi.other.api.domain.TCoupon;
+import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.other.api.feignClient.CouponClient;
import com.ruoyi.other.api.feignClient.GoodsClient;
import com.ruoyi.payment.api.feignClient.AliPaymentClient;
@@ -66,8 +76,16 @@
private GoodsClient goodsClient;
@Resource
private CouponClient couponClient;
-
-
+
+ @Resource
+ private SysUserClient sysUserClient;
+
+ @Resource
+ private TokenService tokenService;
+
+
+
+ @RequiresPermissions(value = {"/exchangeOrder"}, logical = Logical.OR)
@PostMapping("/getExchangeOrderList")
@ApiOperation(value = "列表查询", tags = {"管理后台-兑换订单"})
public AjaxResult<PageInfo<TExchangeOrder>> getExchangeOrderList(@RequestBody ShoppingOrderQuery query) {
@@ -91,8 +109,10 @@
PageInfo<TExchangeOrder> res = exchangeOrderService.pageList(query);
return AjaxResult.success(res);
}
- @Resource
- private SysUserClient sysUserClient;
+
+
+
+ @RequiresPermissions(value = {"/exchangeOrder/deliver_goods"}, logical = Logical.OR)
@GetMapping("/getShoppingOrderInfoById")
@ApiOperation(value = "根据订单id查看订单详情", tags = {"管理后台-兑换订单"})
public AjaxResult<TExchangeOrder> getShoppingOrderList(String id) {
@@ -116,16 +136,35 @@
byId.setReceivingAddress(data.getAddress());
}
}
+ switch (byId.getOrderType()){
+ case 1:
+ TGoods data = goodsClient.getGoodsById(byId.getGoodsId()).getData();
+ if (data!=null){
+ byId.setName(data.getName());
+ }
+ break;
+ case 2:
+ TCoupon data1 = couponClient.getCouponById1(byId.getCouponId()).getData();
+ if (data1!=null){
+ byId.setName(data1.getName());
+ }
+ break;
+ }
return AjaxResult.success(byId);
}
- @Resource
- private TokenService tokenService;
+
+
+
+ @RequiresPermissions(value = {"/exchangeOrder/del"}, logical = Logical.OR)
@GetMapping("/deleteShoppingOrder")
@ApiOperation(value = "批量删除订单", tags = {"管理后台-兑换订单"})
public AjaxResult<TExchangeOrder> deleteShoppingOrder(String ids) {
exchangeOrderService.removeBatchByIds(Arrays.asList(ids.split(",")));
return AjaxResult.success();
}
+
+
+ @RequiresPermissions(value = {"/exchangeOrder/cancel"}, logical = Logical.OR)
@GetMapping("/cancelShoppingOrder")
@ApiOperation(value = "取消订单", tags = {"管理后台-兑换订单"})
public AjaxResult cancelShoppingOrder(String id) {
@@ -140,10 +179,16 @@
appUserClient.refundPoints(byId.getAppUserId()+"-"+points);
return AjaxResult.success();
}
+
+
+
+ @RequiresPermissions(value = {"/exchangeOrder/deliver_goods"}, logical = Logical.OR)
@GetMapping("/consignerShoppingOrder")
@ApiOperation(value = "发货", tags = {"管理后台-兑换订单"})
- public AjaxResult consignerShoppingOrder(String id) {
+ public AjaxResult consignerShoppingOrder(String id,String companyName,String code) {
TExchangeOrder byId = exchangeOrderService.getById(id);
+ byId.setExpressCompany(companyName);
+ byId.setExpressNumber(code);
Long userid = tokenService.getLoginUser().getUserid();
byId.setConsignerId(userid);
byId.setConsignerTime(LocalDateTime.now());
@@ -199,20 +244,62 @@
for (int i = 0; i < split1.length; i++) {
Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
.eq("order_type",1)
- .ne("refund_status", 2))
+ .eq("goods_id", split1[i])
+ .isNull("refund_status"))
.stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum);
res.add(reduce);
}
break;
case 2:
for (int i = 0; i < split1.length; i++) {
- Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",1).ne("status",4).eq("goods_id", split1[i]))
+ Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",1)
+ .ne("status",4).eq("goods_id", split1[i]))
.stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
res.add(reduce);
}
break;
}
return R.ok(res);
+ }
+
+ @GetMapping("/getCount")
+ public R<Integer> getCount(@RequestParam("goodId") Integer goodId,@RequestParam("goodeType")Integer goodeType,@RequestParam("buyType")Integer buyType){
+ if (buyType==1){
+ //现金
+ if (goodeType==1){
+ //商品
+ Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
+ .eq("order_type",1)
+ .eq("goods_id", goodId)
+ .isNull("refund_status"))
+ .stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+ return R.ok(reduce);
+ }else {
+ //优惠券
+ Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
+ .eq("order_type",2)
+ .eq("coupon_id", goodId)
+ .isNull("refund_status"))
+ .stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+ return R.ok(reduce);
+ }
+
+ }else {
+ //兑换
+ if (goodeType==1){
+ Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",1)
+ .ne("status",4).eq("goods_id", goodId))
+ .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+ return R.ok(reduce);
+ }else {
+ Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",2)
+ .ne("status",4).eq("coupon_id", goodId))
+ .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+ return R.ok(reduce);
+ }
+ }
+
+
}
/**
* 管理后台 根据t_app_coupon订单ids查询优惠券的订单编号
@@ -221,7 +308,7 @@
*/
@GetMapping("/getCodeByOrderId/{goodsIds}")
public R<List<String>> getCodeByOrderId(@PathVariable("goodsIds") String goodsIds){
- String[] split = goodsIds.split("-");
+ String[] split = goodsIds.split(",");
List<String> strings = new ArrayList<>();
for (String s : split) {
if (s.contains("-")){
@@ -261,9 +348,11 @@
return R.ok(exchangeOrderService.lambdaQuery().eq(TExchangeOrder::getCouponId,goodId).eq(TExchangeOrder::getAppUserId,userId).ne(TExchangeOrder::getStatus,4).count());
}
}
+ @Resource
+ private AppUserAddressClient appUserAddressClient;
@PostMapping("/create")
- public R<Long> exchangeCreate(@RequestBody ExchangeDto exchangeDto){
+ public R<ExchangeBackDto> exchangeCreate(@RequestBody ExchangeDto exchangeDto){
TExchangeOrder tExchangeOrder = new TExchangeOrder();
tExchangeOrder.setCode(OrderCodeUtil.getOrderCode("DH"));
tExchangeOrder.setAppUserId(exchangeDto.getUserId());
@@ -276,7 +365,7 @@
tExchangeOrder.setPurchaseQuantity(1);
tExchangeOrder.setAppUserAddressId(exchangeDto.getAddressId()==null?null:Long.valueOf(exchangeDto.getAddressId()));
tExchangeOrder.setPoints(exchangeDto.getPoint());
- tExchangeOrder.setRemark("");
+ tExchangeOrder.setRemark(exchangeDto.getRemark());
if (exchangeDto.getGoodType()==1){
tExchangeOrder.setStatus(1);
}else {
@@ -284,8 +373,16 @@
}
tExchangeOrder.setCreateTime(LocalDateTime.now());
tExchangeOrder.setDelFlag(false);
+
+ TAppUserAddress data = appUserAddressClient.getAppUserAddressById(exchangeDto.getAddressId()).getData();
+ tExchangeOrder.setAddressJson(JSON.toJSONString(data));
+
exchangeOrderService.save(tExchangeOrder);
- return R.ok(tExchangeOrder.getId());
+ ExchangeBackDto exchangeBackDto = new ExchangeBackDto();
+ exchangeBackDto.setId(tExchangeOrder.getId());
+ exchangeBackDto.setCode(tExchangeOrder.getCode());
+
+ return R.ok(exchangeBackDto);
}
@@ -304,6 +401,11 @@
@ApiOperation(value = "获取兑换订单详情", tags = {"小程序-兑换记录"})
public AjaxResult<ExchangeOrderGoodsInfo> getGoodsExchangeOrder(@PathVariable String id){
ExchangeOrderGoodsInfo goodsExchangeOrder = exchangeOrderService.getGoodsExchangeOrder(id);
+ TExchangeOrder exchangeOrder = exchangeOrderService.getById(id);
+ Long userId = tokenService.getLoginUserApplet().getUserId();
+ if(!exchangeOrder.getAppUserId().equals(userId)){
+ return AjaxResult.error("权限不足");
+ }
return AjaxResult.success(goodsExchangeOrder);
}
@@ -312,6 +414,10 @@
@ApiOperation(value = "确认收货操作", tags = {"小程序-兑换记录"})
public AjaxResult confirmReceipt(@PathVariable String id){
TExchangeOrder tExchangeOrder = exchangeOrderService.getById(id);
+ Long userId = tokenService.getLoginUserApplet().getUserId();
+ if(!tExchangeOrder.getAppUserId().equals(userId)){
+ return AjaxResult.error("权限不足");
+ }
if(tExchangeOrder.getStatus() == 3){
return AjaxResult.error("不能重复确认收货");
}
--
Gitblit v1.7.1