From 04ce420613f90f8414e87e8fe68484fc32485349 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期二, 24 六月 2025 18:49:06 +0800 Subject: [PATCH] 部署 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 141 ++++++++++++++++++++++++++++++----------------- 1 files changed, 90 insertions(+), 51 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java index 7786439..90d1020 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java @@ -1,6 +1,7 @@ package com.ruoyi.account.controller; +import cn.hutool.http.HttpResponse; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -19,7 +20,9 @@ import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.feignClient.OrderClient; @@ -41,6 +44,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -101,6 +105,12 @@ return appUserService.mobileLogin(mobileLogin); } + @ResponseBody + @PostMapping("/registerAccount") + @ApiOperation(value = "注册新账号") + public R<LoginVo> registerAccount(@RequestBody RegisterAccount registerAccount) { + return appUserService.registerAccount(registerAccount); + } @GetMapping("/logout") @ApiOperation(value = "登出") @@ -421,52 +431,24 @@ -/* @GetMapping("/detail") @ApiOperation(value = "用户列表-详情", tags = {"管理后台"}) - public R<AppUser> detail(Long id, Integer shopId) { - Long userid = tokenService.getLoginUser().getUserid(); - SysUser sysUser = sysUserClient.getSysUser(userid).getData(); + public R<AppUser> detail(Long id) { AppUser byId = appUserService.getById(id); - Shop shop1 = shopClient.getServiceProvider(byId.getId()).getData(); - if(null != shop1){ - byId.setShopName(shop1.getName()); - byId.setShopId(shop1.getId()); + //获取店铺名称 + List<String> shopNames=shopClient.getServiceProvider(byId.getId()).getData(); + if(null != shopNames){ + byId.setShopNames(shopNames); } - R<List<Shop>> shopByUserId = shopClient.getShopByUserId(id); - if (shopByUserId.getData() != null) { - List<String> shopName = new ArrayList<>(); - for (Shop datum : shopByUserId.getData()) { - shopName.add(datum.getName()); - } - byId.setShopNames(shopName); - } - - //最后下单时间 - R<Order> lastOrder = remoteOrderGoodsClient.getLastOrder(id); - if (lastOrder.getData() != null) { - byId.setLastOrderTime(lastOrder.getData().getCreateTime()); - } - //消费总金额 - if(null == shopId || 1 == sysUser.getRoleType()){ - shopId = -1; - } - if(null == shopId && 2 == sysUser.getRoleType()){ - shopId = sysUser.getObjectId(); - } - R<List<Order>> orderR = remoteOrderGoodsClient.byUserId(id, shopId); - List<Order> orderList = orderR.getData(); - if (!CollectionUtils.isEmpty(orderList)){ - BigDecimal paymentAmount = orderList.stream().map(Order::getPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add); - byId.setShopAmount(paymentAmount); - }else { - byId.setShopAmount(BigDecimal.ZERO); - } + Integer customPoint =(byId.getExchangePoint()==null?0:byId.getExchangePoint())+ + (byId.getTransferableOutPoint()==null?0:byId.getTransferableOutPoint())- + (byId.getCancelPoint()==null?0:byId.getCancelPoint()); + byId.setCustomPoint(customPoint); + return R.ok(byId); } -*/ @@ -527,7 +509,7 @@ /** * 工作台-顶部 */ - @GetMapping("/homeStatistics/statistics") + @GetMapping("/statistics") @ApiOperation(value = "统计", tags = {"后台-工作台-顶部"}) public R<UserStatistics> statistics() { QueryWrapper<AppUser> queryWrapper = new QueryWrapper<>(); @@ -543,11 +525,10 @@ userStatistics.setTotalUser(appUserList.size());//总用户数 userStatistics.setConsumerUser((int) consumerUser);//消费过的用户 - //用户类型统计门店 - long shopUserCount = appUserList.stream() - .filter(appUser -> appUser.getUserType() == 2) - .count(); - userStatistics.setShopUser((int) shopUserCount); + //拥有店铺用户数 + Integer shopUserCount = appUserShopService.getHaveShopUserNum(); + + userStatistics.setShopUser(shopUserCount); //门店总数 long shopNum = shopClient.getAllShop().getData().size(); @@ -569,19 +550,26 @@ queryWrapper.eq("del_flag", 0);//未删除的 queryWrapper.ne("status", 3);//未注销的 if (userId != null) { - queryWrapper.eq("user_id", userId); + queryWrapper.eq("id", userId); } //统计充值积分 Map<String, Object> result = appUserService.getMap(queryWrapper); if (result == null || result.get("total_points") == null) { userStatistics.setTotalScore(0L); }else { - userStatistics.setTotalScore((Long) result.get("total_points")); + userStatistics.setTotalScore(((BigDecimal) result.get("total_points")).longValue()); } - - //统计消费积分和现金支付数 - Map<String, Object> data = orderClient.getConsumeScoreAndPayAmount(userId).getData(); - + //条件构造 消费积分现金支付金额 + queryWrapper.clear(); + QueryWrapper<AppUser> queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.select("sum(exchange_point + transferable_out_point - cancel_point) as total_points"); + queryWrapper1.select("sum(shop_amount) as payment_amounts "); + queryWrapper1.eq("del_flag", 0);//未删除的 + queryWrapper1.ne("status", 3);//未注销的 + if (userId != null) { + queryWrapper1.eq("id", userId); + } + Map<String, Object> data = appUserShopService.getPointAndPayAmount(userId); if (data == null || data.get("total_points") == null) { userStatistics.setConsumeScore(0L); }else { @@ -593,7 +581,6 @@ }else { userStatistics.setShopAmount(new BigDecimal(data.get("payment_amounts").toString())); } - return R.ok(userStatistics); } @@ -660,5 +647,57 @@ return R.ok(); } + + /** + * 获取所有用户积分列表 + */ + @ResponseBody + @GetMapping("/getUserPointPageList") + @ApiOperation(value = "所有用户积分列表", tags = "后台-财务统计-用户积分统计") + public R<PageInfo<UserPointStatisticsVO>> getUserPointPageList(@RequestParam(value = "name",required = false) String name, + @ApiParam("当前页")@RequestParam("pageCurr") Integer pageCurr, + @ApiParam("分页大小")@RequestParam("pageSize") Integer pageSize) { + PageInfo<UserPointStatisticsVO> pageInfo=appUserService.getUserPointPageList(name,pageCurr,pageSize); + + return R.ok(pageInfo); + } + + /** + * 导出用户积分列表 + */ + @ResponseBody + @GetMapping("/exportUserPoint") + @ApiOperation(value = "导出用户积分列表", tags = "后台-财务统计-用户积分统计") + public void exportUserPoint(HttpServletResponse response, @RequestParam(value = "name",required = false) String name) { + + List<UserPointStatisticsVO> exportList=appUserMapper.exportUserPoint(name); + ExcelUtil<UserPointStatisticsVO> util = new ExcelUtil<UserPointStatisticsVO>(UserPointStatisticsVO.class); + util.exportExcel(response, exportList, "用户积分汇总"); + } + + + @PostMapping("/saveOrUpdateAppUser") + Long saveOrUpdateAppUser(@RequestBody AppUser appuser){ + if (appuser.getId() == null) { + //保存用户 + appUserService.save(appuser); + }else { + appUserService.updateById(appuser); + } + return appuser.getId(); + + } + + @GetMapping("/getAllUser") + @ApiOperation(value = "获取所有用户") + public R<List<AppUser>> getAllUser() { + LambdaQueryWrapper<AppUser> queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.select(AppUser::getId,AppUser::getName); + queryWrapper.eq(AppUser::getDelFlag,0);//未删除的 + queryWrapper.ne(AppUser::getStatus, 3);//未注销的 + List<AppUser> list = appUserService.list(queryWrapper); + return R.ok(list); + } + } -- Gitblit v1.7.1