Browse Source

提现统计逻辑修改

master
cgx 2 weeks ago
parent
commit
bfd696b4e6
4 changed files with 841 additions and 5 deletions
  1. +823
    -0
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils2.java
  2. +1
    -1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/RechargeInfoLogMapper.java
  3. +10
    -1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/xml/RechargeInfoLogMapper.xml
  4. +7
    -3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/PayServiceImpl.java

+ 823
- 0
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils2.java View File

@ -0,0 +1,823 @@
package org.jeecg.common.util;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
/**
基于JDK 1.8 日期API
@Author: hy
@ClassName: DateUtils
@Date: 2019/11/25下午5:34
@Description:
*/
public class DateUtils2 {
private static String YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss";
private static String YYYYMMDD = "yyyy-MM-dd";
public static String DAY_FORMAT = "yyyy-MM-dd";
private static String YYYY = "yyyy";
private static String MM = "MM";
private static String YYYYMM = "yyyy-MM";
private static String HHMMSS = "HH:mm:ss";
private static String YYYYMMDD2 = "yyyyMMdd";
private static String YYYYMMDDHHMMSS2 = "yyyyMMddHHmmss";
private static String YYYYMMDD3 = "yyyy年MM月dd日";
private static String DD = "dd";
public static String DEFUALT_TIME_START =" 00:00:00";
public static String DEFUALT_TIME_END =" 23:59:59";
/**
* 获取当前时间 yyyy-mm-dd HH:mm:ss
* @return
*/
public static String getNowDate(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前年份 yyyy
* @return
*/
public static String getNowYear(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYY);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前时间 dd
* @return
*/
public static String getNowDay(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(DD);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前日期 yyyymmdd
* @return
*/
public static String getNowDateString(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMMDD2);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前日期 yyyymmdd
* @return
*/
public static String getNowDateString2(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMMDD3);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前日期 yyyymmddHHMMss
* @return
*/
public static String getNowDateStrings(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS2);
return dateTimeFormatter.format(localDateTime);
}
/**
* 格式化 HH:mm:ss
* @return
*/
public static String getNowTime(long time){
//获取当前时间
LocalDateTime localDateTime = Instant.ofEpochMilli(time).atZone(ZoneId.of("Asia/Shanghai")).toLocalDateTime();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(HHMMSS);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前时间 yyyy-mm-dd
* @return
*/
public static String getTodayDate(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now().atZone(ZoneId.of("Asia/Shanghai")).toLocalDateTime();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMMDD);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前年月 yyyy-mm
* @return
*/
public static String getNowYearMonth(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMM);
return dateTimeFormatter.format(localDateTime);
}
/**
* 获取当前月最大天数
* @return
*/
public static String getNowMonthMaxDay(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMMDD);
LocalDateTime with = localDateTime.with(TemporalAdjusters.lastDayOfMonth());
String format = dateTimeFormatter.format(with);
return format.substring(8,10);
}
public static String getMaxDay(){
LocalDateTime localDateTime = LocalDateTime.now();
LocalDateTime with = localDateTime.with(TemporalAdjusters.lastDayOfMonth());
return null;
}
/**
* 将毫秒转为字符串 yyyy-mm-dd HH:mm:ss
* @param time
* @return
*/
public static String getmilsMoveDate(Long time){
LocalDateTime localDateTime = Instant.ofEpochMilli(time).atZone(ZoneId.of("Asia/Shanghai")).toLocalDateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
return formatter.format(localDateTime);
}
/**
* 将毫秒转为字符串 yyyy-mm-dd
* @param time
* @return
*/
public static String getmilsMoveDates(Long time){
LocalDateTime localDateTime = Instant.ofEpochMilli(time).atZone(ZoneId.of("Asia/Shanghai")).toLocalDateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDD);
return formatter.format(localDateTime);
}
/**
将日期转为字符串 yyyy-mm-dd HH:mm:ss
@param date
@return
*/
public static String getYYYYMMDDHHMMSS(Date date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
LocalDateTime localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
将日期转为字符串 yyyy-mm-dd 00:00:00
@param date
@return
*/
public static String getYYYYMMDDHHMMSSFirst(Date date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
LocalDateTime localDateTime = dateToDateTime(date);
String format = formatter.format(localDateTime);
format = format + " 00:00:00";
return format;
}
/**
将日期转为字符串 yyyy-mm-dd HH:mm:ss
@param date
@return
*/
public static String getYYYYMMDDHHMMSSLast(Date date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
LocalDateTime localDateTime = dateToDateTime(date);
String format = formatter.format(localDateTime);
format = format + " 23:59:59";
return format;
}
/**
将字符串转为日期
@param date
@return
*/
public static Date getDate(String date) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
LocalDateTime localDateTime = LocalDateTime.parse(date, dateTimeFormatter);
return dateTimeToDate(localDateTime);
}
/**
* 解析字符串为日期
* <p>
* 说明
* 1. 该方法主要解决yyyy-MM-dd格式文本字符串无法直接转换为LocalDateTime的问题
*
* @param source 需要解析的日期字符串
* @param formatPattern 日期格式化模式
* @return 格式化后的日期
*/
public static Date parseStringToLocalDateTime(String source, String formatPattern) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(formatPattern);
LocalDate localDate = LocalDate.parse(source, dateTimeFormatter);
LocalDateTime localDateTime = localDate.atStartOfDay();
return dateTimeToDate(localDateTime);
}
/**
将字符串转为日期
@param date
@return
*/
public static Date getDate(String date, String pattern) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
LocalDateTime localDateTime = LocalDateTime.parse(date, dateTimeFormatter);
return dateTimeToDate(localDateTime);
}
/**
LocalDateTime 和DateTime 互转
@param date
@return
*/
public static LocalDateTime dateToDateTime(Date date) {
Instant instant = date.toInstant();
return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
}
public static Date dateTimeToDate(LocalDateTime localDateTime) {
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
return date;
}
/**
date 转LocalDate
@param date
@return
*/
public static LocalDate dateToLocalDate(Date date) {
Instant instant = date.toInstant();
LocalDate localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate();
return localDate;
}
/**
date 转LocalDate
@param localDate
@return
*/
public static Date localToDate(LocalDate localDate) {
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
return date;
}
/**
date 转DateTime
@param date
@return
*/
public static LocalTime dateToLocalTime(Date date) {
Instant instant = date.toInstant();
LocalTime localTime = instant.atZone(ZoneId.systemDefault()).toLocalTime();
return localTime;
}
/**
date 转LocalTime
@param localTime
@return
*/
public static Date localToDate(LocalTime localTime) {
LocalDate localDate = LocalDate.now();
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
Date date = Date.from(instant);
return date;
}
/**
将日期转为字符串 yyyy-mm-dd
@param date
@return
*/
public static String getYYYYMMDD(Date date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDD);
LocalDateTime localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
将日期转为字符串 yyyy-mm-dd
@param date
@return
*/
public static String getYYYYMM(Date date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMM);
LocalDateTime localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
获取当前时间之后的某一天的最小时间
@param date
@return
*/
public static Date afterXDateTimeMIN(Date date, int after) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.plusDays(after);
localDateTime = localDateTime.with(LocalTime.MIN);
return dateTimeToDate(localDateTime);
}
/**
获取当前时间之后的某一天的最大时间
@param date
@return
*/
public static Date afterXDateTimeMAX(Date date, int after) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.plusDays(after);
localDateTime = localDateTime.with(LocalTime.MAX);
return dateTimeToDate(localDateTime);
}
/**
获取当前时间之前的某一天的最小时间
@param date
@return
*/
public static Date beforeXDateTimeMIN(Date date, int before) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.minusDays(before);
localDateTime = localDateTime.with(LocalTime.MIN);
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
/**
获取当前时间之前的某一天的最大时间
@param date
@return
*/
public static Date beforeXDateTimeMAX(Date date, int before) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.minusDays(before);
localDateTime = localDateTime.with(LocalTime.MAX);
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
/**
获取本月的第一天 00:00:00
@return
*/
public static String currentFirstDayOfMonth() {
LocalDateTime localDateTime = LocalDateTime.now();
localDateTime = localDateTime.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
Date date = dateTimeToDate(localDateTime);
localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
获取本月的最后一天 23:59:59
@return
*/
public static String currentLastDayOfMonth() {
LocalDateTime localDateTime = LocalDateTime.now();
localDateTime = localDateTime.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
Date date = dateTimeToDate(localDateTime);
localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
获取传入时间月份的最后一天
@return
*/
public static Date currentXDayOfMonth(Date date) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
return dateTimeToDate(localDateTime);
}
/**
所选date的月份的第一天
@return
*/
public static Date beforeXFirstDayOfMonth(Date date) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
return dateTimeToDate(localDateTime);
}
// public static void main(String[] args) {
// Date date = beforeXFirstDayOfMonth(new Date());
// Date date = currentXDayOfMonth(new Date());
//
// System.out.println(getYYYYMMDDHHMMSS(date));
// }
/**
获取前几个月的1号0点 00:00:00
@return
*/
public static String preXDayOfMonthMIN(int month) {
LocalDateTime localDateTime = LocalDateTime.now();
localDateTime = localDateTime.minusMonths(month);
localDateTime = localDateTime.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
Date date = dateTimeToDate(localDateTime);
localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
获取前几个月的1号0点 00:00:00
@return
*/
public static String preXDayOfMonthMIN2(int month) {
LocalDateTime localDateTime = LocalDateTime.now();
localDateTime = localDateTime.minusMonths(month);
localDateTime = localDateTime.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMM);
Date date = dateTimeToDate(localDateTime);
localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
获取前几个月的1号0点 00:00:00
@return
*/
public static Date preXDayOfMonthMIN(Date date, int month) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.minusMonths(month);
localDateTime = localDateTime.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
return dateTimeToDate(localDateTime);
}
/**
传入时间的的前几个月的时间
@return
*/
public static Date preXDayOfMonth(Date date, int month) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.minusMonths(month);
return dateTimeToDate(localDateTime);
}
/**
传入时间的的前几个月的时间
@return
*/
public static Date afterXDayOfMonth(Date date, int month) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.plusMonths(month);
return dateTimeToDate(localDateTime);
}
/**
获取前几个月的最后一天235959
@return
*/
public static String preXDayOfMonthMAX(int month) {
LocalDateTime localDateTime = LocalDateTime.now();
localDateTime = localDateTime.minusMonths(month);
localDateTime = localDateTime.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDDHHMMSS);
Date date = dateTimeToDate(localDateTime);
localDateTime = dateToDateTime(date);
return formatter.format(localDateTime);
}
/**
获取某个时间几个月的最后一天235959
@return
*/
public static Date preXDayOfMonthMAX(Date date, int month) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.minusMonths(month);
localDateTime = localDateTime.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
return dateTimeToDate(localDateTime);
}
/**
两个日期相差多少个月
@param date1
@param date2
@return
*/
public static Long getUntilMonth(Date date1, Date date2) {
LocalDate localDate1 = dateToLocalDate(date1);
LocalDate localDate2 = dateToLocalDate(date2);
return ChronoUnit.MONTHS.between(localDate1, localDate2);
}
/**
两个日期相差多少天
@param date1
@param date2
@return
*/
public static Long getUntilDay(Date date1, Date date2) {
LocalDate localDate1 = dateToLocalDate(date1);
LocalDate localDate2 = dateToLocalDate(date2);
return ChronoUnit.DAYS.between(localDate1, localDate2);
}
/**
两个日期相差多少小时
@param date1
@param date2
@return
*/
public static Long getUntilHours(Date date1, Date date2) {
LocalDateTime localDate1 = dateToDateTime(date1);
LocalDateTime localDate2 = dateToDateTime(date2);
Long senonds = Duration.between(localDate1, localDate2).get(ChronoUnit.SECONDS);
return senonds / 3600;
}
/**
两个日期相差多少小时 double 约等于
@param date1
@param date2
@return
*/
public static double getUntilHoursByDouble(Date date1, Date date2) {
LocalDateTime localDate1 = dateToDateTime(date1);
LocalDateTime localDate2 = dateToDateTime(date2);
Long seconds = Duration.between(localDate1, localDate2).get(ChronoUnit.SECONDS);
BigDecimal secondss = BigDecimal.valueOf(seconds);
BigDecimal hours = secondss.divide(BigDecimal.valueOf(3600), 2, BigDecimal.ROUND_HALF_UP);
return hours.doubleValue();
}
/**
两个日期相差多少秒
@param date1
@param date2
@return
*/
public static Long getUntilSecond(Date date1, Date date2) {
LocalDateTime localDate1 = dateToDateTime(date1);
LocalDateTime localDate2 = dateToDateTime(date2);
return Duration.between(localDate1, localDate2).get(ChronoUnit.SECONDS);
}
/**
当前时间235959
@param date
@return
*/
public static Date currentMax(Date date) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.with(LocalTime.MAX);
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
/**
当前时间00:00:00
@param date
@return
*/
public static Date currentMin(Date date) {
LocalDateTime localDateTime = dateToDateTime(date);
localDateTime = localDateTime.with(LocalTime.MIN);
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
}
/**
* 将日期格式的时间转化为毫秒
* @param date
* @return
*/
public static Long getMilliSecond(String date){
Timestamp timestamp = Timestamp.valueOf(date);
return timestamp.getTime();
}
/**
* 获取本周第一天
* @param num 0本周1下周-1上周依次类推
* @return
*/
public static final String getFirstWeekDay(int num){
LocalDate localDate = LocalDate.now().plusWeeks(num);
LocalDate with = localDate.with(DayOfWeek.MONDAY);
String firstDay = with+" 00:00:00";
return firstDay;
}
/**
* 获取本周最后一天
* @param num 0本周1下周-1上周依次类推
* @return
*/
public static final String getLastWeekDay(int num){
LocalDate localDate = LocalDate.now().plusWeeks(num);
LocalDate with = localDate.with(DayOfWeek.SUNDAY);
String firstDay = with+" 23:59:59";
return firstDay;
}
/**
* 获取今天00:00:00毫秒数
* @return
*/
public static final Long getTodayZero(){
//当前时间毫秒数
Long current=System.currentTimeMillis();
//今天零点零分零秒的毫秒数
Long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();
return zero;
}
/**
* 获取今天23点59分59秒的毫秒数
* @return
*/
public static final Long getTodayTwelve(){
//当前时间毫秒数
Long current=System.currentTimeMillis();
//今天零点零分零秒的毫秒数
Long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();
//今天23点59分59秒的毫秒数
Long twelve=zero+24*60*60*1000-1;
return twelve;
}
/**获取当前日期的前一天*/
public static final String getYesterday(){
// 获取当前日期
LocalDate today = LocalDate.now();
// 获取当前日期的前一天
String yesterday = today.plusDays(-1).toString();
return yesterday;
}
/**
* 将日期进行加减运算
* @param startdate
* @param days 天数
* @return
* @throws ParseException
*/
public static String plusDate(String startdate,int days){
SimpleDateFormat sdf = new SimpleDateFormat(YYYYMMDD);
try {
Date date = sdf.parse(startdate);
long ltime = date.getTime();
long ldays = days * (1000L * 60L * 60L * 24L);
Date newDay = new Date(ltime + ldays);
return getDateString(newDay, YYYYMMDD);
} catch (ParseException e) {
return null;
}
}
/**
* 取得时间
* @param date
* @param format
* @return
*/
public static String getDateString(Date date,String format){
DateFormat toDateFormat = new SimpleDateFormat(format);
String d = toDateFormat.format(date);
return d;
}
/**
* 将日期进行加减运算
* @param startdate
* @param days 天数
* @return
* @throws ParseException
*/
public static String dellDate(String startdate,int days,String format){
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
Date date = sdf.parse(startdate);
long ltime = date.getTime();
long ldays = days * (1000L * 60L * 60L * 24L);
Date newDay = new Date(ltime + ldays);
return getDate(newDay, format);
} catch (ParseException e) {
return null;
}
}
public static String getDate(Date date,String format){
DateFormat toDateFormat = new SimpleDateFormat(format);
String d = toDateFormat.format(date);
return d;
}
/**
* 将日期进行加减运算
* @param startdate
* @param days 天数
* @return
* @throws ParseException
*/
public static String dellDate(String startdate,int days){
SimpleDateFormat sdf = new SimpleDateFormat(DAY_FORMAT);
try {
Date date = sdf.parse(startdate);
long ltime = date.getTime();
long ldays = days * (1000L * 60L * 60L * 24L);
Date newDay = new Date(ltime + ldays);
return getDate(newDay, DAY_FORMAT);
} catch (ParseException e) {
return null;
}
}
/**
* 时间加减
* @param startDate
* @param type 1年2月3日4时5分6秒
* @param num
* @param format
* @return
*/
public static String dellDate(String startDate, int type, int num,
String format) {
SimpleDateFormat f = new SimpleDateFormat(format);
Calendar c = Calendar.getInstance();
Date s = getDate(startDate, format);
// log.info(s);
c.setTime(s);
if (type == 1) {
c.add(Calendar.YEAR, num);
} else if (type == 2) {
c.add(Calendar.MONTH, num);
} else if (type == 3) {
c.add(Calendar.DAY_OF_YEAR, num);
} else if (type == 4) {
c.add(Calendar.HOUR_OF_DAY, num);
} else if (type == 5) {
c.add(Calendar.MINUTE, num);
} else if (type == 6) {
c.add(Calendar.SECOND, num);
}
return f.format(c.getTime());
}
/**
* 获取当前月份 MM
* @return
*/
public static String getNowMonth(){
//获取当前时间
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(MM);
return dateTimeFormatter.format(localDateTime);
}
}

+ 1
- 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/RechargeInfoLogMapper.java View File

@ -13,5 +13,5 @@ import org.jeecg.modules.rechargeInfoLog.entity.TbRechargeInfoLog;
public interface RechargeInfoLogMapper extends BaseMapper<TbRechargeInfoLog> {
String sumLog(@Param("userId") String userId);
String sumLog(@Param("userId") String userId, @Param("startTime") String startTime, @Param("endTime") String endTime);
}

+ 10
- 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/mapper/xml/RechargeInfoLogMapper.xml View File

@ -5,7 +5,16 @@
<select id="sumLog" resultType="string">
select ifnull(sum(money),0)
from tb_recharge_info_log where member_id =#{userId} and is_pay=1 and title ='提现' and state=2 and del_flag =0;
from tb_recharge_info_log
<where>
member_id =#{userId} and is_pay=1 and title ='提现' and state=2 and del_flag =0
<if test="startTime!=null and startTime!='' ">
and create_time <![CDATA[ >=]]> #{startTime}
</if>
<if test="endTime!=null and endTime!='' ">
and create_time <![CDATA[<]]> #{endTime}
</if>
</where>
</select>
</mapper>

+ 7
- 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/userCode/service/impl/PayServiceImpl.java View File

@ -17,6 +17,7 @@ import org.jeecg.common.bestpay.model.PayResponse;
import org.jeecg.common.bestpay.service.BestPayService;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.util.DateUtils;
import org.jeecg.common.util.DateUtils2;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.modules.bean.RechargeReq;
@ -391,7 +392,7 @@ public class PayServiceImpl implements IPayService {
log.error("未找到日志订单号");
return null;
}
HanHaiMember user= hanHaiMemberService.getById(rechargeInfoLog.getMemberId());
HanHaiMember user = hanHaiMemberService.getById(rechargeInfoLog.getMemberId());
if (user == null) {
return Result.error("该用户不存在");
}
@ -410,7 +411,7 @@ public class PayServiceImpl implements IPayService {
updateWrapper.setSql("price = price + " + rechargeInfoLog.getMoney());
updateWrapper.eq("id", user.getId());
int update1 = hanHaiMemberMappere.update(null, updateWrapper);
if (update1<1) {
if (update1 < 1) {
log.error("支付回调----修改用户数据出错");
throw new JeecgBootException("系统错误");
}
@ -461,7 +462,10 @@ public class PayServiceImpl implements IPayService {
HashMap<String, Object> map = new HashMap<>();
map.put("log", rechargeInfoLogList);
map.put("money", hanHaiMember.getPrice());
String moneyLog = rechargeInfoLogMapper.sumLog(hanHaiMember.getId());
Date start = DateUtils2.beforeXFirstDayOfMonth(DateUtils2.getDate(rechargeInfoLogReq.getStartTime()));
Date end = DateUtils2.currentXDayOfMonth(DateUtils2.getDate(rechargeInfoLogReq.getEndTime()));
log.info("start{},end{}", start, end);
String moneyLog = rechargeInfoLogMapper.sumLog(hanHaiMember.getId(), DateUtils2.getYYYYMMDDHHMMSS(start), DateUtils2.getYYYYMMDDHHMMSS(end));
map.put("moneyLog", moneyLog);
return Result.OK(map);
}


Loading…
Cancel
Save