guomengjiao месяцев назад: 4
Родитель
Сommit
22e4015996

+ 26 - 14
ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/UserController.java

@@ -1,33 +1,36 @@
 package com.ruoyi.web.controller.user;
 
-import java.util.List;
-import java.util.Arrays;
-
-import com.ruoyi.common.enums.FilePathSplicingType;
-import com.ruoyi.common.filepathsplicing.FilePathSplicing;
-import lombok.RequiredArgsConstructor;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
-import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.enums.FilePathSplicingType;
+import com.ruoyi.common.filepathsplicing.FilePathSplicing;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.user.domain.vo.UserVo;
+import com.ruoyi.subsidy.service.ISubsidyQueueService;
 import com.ruoyi.user.domain.bo.UserBo;
+import com.ruoyi.user.domain.vo.UserStatisticsVo;
+import com.ruoyi.user.domain.vo.UserVo;
 import com.ruoyi.user.service.IUserService;
-import com.ruoyi.common.core.page.TableDataInfo;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * 小程序用户管理Controller
@@ -43,6 +46,15 @@ import io.swagger.annotations.ApiOperation;
 public class UserController extends BaseController {
 
     private final IUserService iUserService;
+    private final ISubsidyQueueService subsidyQueueService;
+
+    @ApiOperation("用户金额统计")
+    @GetMapping("/statistics")
+    public R<UserStatisticsVo> statistics(UserBo bo) {
+        UserStatisticsVo vo = iUserService.statistics(bo);
+//        vo.setSurplusQueueMoney(subsidyQueueService.);
+        return R.ok(vo);
+    }
 
     /**
      * 查询小程序用户管理列表

+ 1 - 1
ruoyi-common/src/main/java/com/ruoyi/common/convert/StringToDateConverter.java

@@ -7,7 +7,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 
 public class StringToDateConverter implements Converter<String, Date> {
-    private static final String[] PATTERNS = {"yyyy-MM-dd", "yyyy/MM/dd"};
+    private static final String[] PATTERNS = {"yyyy-MM-dd", "yyyy/MM/dd", "yyyy-MM-dd HH:mm:ss", "yyyy/MM/dd HH:mm:ss"};
 
     @Override
     public Date convert(String source) {

+ 17 - 6
ruoyi-shop/src/main/java/com/ruoyi/shop/withdrawal/domain/bo/WithdrawalBo.java

@@ -1,6 +1,7 @@
 package com.ruoyi.shop.withdrawal.domain.bo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.common.enums.AuditStatus;
@@ -11,14 +12,12 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import javax.validation.constraints.*;
-
-import java.util.Date;
+import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
-
-import com.ruoyi.common.core.domain.BaseEntity;
-import org.springframework.format.annotation.DateTimeFormat;
+import java.util.Date;
 
 /**
  * 提现业务对象 tb_withdrawal
@@ -55,6 +54,18 @@ public class WithdrawalBo extends BaseEntity {
     @ApiModelProperty(value = "提现来源ID", required = true)
     private Long withdrawalSourceId;
 
+    /**
+     * 提现人手机号
+     */
+    @ApiModelProperty("提现人手机号")
+    private String withdrawalPhone;
+
+    /**
+     * 提现人名称
+     */
+    @ApiModelProperty("提现人名称")
+    private String withdrawalName;
+
     /**
      * 提现金额
      */

+ 11 - 0
ruoyi-user/src/main/java/com/ruoyi/user/domain/bo/UserBo.java

@@ -131,4 +131,15 @@ public class UserBo extends BaseEntity {
      */
     @ApiModelProperty("账户余额")
     private BigDecimal balance;
+
+    @ApiModelProperty("消费开始时间")
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date consumeStartTime;
+    @ApiModelProperty("消费结束时间")
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date consumeEndTime;
+    @ApiModelProperty("商家主键")
+    private Long businessId;
 }

+ 15 - 0
ruoyi-user/src/main/java/com/ruoyi/user/domain/vo/UserStatisticsVo.java

@@ -9,6 +9,8 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.math.BigDecimal;
+
 
 /**
  * 统计注册 用户对象 tb_user
@@ -47,4 +49,17 @@ public class UserStatisticsVo {
             weekValue = DateUtil.dayOfWeek(DateUtils.parseDate(createDay));
         }
     }
+
+    @ApiModelProperty("累计商城消费")
+    private BigDecimal shopConsume;
+    @ApiModelProperty("累计可用余额")
+    private BigDecimal availableBalance;
+    @ApiModelProperty("累计扫码消费")
+    private BigDecimal lineConsume;
+    @ApiModelProperty("剩余排队金额")
+    private BigDecimal surplusQueueMoney;
+    @ApiModelProperty("累计补贴金额")
+    private BigDecimal subsidyMoney;
+    @ApiModelProperty("累计可用积分")
+    private BigDecimal availablePoint;
 }

+ 6 - 0
ruoyi-user/src/main/java/com/ruoyi/user/mapper/UserMapper.java

@@ -2,10 +2,12 @@ package com.ruoyi.user.mapper;
 
 import com.ruoyi.common.core.mapper.BaseMapperPlus;
 import com.ruoyi.user.domain.User;
+import com.ruoyi.user.domain.bo.UserBo;
 import com.ruoyi.user.domain.vo.UserStatisticsVo;
 import com.ruoyi.user.domain.vo.UserVo;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -26,4 +28,8 @@ public interface UserMapper extends BaseMapperPlus<UserMapper, User, UserVo> {
     List<UserStatisticsVo> queryUserStatisticsList(@Param("businessId") Long businessId, @Param("start") String start, @Param("end") String end);
 
     List<UserStatisticsVo> queryUserYearStatisticsList(@Param("businessId") Long businessId, @Param("start") String start, @Param("end") String end);
+
+    BigDecimal queryAvailableBalance(@Param("bo") UserBo bo);
+
+    BigDecimal queryAvailablePoint(@Param("bo") UserBo bo);
 }

+ 2 - 0
ruoyi-user/src/main/java/com/ruoyi/user/service/IUserService.java

@@ -191,4 +191,6 @@ public interface IUserService {
     List<UserStatisticsVo> queryUserYearStatisticsList(Long businessId, Date startTime, Date endTime);
 
     String queryNameById(Long userId);
+
+    UserStatisticsVo statistics(UserBo bo);
 }

+ 10 - 0
ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java

@@ -767,6 +767,16 @@ public class UserServiceImpl implements IUserService {
         return ObjectUtil.isNotNull(user) ? user.getNickname() : "";
     }
 
+    @Override
+    public UserStatisticsVo statistics(UserBo bo) {
+        UserStatisticsVo vo = new UserStatisticsVo();
+        //累计可用余额
+        vo.setAvailableBalance(baseMapper.queryAvailableBalance(bo));
+        //累计可用积分
+        vo.setAvailablePoint(baseMapper.queryAvailablePoint(bo));
+        return vo;
+    }
+
     private String generateUniqueMemberCode(Long userId) {
         //生成唯一码 用户不会重复 6-8位
         String userIdPart = String.valueOf(userId);

+ 32 - 0
ruoyi-user/src/main/resources/mapper/user/UserMapper.xml

@@ -95,4 +95,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         group by createDay
     </select>
 
+    <select id="queryAvailableBalance" resultType="java.math.BigDecimal">
+        select sum(u.balance) from tb_user u
+        <include refid="whereByStatis"/>
+    </select>
+
+    <select id="queryAvailablePoint" resultType="java.math.BigDecimal">
+        select sum(ub.integral_able) from tb_user u
+         join tb_user_business_role ub on u.id = ub.user_id
+        <include refid="whereByStatis"/>
+        <where>
+            <if test="bo.businessId != null">
+                and ub.business_id = #{bo.businessId}
+            </if>
+        </where>
+    </select>
+
+    <sql id="whereByStatis">
+        <where>
+            <if test="bo.mobile != null and bo.mobile != ''">
+                and u.mobile like concat('%',#{bo.mobile},'%')
+            </if>
+            <if test="bo.nickname != null and bo.nickname != ''">
+                and u.nickname like concat('%',#{bo.nickname},'%')
+            </if>
+            <if test="bo.createDayStart != null">
+                and u.create_day &gt;= #{bo.createDayStart}
+            </if>
+            <if test="bo.createDayEnd != null">
+                and u.create_day &lt;= #{bo.createDayEnd}
+            </if>
+        </where>
+    </sql>
 </mapper>