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