ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -1388,6 +1388,11 @@ */ @Override public MerMemberFixedTotalVo getMerMemberFixedTotal(MerTotalDto merTotalDto){ if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); merTotalDto.setShopIdList(shopIdList); merTotalDto.setShopId(null); } MerMemberFixedTotalVo memberFixedTotalVo = new MerMemberFixedTotalVo(); Date nowDay = DateUtils.getNowDate(); if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ @@ -1457,6 +1462,11 @@ */ @Override public MerMemberSourceTotalVo getMerMemberSourceTotal(MerTotalDto merTotalDto){ if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); merTotalDto.setShopIdList(shopIdList); merTotalDto.setShopId(null); } MerMemberSourceTotalVo memberSourceTotalVo = new MerMemberSourceTotalVo(); //获取来源渠道排名 List<MgtMapIntTotalVo> customerSourceList = memberMapper.getMerMemberCustomerSourceRank(merTotalDto); @@ -1477,6 +1487,11 @@ */ @Override public MerMemberRecommendTotalVo getMerMemberRecommendTotal(MerTotalDto merTotalDto){ if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); merTotalDto.setShopIdList(shopIdList); merTotalDto.setShopId(null); } MerMemberRecommendTotalVo memberRecommendTotalVo = new MerMemberRecommendTotalVo(); //获取会员推荐排名 List<MgtMapIntTotalVo> recommendList = memberMapper.getMerMemberRecommendRank(merTotalDto); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerTotalController.java
New file @@ -0,0 +1,43 @@ package com.ruoyi.order.controller.business; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.vo.MerOrderTotalVo; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.system.api.domain.dto.MerTotalDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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 javax.annotation.Resource; /** * @ClassName MerTotalController * @Description TODO * @Author jqs * @Date 2023/7/3 19:25 * @Version 1.0 */ @Api(value = "商户端订单统计相关接口", tags = "商户端订单统计相关接口", description = "商户端订单统计相关接口") @RestController @RequestMapping("/mer/total") public class MerTotalController { @Resource private OrderService orderService; @RequestMapping(value = "/getMerOrderTotal", method = RequestMethod.POST) @ApiOperation(value = "商户获取订单统计") public R<MerOrderTotalVo> getMerOrderTotal(@RequestBody MerTotalDto merTotalDto) { Long userId = SecurityUtils.getUserId(); merTotalDto.setUserId(userId); MerOrderTotalVo orderTotalVo = orderService.getMerOrderTotal(merTotalDto); return R.ok(orderTotalVo); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -438,4 +438,14 @@ * @return BigDecimal */ BigDecimal getMemberUnpaidOrder(@Param("param")MerBaseDto merBaseDto); /** * @description getTotalOrderTotalOrderFrom * @param mgtBaseShopDto * @return MgtTotalOrderTotalVo * @author jqs34 * @date 2023/6/19 22:24 */ MerOrderTotalVo getMerOrderTotalOrderFrom(@Param("param") MgtBaseShopDto mgtBaseShopDto); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -2038,4 +2038,23 @@ BigDecimal unpaidMoney = orderMapper.getMemberUnpaidOrder(merBaseDto); return unpaidMoney; } /** * @description 商户获取订单统计 * @author jqs * @date 2023/7/3 19:29 * @param merTotalDto * @return MerOrderTotalVo */ @Override public MerOrderTotalVo getMerOrderTotal(MerTotalDto merTotalDto){ if(merTotalDto.getShopAllFlag()!=null&&merTotalDto.getShopAllFlag()==1){ List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData(); merTotalDto.setShopIdList(shopIdList); merTotalDto.setShopId(null); } MerOrderTotalVo orderTotalVo = new MerOrderTotalVo(); return orderTotalVo; } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -292,8 +292,17 @@ * @description 获取用户未支付金额 * @author jqs * @date 2023/6/29 18:00 * @param userId * @param merBaseDto * @return BigDecimal */ BigDecimal getMemberUnpaidOrder(MerBaseDto merBaseDto); /** * @description 商户获取订单统计 * @author jqs * @date 2023/7/3 19:29 * @param merTotalDto * @return MerOrderTotalVo */ MerOrderTotalVo getMerOrderTotal(MerTotalDto merTotalDto); } ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -1230,4 +1230,32 @@ WHERE del_flag = 0 AND user_id = #{param.userId} AND shop_id = #{param.shopId} AND order_status IN (1,2) AND close_flag = 0 </select> <select id="getMerOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MerOrderTotalVo"> SELECT COUNT(order_id) orderTotal, SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END) onlineTotal, SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END) offlineTotal, SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END) activityTotal, IFNULL(SUM(order_money),0) orderMoney, SUM(CASE WHEN order_from = 1 THEN order_money ELSE 0 END) onlineMoney, SUM(CASE WHEN order_from = 3 THEN order_money ELSE 0 END) offlineMoney, SUM(CASE WHEN order_from = 2 THEN order_money ELSE 0 END) activityMoney FROM t_order WHERE del_flag = 0 <if test="param.shopId != null and param.shopId != ''"> AND shop_id = #{param.shopId} </if> <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> <if test="param.startDate!=null and param.startDate!=''"> AND create_time >= #{param.startDate} </if> <if test="param.endDate!=null and param.endDate!=''"> AND create_time <= #{param.endDate} </if> </select> </mapper>