|
@@ -6,6 +6,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
|
|
import com.yonge.cooleshow.biz.dal.dto.req.TotalReq;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.UserAccountRecordSearch;
|
|
import com.yonge.cooleshow.biz.dal.dto.search.UserAccountRecordSearch;
|
|
import com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
|
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.PeriodEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.TimeTypeEnum;
|
|
import com.yonge.cooleshow.biz.dal.enums.TimeTypeEnum;
|
|
import com.yonge.cooleshow.biz.dal.service.UserAccountRecordService;
|
|
import com.yonge.cooleshow.biz.dal.service.UserAccountRecordService;
|
|
import com.yonge.cooleshow.biz.dal.service.UserAccountService;
|
|
import com.yonge.cooleshow.biz.dal.service.UserAccountService;
|
|
@@ -13,7 +14,6 @@ import com.yonge.cooleshow.biz.dal.support.PageUtil;
|
|
import com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.UserAccountVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.UserAccountVo;
|
|
import com.yonge.cooleshow.biz.dal.vo.res.AccountTotal;
|
|
import com.yonge.cooleshow.biz.dal.vo.res.AccountTotal;
|
|
-import com.yonge.cooleshow.biz.dal.vo.res.HomeTotalTeacher;
|
|
|
|
import com.yonge.cooleshow.common.controller.BaseController;
|
|
import com.yonge.cooleshow.common.controller.BaseController;
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
import com.yonge.cooleshow.common.exception.BizException;
|
|
import com.yonge.cooleshow.common.exception.BizException;
|
|
@@ -24,10 +24,13 @@ import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.HttpStatus;
|
|
-import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
|
|
+import java.time.LocalDate;
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
+import java.time.LocalTime;
|
|
|
|
+import java.time.temporal.TemporalAdjusters;
|
|
import java.util.Calendar;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
|
|
@@ -67,46 +70,57 @@ public class UserAccountController extends BaseController {
|
|
}
|
|
}
|
|
query.setUserId(user.getId());
|
|
query.setUserId(user.getId());
|
|
query.setInOrOut(InOrOutEnum.IN);
|
|
query.setInOrOut(InOrOutEnum.IN);
|
|
|
|
+
|
|
if (StringUtil.isEmpty(query.getSearchDate())) {
|
|
if (StringUtil.isEmpty(query.getSearchDate())) {
|
|
query.setSearchDate(DateUtil.format(new Date(), "yyyy-MM"));
|
|
query.setSearchDate(DateUtil.format(new Date(), "yyyy-MM"));
|
|
}
|
|
}
|
|
|
|
+ String[] classDateSp = query.getSearchDate().split("-");
|
|
try {
|
|
try {
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
|
- String[] classDateSp = query.getSearchDate().split("-");
|
|
|
|
- calendar.set(Integer.parseInt(classDateSp[0]), Integer.parseInt(classDateSp[1])-1, 1, 0, 0, 0);
|
|
|
|
- query.setStartTime(calendar.getTime());
|
|
|
|
- query.setEndTime(DateUtil.dayEnd(DateUtil.getLastDayOfMonth(calendar.getTime())));
|
|
|
|
|
|
+ LocalDate date = LocalDate.of(Integer.parseInt(classDateSp[0]), Integer.parseInt(classDateSp[1]), 1);
|
|
|
|
+
|
|
|
|
+ LocalDateTime firstDay = LocalDateTime.of(date.with(TemporalAdjusters.firstDayOfMonth()), LocalTime.MIN);
|
|
|
|
+ LocalDateTime lastDay = LocalDateTime.of(date.with(TemporalAdjusters.lastDayOfMonth()), LocalTime.MAX);
|
|
|
|
+
|
|
|
|
+ query.setStartTime(firstDay);
|
|
|
|
+ query.setEndTime(lastDay);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
throw new BizException("查询时间格式不正确 [" + query.getSearchDate() + "]");
|
|
throw new BizException("查询时间格式不正确 [" + query.getSearchDate() + "]");
|
|
}
|
|
}
|
|
|
|
+
|
|
IPage<UserAccountRecordVo> pages = userAccountRecordService.selectPage(PageUtil.getPage(query), query);
|
|
IPage<UserAccountRecordVo> pages = userAccountRecordService.selectPage(PageUtil.getPage(query), query);
|
|
return succeed(PageUtil.pageInfo(pages));
|
|
return succeed(PageUtil.pageInfo(pages));
|
|
}
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "收入数据统计")
|
|
@ApiOperation(value = "收入数据统计")
|
|
@PostMapping("/accountTotal")
|
|
@PostMapping("/accountTotal")
|
|
- public HttpResponseResult<AccountTotal> accountTotal(@Valid @RequestBody TotalReq totalReq) {
|
|
|
|
|
|
+ public HttpResponseResult<AccountTotal> accountTotal(@Valid @RequestBody TotalReq query) {
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
if (user == null || null == user.getId()) {
|
|
if (user == null || null == user.getId()) {
|
|
return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
}
|
|
}
|
|
- totalReq.setUserId(user.getId());
|
|
|
|
|
|
+ query.setUserId(user.getId());
|
|
|
|
+
|
|
//参数处理
|
|
//参数处理
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
|
- if (TimeTypeEnum.MONTH.equals(totalReq.getTimeType())) {
|
|
|
|
- String[] classDateSp = totalReq.getDateTime().split("-");
|
|
|
|
- calendar.set(Integer.parseInt(classDateSp[0]), Integer.parseInt(classDateSp[1])-1, 1, 0, 0, 0);
|
|
|
|
- totalReq.setStartTime(calendar.getTime());
|
|
|
|
- totalReq.setEndTime(DateUtil.dayEnd(DateUtil.getLastDayOfMonth(calendar.getTime())));
|
|
|
|
- } else if (TimeTypeEnum.YEAR.equals(totalReq.getTimeType())) {
|
|
|
|
- calendar.set(Integer.parseInt(totalReq.getDateTime()), 1, 1, 0, 0, 0);
|
|
|
|
- totalReq.setStartTime(calendar.getTime());
|
|
|
|
|
|
+ try {
|
|
|
|
+ LocalDateTime firstDay;
|
|
|
|
+ LocalDateTime lastDay;
|
|
|
|
+ if (PeriodEnum.YEAR.getCode().equals(query.getTimeType())) {
|
|
|
|
+ LocalDate date = LocalDate.of(Integer.parseInt(query.getDateTime()), 1, 1);
|
|
|
|
+ firstDay = LocalDateTime.of(date.with(TemporalAdjusters.firstDayOfYear()), LocalTime.MIN);
|
|
|
|
+ lastDay = LocalDateTime.of(date.with(TemporalAdjusters.lastDayOfYear()), LocalTime.MAX);
|
|
|
|
+ } else {
|
|
|
|
+ String[] classDateSp = query.getDateTime().split("-");
|
|
|
|
+ LocalDate date = LocalDate.of(Integer.parseInt(classDateSp[0]), Integer.parseInt(classDateSp[1]), 1);
|
|
|
|
|
|
- calendar.set(Integer.parseInt(totalReq.getDateTime()), 12, 1, 0, 0, 0);
|
|
|
|
- totalReq.setEndTime(DateUtil.dayEnd(DateUtil.getLastDayOfMonth(calendar.getTime())));
|
|
|
|
- } else {
|
|
|
|
- return HttpResponseResult.failed("参数异常");
|
|
|
|
|
|
+ firstDay = LocalDateTime.of(date.with(TemporalAdjusters.firstDayOfMonth()), LocalTime.MIN);
|
|
|
|
+ lastDay = LocalDateTime.of(date.with(TemporalAdjusters.lastDayOfMonth()), LocalTime.MAX);
|
|
|
|
+ }
|
|
|
|
+ query.setStartTime(firstDay);
|
|
|
|
+ query.setEndTime(lastDay);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new BizException("查询时间格式不正确 [" + query.getDateTime() + "]");
|
|
}
|
|
}
|
|
- return userAccountService.accountTotal(totalReq);
|
|
|
|
|
|
+
|
|
|
|
+ return userAccountService.accountTotal(query);
|
|
}
|
|
}
|
|
}
|
|
}
|