From d617e84caebaf2e7aa09c55cb2bd89c5a23ef8ac Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期六, 28 六月 2025 15:58:33 +0800
Subject: [PATCH] bug修改
---
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml | 3
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java | 27 ++++--
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java | 2
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 15 +++
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 58 ++++++++++++++
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponEditDto.java | 20 +++++
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelOrderDTO.java | 11 ++
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java | 3
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml | 1
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventEditDTO.java | 6 +
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java | 31 ++++---
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java | 4
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventPageDto.java | 1
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java | 3
14 files changed, 156 insertions(+), 29 deletions(-)
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java
index 8bdf72c..4fc2052 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerGoodsController.java
@@ -57,20 +57,23 @@
page.setOptimizeCountSql(false);
List<MerGoodsPageVo> merGoodsPageVoList = goodsService.pageMerShopGoods(page, merGoodsPageDto);
Shop shop = remoteShopService.getShop(merGoodsPageDto.getShopId()).getData();
- Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData();
- merGoodsPageVoList.forEach(merGoodsPageVo -> {
- ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(belongShop.getShopId(), merGoodsPageVo.getGoodsId());
- //后台开启经销商统一售价,且经销商设置了统一售价,加盟商不能修改价格
- if (1 == belongShop.getModifyPricePermission() && null != shopGoods) {
- merGoodsPageVo.setModifyPricePermission(0);
- merGoodsPageVo.setIsUnifiedPrice(1);
- merGoodsPageVo.setUnifiedPrice(shopGoods.getSalesPrice());
- merGoodsPageVo.setUnifiedServerNum(shopGoods.getServiceNum());
- } else {
- merGoodsPageVo.setModifyPricePermission(1);
- merGoodsPageVo.setIsUnifiedPrice(0);
- }
- });
+ if (null != shop.getBelongShopId()){
+ Shop belongShop = remoteShopService.getShop(shop.getBelongShopId()).getData();
+ merGoodsPageVoList.forEach(merGoodsPageVo -> {
+ ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(belongShop.getShopId(), merGoodsPageVo.getGoodsId());
+ //后台开启经销商统一售价,且经销商设置了统一售价,加盟商不能修改价格
+ if (1 == belongShop.getModifyPricePermission() && null != shopGoods) {
+ merGoodsPageVo.setModifyPricePermission(0);
+ merGoodsPageVo.setIsUnifiedPrice(1);
+ merGoodsPageVo.setUnifiedPrice(shopGoods.getSalesPrice());
+ merGoodsPageVo.setUnifiedServerNum(shopGoods.getServiceNum());
+ } else {
+ merGoodsPageVo.setModifyPricePermission(1);
+ merGoodsPageVo.setIsUnifiedPrice(0);
+ }
+ });
+ }
+
return R.ok(page.setRecords(merGoodsPageVoList));
}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java
index 68ab24a..6444bad 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerLotteryEventController.java
@@ -80,10 +80,10 @@
return R.fail("抽奖活动不存在");
}
if (LocalDateTime.now().isAfter(lotteryEvent.getStartTime())) {
- return R.fail("删除失败");
+ return R.fail("活动已开始,不能删除!");
}
if (!lotteryEvent.getShopId().equals(dto.getShopId())) {
- return R.fail("删除失败");
+ return R.fail("删除失败,该活动不属于该店铺");
}
lotteryEvent.setDelFlag(1);
lotteryEventService.updateById(lotteryEvent);
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java
index a2be9f9..12c457b 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/DelShopLotteryDrawDto.java
@@ -10,7 +10,7 @@
@Data
public class DelShopLotteryDrawDto {
@ApiModelProperty("门店id")
- private Long shopId;
+ private Integer shopId;
@ApiModelProperty("抽奖活动id")
private String id;
}
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java
index ed9fd6b..4770a5c 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtGoodsPageDto.java
@@ -17,6 +17,9 @@
@ApiModelProperty(value = "商品名称")
private String goodsName;
+ @ApiModelProperty(value = "商品编码")
+ private String goodsNo;
+
@ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
private Integer goodsType;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventEditDTO.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventEditDTO.java
index 221e2db..8ff7074 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventEditDTO.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventEditDTO.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonRawValue;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -26,9 +27,9 @@
@NotEmpty(message = "活动简介不能为空")
private String activityProfile;
- @ApiModelProperty("开启方式(1=新注册用户,2=下单,3=分享小程序,4=普通抽奖,5=答题抽奖)")
+ @ApiModelProperty("开启方式(1=新注册用户,2=下单,3=分享小程序,4=普通抽奖,5=答题抽奖,6=线下抽奖)")
@Min(value = 1,message = "开启方式选值错误")
- @Max(value = 5,message = "开启方式选值错误")
+ @Max(value = 6,message = "开启方式选值错误")
@NotNull(message = "开启方式不能为空")
private Integer activityType;
@@ -73,6 +74,7 @@
@ApiModelProperty("详情介绍")
@NotEmpty(message = "详情介绍不能为空")
+ @JsonRawValue
private String activityContent;
@ApiModelProperty("抽奖奖品设置")
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventPageDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventPageDto.java
index b9e0058..194a232 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventPageDto.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MgtLotteryEventPageDto.java
@@ -27,6 +27,7 @@
@ApiModelProperty(value = "平台创建标志 0-未包含平台创建 1-包含",hidden = true)
private Integer flag=1;
+ @ApiModelProperty(value = "分页偏移量",hidden = true)
private Integer offset;
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java
index bc77fe4..808ef27 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java
@@ -265,6 +265,8 @@
.eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的
.between(TLotteryEvent::getStartTime, dto.getStartTime(), dto.getEndTime())//开始时间在这个活动的(开始-结束)范围内的
.or()
+ .eq(TLotteryEvent::getDelFlag, 0)//未删除的
+ .eq(TLotteryEvent::getActivityType, dto.getActivityType())//类型相同的
.between(TLotteryEvent::getEndTime, dto.getStartTime(), dto.getEndTime())//结束时间在这个活动的(开始-结束)范围内的
);
if (null != lotteryEvents && !lotteryEvents.isEmpty()) {
@@ -482,6 +484,7 @@
//1.奖品数据删除
/* lotteryEventPrizeService.remove(new LambdaQueryWrapper<TLotteryEventPrize>()
.eq(TLotteryEventPrize::getLotteryEventId,lotteryEvent.getId()));*/
+
lotteryEventPrizeService.deleteByLotteryEventId(lotteryEvent.getId());
//2.答题类型
if (lotteryEvent.getActivityType().equals(5)) {
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
index 85671ec..7b39e7e 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -401,6 +401,9 @@
<if test="param.goodsType != null and param.goodsType != ''">
AND tg.goods_type = #{param.goodsType}
</if>
+ <if test="param.goodsNo != null and param.goodsNo != ''">
+ AND tg.goods_no LIKE CONCAT('%',#{param.goodsNo},'%')
+ </if>
<if test="param.goodsClassId != null and param.goodsClassId != ''">
AND tg.goods_class_id = #{param.goodsClassId}
</if>
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml
index 38f11cb..5a29d3f 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/LotteryEventMapper.xml
@@ -97,6 +97,7 @@
</otherwise>
</choose>
</if>
+ order by create_time desc
limit #{dto.offset},#{dto.pageSize}
</select>
<select id="pageMgtLotteryEventCount" resultType="java.lang.Long">
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponEditDto.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponEditDto.java
index b39c986..101e7ec 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponEditDto.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtCouponEditDto.java
@@ -5,7 +5,9 @@
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import org.hibernate.validator.constraints.Range;
+import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
@@ -51,6 +53,7 @@
private Integer useScope;
@ApiModelProperty(value = "有效期类型1.时间段2.领取之日起")
+ @Range(min = 1, max = 2, message = "有效期类型只能是1或2")
private Integer validTimeType;
@ApiModelProperty(value = "有效开始时间")
@@ -103,5 +106,22 @@
@ApiModelProperty("分享图片")
private String sharePic;
+ // 自定义校验逻辑
+ @AssertTrue(message = "当有效期类型为时间段时,有效开始时间和有效截止时间不能为空")
+ public boolean isValidTimeRange() {
+ if (validTimeType == null) return true; // 由@NotNull校验
+ if (validTimeType == 1) {
+ return validStartTime != null && validEndTime != null;
+ }
+ return true;
+ }
+ @AssertTrue(message = "当有效期类型为领取之日起时,有效期不能为空且必须大于0")
+ public boolean isValidDay() {
+ if (validTimeType == null) return true;
+ if (validTimeType == 2) {
+ return validDay != null && validDay > 0;
+ }
+ return true;
+ }
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
index 172951c..aa4c921 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
@@ -3,11 +3,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.order.domain.dto.MgtMemberOrderPageDto;
-import com.ruoyi.order.domain.dto.MgtMemberOrderTotalDto;
-import com.ruoyi.order.domain.dto.MgtShopAllOrderPageDto;
-import com.ruoyi.order.domain.dto.MgtShopOrderPageDto;
+import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
@@ -193,10 +192,20 @@
util.exportExcel(response, shopAllOrderPageVoList, "商户订单记录");
}
- //todo 取消
-
- //todo 退款
-
+ //取消
+ @RequestMapping(value = "/cancelOrderBySys", method = RequestMethod.POST)
+ @Log(title = "订单管理", businessType = BusinessType.UPDATE,operContent = "取消订单")
+ @ApiOperation(value = "取消订单【2.0】")
+ public R cancelOrderBySys(@RequestBody CancelOrderDTO dto) {
+ return orderService.cancelOrderBySys(dto);
+ }
+ //退款
+ @RequestMapping(value = "/refundOrderBySys", method = RequestMethod.POST)
+ @Log(title = "订单管理", businessType = BusinessType.UPDATE,operContent = "退款")
+ @ApiOperation(value = "退款【2.0】")
+ public R refundOrderBySys(@RequestBody CancelOrderDTO dto) {
+ return orderService.refundOrderBySys(dto);
+ }
//todo 分页获取三方订单
- //todo 导出
+ //todo 导出三方订单
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelOrderDTO.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelOrderDTO.java
new file mode 100644
index 0000000..3a2b2f4
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/CancelOrderDTO.java
@@ -0,0 +1,11 @@
+package com.ruoyi.order.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MgtBaseDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CancelOrderDTO extends MgtBaseDto {
+ @ApiModelProperty("订单id")
+ private String orderId;
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 6d9e8e8..fcd22cb 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1584,7 +1584,7 @@
List<TLotteryEvent> collect = data.stream().filter(s -> s.getPayMoney().compareTo(order.getPayMoney()) >= 0).collect(Collectors.toList());
appPlaceOrderVo.setLotteryDraw(collect.size() > 0);
if (collect.size() > 0) {
- appPlaceOrderVo.setLotteryEventId(collect.get(0).getEventId());
+ appPlaceOrderVo.setLotteryEventId(collect.get(0).getId());
}
} else {
appPlaceOrderVo.setLotteryDraw(false);
@@ -6709,4 +6709,60 @@
}
return new ArrayList<>();
}
+ /**
+ * 后台取消订单
+ * 订单状态变为已取消 不退款
+ * @param dto
+ */
+ @Override
+ public R cancelOrderBySys(CancelOrderDTO dto) {
+ Order order = this.getById(dto.getOrderId());
+ // 订单状态-1.删除 0.已取消 1.待支付 2.待核销 3.已完成
+ if(null == order || order.getDelFlag() == -1){
+ return R.fail("订单不存在");
+ }
+
+ if (order.getOrderStatus() == 0) {
+ return R.fail(AppErrorConstant.CANCEL_CANCEL_ORDER);
+ } else if (order.getOrderStatus() == 1) {
+ //删除待支付超时取消延时任务
+ redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId());
+ remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+"-"+order.getOrderId());
+ order.setOrderStatus(0);
+ order.setCancelTime(new Date());
+ this.saveOrUpdate(order);
+ } else if (order.getOrderStatus() == 2) {
+ // 2.待核销
+ order.setOrderStatus(0);
+ order.setCancelTime(new Date());
+ this.saveOrUpdate(order);
+ } else {
+ return R.fail(AppErrorConstant.CANCEL_ERROR_ORDER);
+ }
+ return R.ok();
+ }
+
+ @Override
+ public R refundOrderBySys(CancelOrderDTO dto) {
+ Order order = this.getById(dto.getOrderId());
+ // 订单状态-1.删除 0.已取消 1.待支付 2.待核销 3.已完成
+ if(null == order || order.getDelFlag() == -1){
+ return R.fail("订单不存在");
+ }
+ if (order.getOrderStatus() == 0) {
+ return R.fail(AppErrorConstant.CANCEL_CANCEL_ORDER);
+ }else if (order.getOrderStatus() == 1) {
+ //删除待支付超时取消延时任务
+ redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId());
+ remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+"-"+ order.getOrderId());
+ this.autoCancelOrder( order.getOrderId());
+ } else if (order.getOrderStatus() == 2) {
+ // 2.待核销 -> 订单退款
+ this.refundOrder( order.getOrderId());
+ } else {
+ return R.fail("已核销订单不能退款");
+ }
+ return R.ok();
+
+ }
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
index dac1e6e..b60da44 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -7,6 +7,7 @@
import com.github.binarywang.wxpay.bean.ecommerce.RefundNotifyResult;
import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingNotifyResult;
import com.github.binarywang.wxpay.exception.WxPayException;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.pojo.order.Order;
import com.ruoyi.order.domain.vo.*;
@@ -615,4 +616,18 @@
* @return
*/
List<String> getActivityOrderGoods(String activityId);
+
+ /**
+ * 后台取消订单
+ * 订单状态变为已取消 不退款
+ * @param dto
+ */
+ R cancelOrderBySys(CancelOrderDTO dto);
+
+ /**
+ * 后台退款订单
+ * @param dto
+ * @return
+ */
+ R refundOrderBySys(CancelOrderDTO dto);
}
--
Gitblit v1.7.1