| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.account.api.model.UserPoint; |
| | | import com.ruoyi.account.mapper.UserPointMapper; |
| | | import com.ruoyi.account.service.UserPointService; |
| | | import com.ruoyi.account.vo.TransferPoint; |
| | | import com.ruoyi.account.vo.UserPointDetailVO; |
| | | import com.ruoyi.account.vo.UserPointStatistics; |
| | | import com.ruoyi.account.vo.UserPointVO; |
| | | import com.ruoyi.account.vo.*; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.web.controller.BaseController; |
| | |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | | import java.time.YearMonth; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | private UserPointService userPointService; |
| | | @Resource |
| | | private OrderClient orderClient; |
| | | |
| | | @Resource |
| | | private UserPointMapper userPointMapper; |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取用户积分变更详情 |
| | | */ |
| | | @GetMapping("/getUserPontDetailPageList") |
| | | @ApiOperation(value = "用户积分详情", tags = "管理后台-财务统计-用户积分统计") |
| | | public R<PageInfo<UserPointDetailVO>> getUserPontDetailPageList(@RequestParam(value = "types",required = false) Collection<Integer> types, |
| | | @RequestParam(value = "id") Long id, |
| | | @ApiParam("当前页")@RequestParam("pageCurr") Integer pageCurr, |
| | | @ApiParam("分页大小")@RequestParam("pageSize") Integer pageSize) { |
| | | PageInfo<UserPointDetailVO> pageInfo=userPointService.getUserPontDetailPageList(types,id,pageCurr,pageSize); |
| | | |
| | | return R.ok(pageInfo); |
| | | } |
| | | |
| | | /** |
| | | * 判断当天是否分享获得过积分 |
| | | * @param appUserId |
| | | * @return |
| | | * 用户积分统计 |
| | | */ |
| | | @PostMapping("/judgmentDailyShare") |
| | | public R<Boolean> judgmentDailyShare(@RequestParam("appUserId") Long appUserId){ |
| | | long count = userPointService.count(new LambdaQueryWrapper<UserPoint>().eq(UserPoint::getAppUserId, appUserId) |
| | | .eq(UserPoint::getType, 4).last(" and DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(create_time, '%Y-%m-%d')")); |
| | | return R.ok(count != 0); |
| | | @GetMapping("/getUserPointStatisticsPageList") |
| | | @ApiOperation(value = "用户积分统计", tags = "管理后台-财务统计-用户积分统计") |
| | | public R<UserPointStatisticsOutVO> getUserPointStatisticsPageList(@RequestParam(value = "types",required = false) Collection<Integer> types, |
| | | @RequestParam(value = "name",required = false) String name, |
| | | @RequestParam(value = "phone",required = false) String phone, |
| | | @RequestParam(value = "beginTime",required = false) LocalDateTime beginTime, |
| | | @RequestParam(value = "endTime",required = false) LocalDateTime endTime, |
| | | @ApiParam("当前页")@RequestParam("pageCurr") Integer pageCurr, |
| | | @ApiParam("分页大小")@RequestParam("pageSize") Integer pageSize) { |
| | | UserPointStatisticsOutVO userPointStatisticsOutVO = new UserPointStatisticsOutVO(); |
| | | //充值绿电分 |
| | | |
| | | Integer chargePoint=userPointService.selectRechargeAndUse(name,phone,beginTime,endTime,17); |
| | | // 消费绿电分 |
| | | Integer exchangePoint =userPointService.selectRechargeAndUse(name,phone,beginTime,endTime,4); |
| | | Integer cancelPoint = userPointService.selectRechargeAndUse(name,phone,beginTime,endTime,16); |
| | | Integer usePoint=(exchangePoint==null?0:exchangePoint )-( cancelPoint==null?0:cancelPoint); |
| | | userPointStatisticsOutVO.setChargeTotalPoint(chargePoint==null?0:chargePoint); |
| | | userPointStatisticsOutVO.setUseTotalPoint(usePoint); |
| | | |
| | | //查找记录 |
| | | PageInfo<UserPointStatisticsPageVO> pageInfo=userPointService.getUserPointStatisticsPageList(types,name,phone,beginTime,endTime,pageCurr,pageSize); |
| | | userPointStatisticsOutVO.setPageInfo(pageInfo); |
| | | |
| | | return R.ok(userPointStatisticsOutVO); |
| | | } |
| | | |
| | | /** |
| | | * 导出店铺余额列表 |
| | | */ |
| | | |
| | | @GetMapping("/userPointExcel") |
| | | @ApiOperation(value = "导出", tags = {"管理后台-财务统计-用户积分统计"}) |
| | | void userPointExcel(HttpServletResponse response, |
| | | @RequestParam(value = "types",required = false) Collection<Integer> types, |
| | | @RequestParam(value = "name",required = false) String name, |
| | | @RequestParam(value = "phone",required = false) String phone, |
| | | @RequestParam(value = "beginTime",required = false) LocalDateTime beginTime, |
| | | @RequestParam(value = "endTime",required = false) LocalDateTime endTime){ |
| | | List<UserPointExcel> exportList =userPointMapper.userPointExcel(types,name,phone,beginTime,endTime); |
| | | exportList.forEach(x->{ |
| | | if (x.getType()==12||x.getType()==17){ |
| | | x.setVariablePointStr("+"+x.getVariablePoint()+"绿电分"); |
| | | }else { |
| | | x.setVariablePointStr("-"+x.getVariablePoint()+"绿电分"); |
| | | } |
| | | }); |
| | | ExcelUtil<UserPointExcel> util = new ExcelUtil<UserPointExcel>(UserPointExcel.class); |
| | | util.exportExcel(response, exportList, "店铺余额列表数据"); |
| | | } |
| | | |
| | | @PostMapping("/save") |
| | | R save(@RequestBody UserPoint userPoint){ |
| | | userPointService.save(userPoint); |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |
| | | |