From aefe81a52fcbda2175b40575982d18e648e7013c Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期二, 08 七月 2025 11:36:22 +0800
Subject: [PATCH] bug修改
---
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtThirdOrderPageDto.java | 48 ++++++
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 88 ++++++++++
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java | 30 +++
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java | 1
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtThirdOrderPageVo.java | 49 ++++++
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java | 4
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 15 +
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java | 2
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 104 +++++++++++++
ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml | 19 ++
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/lottery/LotteryEventServiceImpl.java | 2
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java | 13 +
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalThirdOrderStaticsVO.java | 38 ++++
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java | 15 +
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml | 5
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java | 9
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java | 2
17 files changed, 420 insertions(+), 24 deletions(-)
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 808ef27..d8c41c3 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
@@ -404,7 +404,7 @@
List<MgtLotteryEventPageVo> voList = this.baseMapper.pageMgtLotteryEvent(dto);
//填充创建对象
voList.forEach(x->{
- if (x.getActivityType()!=6){
+ if (null == x.getShopId()){
x.setCreateObject("平台创建");
}else {
//线下抽奖,获取门店名称
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml
index 753574d..fda2ed7 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/lottery/UserLotteryEventMapper.xml
@@ -5,7 +5,10 @@
<select id="getShopWinningRecord" resultType="map">
select aa.user_id,
DATE_FORMAT(any_value(aa.create_time), '%Y-%m-%d %H:%i') as create_time,
- GROUP_CONCAT(CONCAT(aa.prize_type, '_', aa.object_id, '_', aa.object_name, '_', aa.number)) as content
+ GROUP_CONCAT( COALESCE(aa.prize_type, ''), '_',
+ COALESCE(aa.object_id, ''), '_',
+ COALESCE(aa.object_name, ''), '_',
+ COALESCE(aa.number, '')) as content
from (select *
from t_user_lottery_event
where prize_type != 5 and lottery_event_id = #{id}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java
index a7d9fff..32d355b 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java
@@ -12,10 +12,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@@ -127,8 +124,8 @@
//获取抽奖类型优惠券列表
@RequestMapping(value = "/getLotteryEventCouponList", method = RequestMethod.POST)
@ApiOperation(value = "平台获取抽奖类型优惠券列表【2.0】")
- public R<List<LotteryEventCouponListVO>> getLotteryEventCouponList() {
- return R.ok( couponService.getLotteryEventCouponList());
+ public R<List<LotteryEventCouponListVO>> getLotteryEventCouponList(@RequestParam(value = "shopId",required = false) Long shopId) {
+ return R.ok( couponService.getLotteryEventCouponList(shopId));
}
}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java
index 6797ca9..d6f98da 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java
@@ -118,7 +118,7 @@
*
* @return
*/
- List<LotteryEventCouponListVO> getLotteryEventCouponList();
+ List<LotteryEventCouponListVO> getLotteryEventCouponList(@Param("shopId") Long shopId);
List<LotteryEventCouponListVO> getLotteryEventCouponListByShopId(@Param("shopId") String shopId);
}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java
index d8eec1c..566496c 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java
@@ -212,7 +212,7 @@
* 平台获取抽奖类型优惠券列表
* @return
*/
- List<LotteryEventCouponListVO> getLotteryEventCouponList();
+ List<LotteryEventCouponListVO> getLotteryEventCouponList(Long shopId);
List<LotteryEventCouponListVO> getLotteryEventCouponListByShopId(String shopId);
}
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
index 1cfad89..9c414aa 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -1535,8 +1535,8 @@
}
@Override
- public List<LotteryEventCouponListVO> getLotteryEventCouponList() {
- return this.getBaseMapper().getLotteryEventCouponList();
+ public List<LotteryEventCouponListVO> getLotteryEventCouponList(Long shopId) {
+ return this.getBaseMapper().getLotteryEventCouponList(shopId);
}
@Override
diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
index bf49e83..0171047 100644
--- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
+++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
@@ -403,13 +403,28 @@
from
t_coupon
where
- del_flag = 0
+ (del_flag = 0
and
coupon_status = 1
and
send_type = 3
and
- coupon_from = 1
+ coupon_from = 1 )
+ <if test="shopId != null">
+ or (
+ del_flag = 0
+ and
+ coupon_status = 1
+ and
+ send_type = 3
+ and
+ coupon_from = 2
+ and
+ audit_status = 2
+ and
+ shop_id = #{shopId}
+ )
+ </if>
</select>
<select id="getLotteryEventCouponListByShopId"
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 aa4c921..d325cf9 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
@@ -206,6 +206,32 @@
public R refundOrderBySys(@RequestBody CancelOrderDTO dto) {
return orderService.refundOrderBySys(dto);
}
- //todo 分页获取三方订单
- //todo 导出三方订单
+
+
+ //分页获取三方订单
+ @RequestMapping(value = "/pageMgtThirdOrder", method = RequestMethod.POST)
+ @ApiOperation(value = "分页获取三方订单")
+ public R<Page<MgtThirdOrderPageVo>> pageMgtThirdOrder(@RequestBody MgtThirdOrderPageDto dto) {
+ Long userId = SecurityUtils.getUserId();
+ dto.setUserId(userId);
+ Page<MgtThirdOrderPageVo> page = new Page<>();
+ page.setSize(dto.getPageSize());
+ page.setCurrent(dto.getPageNum());
+ List<MgtThirdOrderPageVo> thirdOrderPageVoList = orderService.pageMgtThirdOrder(page,dto);
+ return R.ok(page.setRecords(thirdOrderPageVoList));
+ }
+ // 导出三方订单
+ @RequestMapping(value = "/exportPageMgtThirdOrder", method = RequestMethod.POST)
+ @ApiOperation(value = "导出三方订单列表")
+ public void exportPageMgtThirdOrder( MgtThirdOrderPageDto mgtShopOrderPageDto, HttpServletResponse response) {
+ Long userId = SecurityUtils.getUserId();
+ mgtShopOrderPageDto.setUserId(userId);
+ Page<MgtThirdOrderPageVo> page = new Page<>();
+ page.setSize(Integer.MAX_VALUE);
+ page.setCurrent(1);
+ List<MgtThirdOrderPageVo> mgtActivityOrderPageVos = orderService.pageMgtThirdOrder(page,mgtShopOrderPageDto);
+ ExcelUtil<MgtThirdOrderPageVo> util = new ExcelUtil<MgtThirdOrderPageVo>(MgtThirdOrderPageVo.class);
+ util.exportExcel(response, mgtActivityOrderPageVos, "秒杀订单列表", "秒杀订单列表");
+ }
+
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
index cd178ca..fa908ea 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
@@ -3,10 +3,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.order.domain.vo.MgtPlTotalActivityTotalVo;
-import com.ruoyi.order.domain.vo.MgtTotalActivityTotalVo;
-import com.ruoyi.order.domain.vo.MgtTotalDataTotalVo;
-import com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo;
+import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto;
import com.ruoyi.system.api.domain.dto.MgtBaseShopDto;
@@ -130,4 +127,12 @@
}
+ @RequestMapping(value = "/getPlTotalThirdOrderStatics", method = RequestMethod.POST)
+ @ApiOperation(value = "获取三方订单统计【2.0】")
+ public R<MgtPlTotalThirdOrderStaticsVO> getPlTotalThirdOrderStatics(@RequestBody MgtBasePlatformDto mgtBasePlatformDto) {
+ Long userId = SecurityUtils.getUserId();
+ MgtPlTotalThirdOrderStaticsVO totalActivityTotal = orderService.getPlTotalThirdOrderStatics(mgtBasePlatformDto);
+ return R.ok(totalActivityTotal);
+ }
+
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtThirdOrderPageDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtThirdOrderPageDto.java
new file mode 100644
index 0000000..e58fe34
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtThirdOrderPageDto.java
@@ -0,0 +1,48 @@
+package com.ruoyi.order.domain.dto;
+
+import com.ruoyi.system.api.domain.dto.MgtPageDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class MgtThirdOrderPageDto extends MgtPageDto {
+ @ApiModelProperty(value = "关键词")
+ private String keyword;
+
+
+ @ApiModelProperty(value = "商户id")
+ private Long shopId;
+
+ @ApiModelProperty(value = "下单时间-范围开始")
+ private LocalDateTime createTimeBegin;
+ @ApiModelProperty(value = "下单时间-范围结束")
+ private LocalDateTime createTimeEnd;
+
+ @ApiModelProperty(value = "订单来源1.店铺商品2.平台秒杀活动3.线下创建")
+ private Integer orderFrom;
+
+ @ApiModelProperty(value = "核销时间-范围开始")
+ private LocalDateTime useTimeBegin;
+ @ApiModelProperty(value = "核销时间-范围结束")
+ private LocalDateTime useTimeEnd;
+
+
+ @ApiModelProperty(value = "keyword转换用户ids",hidden = true)
+ private String userIds;
+
+ @ApiModelProperty(value = "code转换商户ids",hidden = true)
+ private String shopIds;
+
+ @ApiModelProperty(value="店铺地址省code")
+ private String shopProvinceCode;
+
+ @ApiModelProperty(value="店铺地址市code")
+ private String shopCityCode;
+
+ @ApiModelProperty(value="店铺地址区code")
+ private String shopAreaCode;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalThirdOrderStaticsVO.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalThirdOrderStaticsVO.java
new file mode 100644
index 0000000..fe276f0
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalThirdOrderStaticsVO.java
@@ -0,0 +1,38 @@
+package com.ruoyi.order.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class MgtPlTotalThirdOrderStaticsVO {
+ @ApiModelProperty(value = "总订单数")
+ private Integer orderTotal;
+ @ApiModelProperty(value = "美团订单")
+ private Integer meituan;
+
+ @ApiModelProperty(value = "抖音")
+ private Integer douyin;
+
+ @ApiModelProperty(value = "快手")
+ private Integer kuaishou;
+
+ @ApiModelProperty(value = "小鹅云")
+ private Integer xiaoeyun;
+
+ @ApiModelProperty(value = "总订单数")
+ private BigDecimal orderTotalMoney;
+ @ApiModelProperty(value = "美团订单")
+ private BigDecimal meituanMoney;
+
+ @ApiModelProperty(value = "抖音")
+ private BigDecimal douyinMoney;
+
+ @ApiModelProperty(value = "快手")
+ private BigDecimal kuaishouMoney;
+
+ @ApiModelProperty(value = "小鹅云")
+ private BigDecimal xiaoeyunMoney;
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtThirdOrderPageVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtThirdOrderPageVo.java
new file mode 100644
index 0000000..f5ca6a3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtThirdOrderPageVo.java
@@ -0,0 +1,49 @@
+package com.ruoyi.order.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.ruoyi.common.core.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class MgtThirdOrderPageVo {
+ @Excel(name = "订单号", width = 30, sort = 1)
+ @ApiModelProperty(value="订单编号")
+ private String orderNo;
+
+ @Excel(name = "订单来源", width = 30, sort = 1)
+ @ApiModelProperty(value="订单来源")
+ private String orderFrom;
+
+ @Excel(name = "商品/套餐名称", width = 30, sort = 1)
+ @ApiModelProperty(value="商品/套餐名称")
+ private String goodsName;
+
+ @Excel(name = "订单金额", width = 30, sort = 11)
+ @ApiModelProperty(value="订单金额")
+ @JsonSerialize(using = ToStringSerializer.class)
+ private BigDecimal orderMoney;
+
+
+ @Excel(name = "有效期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 14)
+ @ApiModelProperty(value="有效期")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date validityTime;
+
+ @Excel(name = "核销门店", width = 30, sort = 13)
+ @ApiModelProperty(value="核销门店")
+ private String shopName;
+
+ @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 14)
+ @ApiModelProperty(value="核销时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date verifyTime;
+ @ApiModelProperty(value="核销店铺id")
+ private Long shopId;
+
+}
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
index 74a124c..6118b52 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -712,4 +712,19 @@
* @return MerMemberSimpleTotalVo
*/
MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(@Param("param") MerBaseDto merBaseDto);
+
+ /**
+ * 查询第三方订单
+ * @param page
+ * @param dto
+ * @return
+ */
+ List<MgtThirdOrderPageVo> pageMgtThirdOrder(Page<MgtThirdOrderPageVo> page,@Param("param") MgtThirdOrderPageDto dto);
+
+ /**
+ * 统计三方订单
+ * @param mgtBasePlatformDto
+ * @return
+ */
+ MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(@Param("param")MgtBasePlatformDto mgtBasePlatformDto);
}
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 2344a3e..bc08919 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
@@ -6777,4 +6777,108 @@
return R.ok();
}
+
+ @Override
+ public List<MgtThirdOrderPageVo> pageMgtThirdOrder(Page<MgtThirdOrderPageVo> page, MgtThirdOrderPageDto dto) {
+ //如果区域代码不为null获取对应的商户id
+ if (StringUtils.isNotBlank(dto.getKeyword()) || StringUtils.isNotBlank(dto.getShopProvinceCode()) || StringUtils.isNotBlank(dto.getShopCityCode()) || StringUtils.isNotBlank(dto.getShopAreaCode())) {
+ MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
+ mgtShopIdByCodeDto.setShopProvinceCode(dto.getShopProvinceCode());
+ mgtShopIdByCodeDto.setShopCityCode(dto.getShopCityCode());
+ mgtShopIdByCodeDto.setShopAreaCode(dto.getShopAreaCode());
+ MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
+ if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
+ dto.setShopIds(mgtShopIdByCodeVo.getShopIds());
+ }
+ }
+ //如果关键词不为null获取对应的用户id
+ if (StringUtils.isNotBlank(dto.getKeyword())) {
+ MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto();
+ mgtUserIdByKeywordDto.setKeyword(dto.getKeyword());
+ MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
+ if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) {
+ dto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
+ }
+ }
+ //数据权限
+ List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+ BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+ boardMemberTotalDto.setUserIds(userId);
+ List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+ if (!shops.isEmpty()) {
+ List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+ String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
+ String shopIds = dto.getShopIds();
+ if(StringUtils.isNotEmpty(shopIds)){
+ shopIds = shopIds + "," + join;
+ }else{
+ shopIds = join;
+ }
+ dto.setShopIds(shopIds);
+ }
+
+ // 从数据库中获取第三方订单列表
+ List<MgtThirdOrderPageVo> thirdOrderPageVoList = orderMapper.pageMgtThirdOrder(page, dto);
+ // 如果列表不为空
+ if (!thirdOrderPageVoList.isEmpty()) {
+ // 定义变量
+ HashSet<Long> shopIdSet = new HashSet<>();
+ BigDecimal zeroBig = new BigDecimal("0.00");
+ // 遍历列表,获取店铺 ID 和用户 ID
+ for (MgtThirdOrderPageVo mgtActivityOrderPageVo : thirdOrderPageVoList) {
+ if(mgtActivityOrderPageVo.getShopId()!=null){
+ shopIdSet.add(mgtActivityOrderPageVo.getShopId());
+ }
+ }
+ // 将店铺 ID 和用户 ID 转换为逗号分隔的字符串
+ String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList()));
+ // 从远程服务获取店铺和用户信息
+ MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+ mgtBaseBathDto.setIds(shopJoinedString);
+ List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
+ Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
+ .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
+ mgtBaseBathDto = new MgtBaseBathDto();
+ // 遍历列表,设置店铺名称
+ for (MgtThirdOrderPageVo mgtActivityOrderPageVo : thirdOrderPageVoList) {
+ if(mgtActivityOrderPageVo.getShopId()!=null){
+ MgtSimpleShopVo mgtSimpleShopVo = shopMap.get(mgtActivityOrderPageVo.getShopId());
+ mgtActivityOrderPageVo.setShopName(null == mgtSimpleShopVo ? "" : mgtSimpleShopVo.getShopName());
+ }
+ }
+ }
+
+ return thirdOrderPageVoList;
+
+ }
+
+ @Override
+ public MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(MgtBasePlatformDto mgtBasePlatformDto) {
+ MgtPlTotalThirdOrderStaticsVO vo = new MgtPlTotalThirdOrderStaticsVO();
+ //数据权限
+ List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+ List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+ if(null != userIds){
+ if(null != userIdList){
+ userIdList.addAll(userIds);
+ }else{
+ userIdList = userIds;
+ }
+ mgtBasePlatformDto.setUserIdList(userIdList);
+ }
+ List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+ if (mgtBasePlatformDto.getUserId() != null || StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
+ if(shopIdList==null||shopIdList.isEmpty()){
+ return vo;
+ }
+ }
+ if(mgtBasePlatformDto.getShopId()!=null){
+ shopIdList = new ArrayList<>();
+ shopIdList.add(mgtBasePlatformDto.getShopId());
+ }
+ mgtBasePlatformDto.setShopIdList(shopIdList);
+ // 从数据库中获取第三方订单统计
+ vo = orderMapper.getPlTotalThirdOrderStatics(mgtBasePlatformDto);
+ return vo;
+ }
}
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 b60da44..72813cc 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
@@ -630,4 +630,19 @@
* @return
*/
R refundOrderBySys(CancelOrderDTO dto);
+
+ /**
+ * 三方订单
+ * @param page
+ * @param dto
+ * @return
+ */
+ List<MgtThirdOrderPageVo> pageMgtThirdOrder(Page<MgtThirdOrderPageVo> page, MgtThirdOrderPageDto dto);
+
+ /**
+ * 三方订单统计
+ * @param mgtBasePlatformDto
+ * @return
+ */
+ MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(MgtBasePlatformDto mgtBasePlatformDto);
}
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index 4370b43..06b0f0c 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -728,10 +728,18 @@
toc.pay_money payMoney,
CASE WHEN toc.unbinding_flag = 0 THEN toc.shop_id WHEN toc.unbinding_flag = 1 AND toc.order_from = 1 THEN toc.shop_id WHEN toc.order_status = 3 THEN toc.shop_id ELSE NULL END shopId,
toc.use_time verifyTime,
- CASE toc.order_from WHEN 1 THEN '小程序' WHEN 2 THEN '秒杀活动' WHEN 3 THEN '线下创建' END orderFrom,
+ CASE toc.order_from
+ WHEN 1 THEN '小程序'
+ WHEN 2 THEN '秒杀活动'
+ WHEN 3 THEN '线下创建'
+ WHEN 4 THEN '抽奖'
+ WHEN 5 THEN '美团'
+ WHEN 6 THEN '抖音'
+ WHEN 7 THEN '快手'
+ END orderFrom,
#{param.keyword} AS keyword
FROM t_order toc
- WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3)
+ WHERE toc.del_flag = 0 AND toc.order_from != 2 -- 不查找秒杀活动的订单
<if test="param.orderStatus != null">
AND toc.order_status = #{param.orderStatus}
</if>
@@ -1182,11 +1190,11 @@
<select id="getPlTotalOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo">
SELECT
COUNT(order_id) orderTotal,
- IFNULL(SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END),0) onlineTotal,
+ IFNULL(SUM(CASE WHEN order_from in (1,5,6,7) THEN 1 ELSE 0 END),0) onlineTotal,
IFNULL(SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END),0) offlineTotal,
IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityTotal,
IFNULL(SUM(CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END),0) orderMoney,
- IFNULL(SUM(CASE WHEN order_from = 1 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) onlineMoney,
+ IFNULL(SUM(CASE WHEN order_from = in (1,5,6,7) THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) onlineMoney,
IFNULL(SUM(CASE WHEN order_from = 3 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) offlineMoney,
IFNULL(SUM(CASE WHEN order_from = 2 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) ELSE 0 END),0) activityMoney
FROM t_order WHERE del_flag = 0 AND order_status = 3
@@ -2191,4 +2199,76 @@
FROM t_order toc
WHERE toc.del_flag = 0 AND toc.user_id = #{param.userId} AND toc.shop_id = #{param.shopId} AND toc.order_status IN (2,3)
</select>
+ <select id="pageMgtThirdOrder" resultType="com.ruoyi.order.domain.vo.MgtThirdOrderPageVo">
+ SELECT
+ toc.order_no orderNo,
+ CASE toc.order_from
+ WHEN 1 THEN '小程序'
+ WHEN 2 THEN '秒杀活动'
+ WHEN 3 THEN '线下创建'
+ WHEN 4 THEN '抽奖'
+ WHEN 5 THEN '美团'
+ WHEN 6 THEN '抖音'
+ WHEN 7 THEN '快手'
+ END orderFrom,
+ tog.goods_name goodsName,
+ toc.order_money orderMoney,
+ toc.validity_time validityTime,
+ CASE WHEN toc.order_status = 3 THEN toc.shop_id ELSE NULL END shopId,
+ toc.use_time verifyTime
+ FROM t_order toc
+ INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
+ WHERE toc.del_flag = 0 AND toc.order_from in (5,6,7)
+ <if test="param.shopId != null and param.shopId != ''">
+ AND toc.shop_id = #{param.shopId}
+ </if>
+ <if test="param.shopIds != null and param.shopIds != ''">
+ AND FIND_IN_SET(toc.shop_id, #{param.shopIds})
+ </if>
+ <if test="param.keyword != null and param.keyword != ''">
+ AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) > 0)
+ </if>
+ <if test="param.createTimeBegin != null and param.createTimeBegin != ''">
+ AND Date(toc.create_time) >= #{param.createTimeBegin}
+ </if>
+ <if test="param.createTimeEnd != null and param.createTimeEnd != ''">
+ AND Date(toc.create_time) <= #{param.createTimeEnd}
+ </if>
+ <if test="param.verifyStartTime != null and param.verifyStartTime != ''">
+ AND Date(toc.use_time) >= #{param.verifyStartTime}
+ </if>
+ <if test="param.verifyEndTime != null and param.verifyEndTime != ''">
+ AND Date(toc.use_time) <= #{param.verifyEndTime}
+ </if>
+ ORDER BY toc.create_time DESC
+ </select>
+ <select id="getPlTotalThirdOrderStatics"
+ resultType="com.ruoyi.order.domain.vo.MgtPlTotalThirdOrderStaticsVO">
+ SELECT
+ -- 订单数量统计
+ COUNT(order_id) AS orderTotal,
+ IFNULL(SUM(CASE WHEN order_from = 5 THEN 1 ELSE 0 END), 0) AS meituan,
+ IFNULL(SUM(CASE WHEN order_from = 6 THEN 1 ELSE 0 END), 0) AS douyin,
+ IFNULL(SUM(CASE WHEN order_from = 7 THEN 1 ELSE 0 END), 0) AS kuaishou,
+ IFNULL(SUM(CASE WHEN order_from = 8 THEN 1 ELSE 0 END), 0) AS xiaoeyun,
+
+ -- 订单金额统计(取order_money)
+ IFNULL(SUM(order_money), 0) AS orderTotalMoney,
+ IFNULL(SUM(CASE WHEN order_from = 5 THEN order_money ELSE 0 END), 0) AS meituanMoney,
+ IFNULL(SUM(CASE WHEN order_from = 6 THEN order_money ELSE 0 END), 0) AS douyinMoney,
+ IFNULL(SUM(CASE WHEN order_from = 7 THEN order_money ELSE 0 END), 0) AS kuaishouMoney,
+ IFNULL(SUM(CASE WHEN order_from = 8 THEN order_money ELSE 0 END), 0) AS xiaoeyunMoney
+ FROM
+ t_order
+ WHERE
+ del_flag = 0 -- 未删除
+ AND order_from IN (5, 6, 7, 8) -- 仅统计三方平台订单
+ -- 可选条件:按商户筛选
+ <if test="param.shopIdList != null and param.shopIdList.size() > 0">
+ AND shop_id IN
+ <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ </select>
</mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
index c22c30b..eb0be13 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java
@@ -176,6 +176,7 @@
sysUser.setNickName(mgtStaffEditDto.getStaffName());
sysUser.setAvatar(mgtStaffEditDto.getStaffAvatar());
sysUser.setEmail(mgtStaffEditDto.getStaffEmail());
+ sysUser.setDeptId(mgtStaffEditDto.getDeptId());
sysUserService.updateOnlyUser(sysUser);
}else{
if(sysStaffSame!=null){
--
Gitblit v1.7.1