ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -327,6 +328,11 @@ @TableField("ks_poi_id") private String ksPoiId; /** * 该字段用于用户登录获取默认门店 */ @TableField(exist = false) private Boolean isDefault; @Override protected Serializable pkVal() { ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtShopOrderPageDto.java
@@ -17,7 +17,7 @@ @ApiModelProperty(value = "关键词") private String keyword; @ApiModelProperty(value = "订单来源") @ApiModelProperty(value = "订单来源 1.商城2.秒杀活动3.线下创建4.抽奖5.美团6.抖音7.快手") private Integer orderFrom; @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderTotal.java
@@ -53,4 +53,19 @@ @ApiModelProperty(value="活动订单未付金额总数") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal activityUnPayMoneyTotal; @ApiModelProperty(value="活动订单总数") private Integer thirdOrderTotal; @ApiModelProperty(value="活动订单金额总数") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal thirdOrderMoneyTotal; @ApiModelProperty(value="活动订单已付金额总数") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal thirdPayMoneyTotal; @ApiModelProperty(value="活动订单未付金额总数") @JsonSerialize(using = ToStringSerializer.class) private BigDecimal thirdUnPayMoneyTotal; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -727,4 +727,13 @@ * @return */ MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(@Param("param")MgtBasePlatformDto mgtBasePlatformDto); /** * @description 统计第三方订单总数 * @author jqs * @date 2023/6/16 13:53 * @param mgtShopOrderPageDto * @return MgtOrderTotal */ MgtOrderTotal totalOrderFour(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -3967,6 +3967,8 @@ MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(mgtShopOrderPageDto); MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto); MgtOrderTotal mgtOrderTotalThird = orderMapper.totalOrderThird(mgtShopOrderPageDto); MgtOrderTotal mgtOrderTotalFour = orderMapper.totalOrderFour(mgtShopOrderPageDto); mgtOrderTotal.setOrderTotal(mgtOrderTotalFirst.getOrderTotal()); mgtOrderTotal.setOrderMoneyTotal(mgtOrderTotalFirst.getOrderMoneyTotal()); mgtOrderTotal.setShopOrderTotal(mgtOrderTotalSecond.getShopOrderTotal()); @@ -4363,7 +4365,7 @@ */ private List<MgtMapBigTotalVo> bigListRemoveNull(List<MgtMapBigTotalVo> MgtMapIntTotalVos) { for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) { if(MgtMapIntTotalVos.get(i).getMapKey().isEmpty()){ MgtMapIntTotalVos.remove(i); } } @@ -4968,6 +4970,8 @@ orderFromList.add(kauishou); orderFromList.add(meituan); orderFromList = bigListRemoveNull(orderFromList); // //排行 List<MgtMapBigTotalVo> sortedList = orderFromList.stream() // 按 mapValue 降序排序,处理 null 值(若 mapValue 可能为 null) ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -567,7 +567,7 @@ </if> ORDER BY toc.create_time DESC </select> <!-- todo 统计--> <select id="totalOrderFirst" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> SELECT COUNT(temp.order_id) orderTotal, @@ -730,7 +730,8 @@ toc.receivable_money receivableMoney, toc.create_time createTime, 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, -- 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.shop_id shopId, toc.use_time verifyTime, CASE toc.order_from WHEN 1 THEN '小程序' @@ -746,6 +747,9 @@ WHERE toc.del_flag = 0 AND toc.order_from != 2 -- 不查找秒杀活动的订单 <if test="param.orderStatus != null"> AND toc.order_status = #{param.orderStatus} </if> <if test="param.orderFrom != null"> and toc.order_from = #{param.orderFrom} </if> <if test="param.goodsType != null and param.goodsType !=''"> AND tog.goods_type = #{param.goodsType} @@ -1196,7 +1200,7 @@ COUNT(order_id) orderTotal, IFNULL(SUM(CASE WHEN order_from = 1 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 order_from = 2 THEN 1 ELSE 0 END),0) activityTotal, IFNULL(SUM(CASE WHEN order_from = 5 THEN 1 ELSE 0 END),0) meituan, IFNULL(SUM(CASE WHEN order_from = 5 THEN receivable_money ELSE 0 END),0) meituanAmount, IFNULL(SUM(CASE WHEN order_from = 6 THEN 1 ELSE 0 END),0) douyin, @@ -1213,6 +1217,9 @@ <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="param."> and order_from = #{param.} </if> <if test="param.startDate!=null and param.startDate!=''"> AND Date(create_time) >= #{param.startDate} @@ -1324,7 +1331,6 @@ WHEN 1 THEN "商城订单" WHEN 2 THEN "秒杀订单" WHEN 3 THEN "线下订单" -- other END mapKey, IFNULL(SUM(CASE WHEN pay_type = 1 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) WHEN pay_type = 2 THEN (CASE WHEN null = change_receivable_money or change_receivable_money = 0 THEN receivable_money ELSE change_receivable_money END) + online_pay_money ELSE 0 END),0) mapValue FROM t_order toc @@ -2245,11 +2251,11 @@ <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 test="param.useTimeBegin != null and param.useTimeBegin != ''"> AND Date(toc.use_time) >= #{param.useTimeBegin} </if> <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> AND Date(toc.use_time) <= #{param.verifyEndTime} <if test="param.useTimeEnd != null and param.useTimeEnd != ''"> AND Date(toc.use_time) <= #{param.useTimeEnd} </if> ORDER BY toc.create_time DESC </select> @@ -2284,4 +2290,41 @@ and create_time between #{param.startTime} and #{param.endTime} </if> </select> <select id="totalOrderFour" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> SELECT COUNT(temp.order_id) thirdOrderTotal, IFNULL(SUM( temp.receivable_money ),0) thirdOrderMoneyTotal, IFNULL(SUM(temp.pay_money),0) thirdPayMoneyTotal, IFNULL(SUM(CASE WHEN (temp.receivable_money ) > temp.pay_money THEN ( temp.receivable_money ) - temp.pay_money ELSE 0 END),0)thirdUnPayMoneyTotal FROM (SELECT toc.order_id,toc.receivable_money,toc.pay_money 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.orderStatus != null"> AND toc.order_status = #{param.orderStatus} </if> <if test="param.goodsType != null and param.goodsType !=''"> AND tog.goods_type = #{param.goodsType} </if> <!--<if test="param.shopId != null and param.shopId != ''">--> <!--AND toc.shop_id = #{param.shopId}--> <!--</if>--> <if test="param.shopId != null and param.shopId != ''"> AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from in (5,6,7)) OR (toc.unbinding_flag = 1 AND toc.order_from in (5,6,7) AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> and toc.order_status = 3 AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 </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.useTimeBegin != null and param.useTimeBegin != ''"> AND Date(toc.use_time) >= #{param.verifyStartTime} </if> <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> AND Date(toc.use_time) <= #{param.verifyEndTime} </if> GROUP BY toc.order_id) AS temp </select> </mapper> ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
@@ -303,6 +303,9 @@ List<ShopRelUser> shopRelUser = shopRelUserService.getByUserId(userId); List<Shop> collect = shopRelUser.stream().map(e -> { Shop shop = shopService.getById(e.getShopId()); if (e.getIsDefault()==1){ shop.setIsDefault(true); } return shop; }).collect(Collectors.toList()); return R.ok(collect); ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtOneClinkSyncingPageDTO.java
@@ -6,6 +6,7 @@ import lombok.Data; import org.springframework.cglib.core.Local; import java.time.LocalDate; import java.time.LocalDateTime; @Data @@ -19,10 +20,13 @@ private String syncingName; @ApiModelProperty(value = "操作同步时间范围-开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime syncingStartTime; @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate syncingStartTime; @ApiModelProperty(value = "操作同步时间范围-结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime syncingEndTime; @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate syncingEndTime; private LocalDateTime startTime; private LocalDateTime endTime; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/OneClinkSyncingServiceImpl.java
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -43,8 +44,13 @@ @Override public IPage<MgtOneClinkSyncPageVO> pageOneClinkSyncing(MgtOneClinkSyncingPageDTO mgtPageDto) { LocalDateTime startTime = mgtPageDto.getSyncingStartTime().atStartOfDay(); LocalDateTime endTime = mgtPageDto.getSyncingEndTime().atTime(LocalTime.MAX); mgtPageDto.setStartTime(startTime); mgtPageDto.setEndTime(endTime); //分页查询 IPage<MgtOneClinkSyncPageVO> page = new Page<>(mgtPageDto.getPageNum(),mgtPageDto.getPageSize()); return this.baseMapper.pageOneClinkSyncing(page,mgtPageDto); } ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/AdvertMapper.xml
@@ -101,7 +101,13 @@ link_url linkUrl, jump_type jumpType, jump_id jumpId, logo_url logoUrl logo_url logoUrl, target_type_slogan targetTypeSlogan, link_type_slogan linkTypeSlogan, link_url_slogan linkUrlSlogan, jump_type_slogan jumpTypeSlogan, jump_id_slogan jumpIdSlogan, appid_slogan appidSlogan FROM t_advert WHERE del_flag = 0 ORDER BY create_time DESC LIMIT 1 </select> </mapper> ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/OneClinkSyncingMapper.xml
@@ -20,11 +20,11 @@ <if test="null != dto.syncingName and ''!= dto.syncingName"> and syncing_name like concat('%',#{dto.syncingName},'%') </if> <if test="dto.syncingStartTime!=null and dto.syncingStartTime != ''"> AND syncing_time >= #{dto.syncingStartTime} <if test="dto.startTime!=null and dto.startTime != ''"> AND syncing_time >= #{dto.startTime} </if> <if test="dto.syncingStartTime!=null and dto.syncingStartTime != ''"> AND syncing_time <= #{dto.syncingEndTime} <if test="dto.endTime!=null and dto.endTime != ''"> AND syncing_time <= #{dto.endTime} </if> </select> </mapper>