From 0449a6264819bce3869f47b9e5bd3729f158db54 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期五, 14 三月 2025 16:05:24 +0800 Subject: [PATCH] 迭代版本:2.28 --- ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml | 10 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/CouponInfoController.java | 52 ++++-- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 2 ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml | 12 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java | 30 ++- ruoyi-gateway/src/main/resources/bootstrap.yml | 41 ++++- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java | 8 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java | 8 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java | 1 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml | 2 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java | 4 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 3 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/payment/PaymentUtil.java | 2 ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml | 20 +- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java | 11 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java | 10 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 37 ++++ a.json | 22 +- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 93 ++++++++++-- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java | 5 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java | 2 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java | 5 22 files changed, 274 insertions(+), 106 deletions(-) diff --git a/a.json b/a.json index 92807e7..d5c72b9 100644 --- a/a.json +++ b/a.json @@ -1,13 +1,17 @@ { - "total": "总数", - "pageSize": "每页大小", - "pageNum": "页码", - "records": [ + "access_token": "90_4PJ8b5aLJa2M7aCtoskALEzfoap1me291Jc3ogi18NGH0Ts-Tol7K3COLLvkQ1JLcouvew11ORqcHf6mH5LA2KSC08NxiDhsjRPKuRh14mpvQRHmeFvwr-wKWjkANLdACAUHF", + "order_key": { + "order_number_type": 1 + }, + "logistics_type": 1, + "delivery_mode": 1, + "shipping_list": [ { - "item": "项目名称", - "time": "时间", - "amount": "变动金额", - "type": "加或减标记: 1 加 2 减" + "item_desc": "这是一个测试" } - ] + ], + "upload_time": "2022-12-15T13:29:35.120+08:00", + "payer": { + "openid": "ooOrs63KYDHcyhnUmTFpprHc6sb4" + } } \ No newline at end of file diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java index 683c4c5..315e863 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java @@ -40,6 +40,11 @@ } @Override + public R<List<Order>> getRedeemedOrdersByShop(Integer shopId) { + return R.fail("获取已核销的订单失败:" + cause.getMessage()); + } + + @Override public R<Order> getOrderById(Long id) { return R.fail("根据id获取订单详情失败:" + cause.getMessage()); } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java index 93979ea..2aeda43 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java @@ -54,6 +54,14 @@ @PostMapping("/order/getAppUserByShoppingShop") R<Set<Long>> getAppUserByShoppingShop(@RequestParam("shopId") Integer shopId); + /** + * 获取指定门店的核销订单 + */ + @GetMapping("/order/getRedeemedOrdersByShop") + R<List<Order>> getRedeemedOrdersByShop(@RequestParam("shopId") Integer shopId); + + + /** * 根据id获取订单详情 diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java index 4a1faf4..cafd99d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java @@ -16,6 +16,7 @@ @Override public R<SysUser> getSysUser(Long userId) { + System.out.println(cause.getMessage()); return R.fail("获取用户失败:" + cause.getMessage()); } diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml index 49ad83e..b719769 100644 --- a/ruoyi-gateway/src/main/resources/bootstrap.yml +++ b/ruoyi-gateway/src/main/resources/bootstrap.yml @@ -23,16 +23,16 @@ nacos: discovery: # 服务注册地址 - server-addr: 192.168.110.111/:8848 + server-addr: 127.0.0.1:8848 service: ruoyi-gateway group: DEFAULT_GROUP - namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 username: password: config: # 配置中心地址 - server-addr: 192.168.110.111/:8848 - namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + server-addr: 127.0.0.1:8848 + namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 username: password: group: DEFAULT_GROUP @@ -52,24 +52,41 @@ discovery: # 服务注册地址 server-addr: 127.0.0.1:8848 - service: ruoyi-gateway + service: ${spring.application.name} group: DEFAULT_GROUP - namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 - username: - password: + namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + username: nacos + password: nacos config: # 配置中心地址 server-addr: 127.0.0.1:8848 - namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 - username: - password: + namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + username: nacos + password: nacos group: DEFAULT_GROUP - name: ruoyi-gateway + name: ${spring.application.name} # 配置文件格式 file-extension: yml # 共享配置 shared-configs: - application.${spring.cloud.nacos.config.file-extension} + sentinel: + # 取消控制台懒加载 + eager: true + transport: + # 控制台地址 + dashboard: 192.168.0.137:8718 + # nacos配置持久化 + datasource: + ds1: + nacos: + server-addr: 127.0.0.1:8848 + dataId: sentinel-ruoyi-gateway + groupId: DEFAULT_GROUP + username: nacos + password: nacos + data-type: json + rule-type: gw-flow --- spring: config: 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 0ef6e50..e99289b 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 @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; @@ -171,7 +172,7 @@ @PostMapping("/getCouponCount") public R<Long> getCouponCount(@RequestParam("userId") Long userId, @RequestParam("couponId") Integer couponId) { LambdaQueryChainWrapper<UserCoupon> chainWrapper = userCouponService.lambdaQuery().eq(UserCoupon::getCouponId, couponId); - if(null != userId && -1 == userId){ + if(null != userId && -1 != userId){ chainWrapper.eq(UserCoupon::getAppUserId, userId); } Long count = chainWrapper.count(); @@ -688,14 +689,42 @@ return R.ok(list); } + + @GetMapping("/getUserPointsPage") + @ApiOperation(value = "用户列表", tags = {"管理后台"}) + public R<IPage<AppUser>> getUserPointsPage(@ApiParam("页码") @RequestParam Integer pageNum, + @ApiParam("每一页数据大小") Integer pageSize, + AppUser appUser) { + + Long userId = tokenService.getLoginUser().getUserid(); + SysUser data = sysUserClient.getSysUser(userId).getData(); + + QueryWrapper<AppUser> queryWrapper = new QueryWrapper<>(); + if (data.getRoleType() == 2) { + Integer shopId = data.getObjectId(); + List<Order> orders = orderClient.getRedeemedOrdersByShop(shopId).getData(); + List<Long> userIds = orders.stream().map(Order::getAppUserId).collect(Collectors.toList()); + queryWrapper.in(!CollectionUtils.isEmpty(userIds), "id", userIds) + .like(StringUtils.isNotEmpty( appUser.getName()),"name", appUser.getName()); + } + queryWrapper.eq("del_flag", 0); + queryWrapper.ne("status", 3); + + List<AppUser> appUserList = appUserService.list(queryWrapper); + Page<AppUser> objectPage = Page.of(pageNum, pageSize); + objectPage.setRecords(appUserList); + return R.ok(objectPage); + + } + /** * 获取用户列表 */ @GetMapping("/getAppuserPage") - @ApiOperation(value = "用户列表", tags = {"管理后台"}) public R<IPage<AppUser>> getAppuserPage(@ApiParam("页码") @RequestParam Integer pageNum, - @ApiParam("每一页数据大小") Integer pageSize, - AppUser appUser) { + @ApiParam("每一页数据大小") Integer pageSize, + AppUser appUser){ + Long userid = tokenService.getLoginUser().getUserid(); SysUser sysUser = sysUserClient.getSysUser(userid).getData(); Integer shopId = null; @@ -721,6 +750,8 @@ } return R.ok(appuserPage); } + + @GetMapping("/shop/getAppuserPage") @ApiOperation(value = "用户列表", tags = {"门店后台"}) @@ -1072,22 +1103,46 @@ @GetMapping("/statistics") @ApiOperation(value = "用户统计", tags = {"管理后台-首页统计-用户统计"}) public R<UserStatistics> statistics() { - Long userid = tokenService.getLoginUser().getUserid(); - SysUser data = sysUserClient.getSysUser(userid).getData(); - Integer shopId = null; - Set<Long> userId = null; - if(data.getRoleType() == 2){ - shopId = data.getObjectId(); - userId = orderClient.getAppUserByShoppingShop(shopId).getData(); + Long userId = tokenService.getLoginUser().getUserid(); + SysUser data = sysUserClient.getSysUser(userId).getData(); + + QueryWrapper<AppUser> queryWrapper = new QueryWrapper<>(); + if (data.getRoleType() == 2) { + Integer shopId = data.getObjectId(); + List<Order> orders = orderClient.getRedeemedOrdersByShop(shopId).getData(); + List<Long> userIds = orders.stream().map(Order::getAppUserId).collect(Collectors.toList()); + queryWrapper.in(!CollectionUtils.isEmpty(userIds), "id", userIds); // userIds 不为空时,查询 id 在 userIds 中 } - UserStatistics userStatistics = appUserMapper.getUserStatistics(shopId, userId); - List<Shop> shopList = shopClient.getAllShop().getData(); - if (CollectionUtil.isNotEmpty(shopList)){ - long count = shopList.stream().map(Shop::getAppUserId).distinct().count(); - userStatistics.setShopUser((int) count); - }else { - userStatistics.setShopUser(0); - } + queryWrapper.eq("del_flag", 0); + queryWrapper.ne("status", 3); + List<AppUser> appUserList = appUserService.list(queryWrapper); + + Map<Integer, Long> vipIdCountMap = appUserList.stream() + .collect(Collectors.groupingBy(AppUser::getVipId, Collectors.counting())); + + UserStatistics userStatistics = new UserStatistics(); + userStatistics.setTotalUser(appUserList.size()); + userStatistics.setConsumerUser(vipIdCountMap.getOrDefault(0, 0L).intValue() + + vipIdCountMap.getOrDefault(1, 0L).intValue() + + vipIdCountMap.getOrDefault(2, 0L).intValue() + + vipIdCountMap.getOrDefault(3, 0L).intValue()); + userStatistics.setCommonUser(vipIdCountMap.getOrDefault(1, 0L).intValue()); + userStatistics.setGoldUser(vipIdCountMap.getOrDefault(2, 0L).intValue()); + userStatistics.setDiamondUser(vipIdCountMap.getOrDefault(3, 0L).intValue()); + userStatistics.setEntrepreneurUser(vipIdCountMap.getOrDefault(4, 0L).intValue() + + vipIdCountMap.getOrDefault(5, 0L).intValue() + + vipIdCountMap.getOrDefault(6, 0L).intValue() + + vipIdCountMap.getOrDefault(7, 0L).intValue()); + userStatistics.setProxyUser(vipIdCountMap.getOrDefault(4, 0L).intValue()); + userStatistics.setAgentUser(vipIdCountMap.getOrDefault(5, 0L).intValue()); + userStatistics.setTotalAgentUser(vipIdCountMap.getOrDefault(6, 0L).intValue()); + userStatistics.setPartnerUser(vipIdCountMap.getOrDefault(7, 0L).intValue()); + + long shopUserCount = appUserList.stream() + .filter(appUser -> appUser.getUserType() == 2) + .count(); + userStatistics.setShopUser((int) shopUserCount); + return R.ok(userStatistics); } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java index ee196ff..623e0be 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java @@ -300,9 +300,8 @@ @PostMapping("/getCouponInfo") public R<CouponInfoVo> getCouponInfo(@RequestParam("userCouponId") Long userCouponId){ UserCoupon userCoupon = userCouponService.getById(userCouponId); - CouponInfo data = couponClient.detail(userCoupon.getCouponId()).getData(); - CouponInfoVo couponInfoVo = new CouponInfoVo(); - BeanUtils.copyProperties(data, couponInfoVo); + String jsonStr = userCoupon.getCouponInfo(); + CouponInfoVo couponInfoVo = JSON.parseObject(jsonStr, CouponInfoVo.class); return R.ok(couponInfoVo); } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java index 60b63e3..26825a6 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java @@ -1043,7 +1043,7 @@ Integer online = jsonObject.getInteger("online"); online += 10; //满足一个小时,开始发放积分,计时归0 - if(time >= 3600000L && 60 <= online){ + if(time >= 60000 && 1 <= online){ jsonObject.put("time", System.currentTimeMillis()); jsonObject.put("online", 0); redisService.setCacheObject("ONLINE_" + userid, jsonObject, 1L, TimeUnit.HOURS); diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java index 3ce74d7..2c0fe35 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java @@ -98,7 +98,7 @@ BigDecimal beforeAmount = changeRecord.getBeforeAmount(); BigDecimal afterAmount = changeRecord.getAfterAmount(); - if (beforeAmount.compareTo(afterAmount) < 0 && changeRecord.getChangeType().equals(2)){ + if (beforeAmount.compareTo(afterAmount) > 0){ BigDecimal changeAmount = changeRecord.getChangeAmount(); totalWithdraw = totalWithdraw.add(changeAmount); walletStatisticsDetail.setFlag(2); diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java index 9c18143..974914b 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.account.service.impl; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.vo.PaymentUserCouponVo; @@ -46,11 +47,13 @@ public List<PaymentUserCouponVo> getUserCoupon(Long userId, Integer type) { List<UserCoupon> list = this.list(new LambdaQueryWrapper<UserCoupon>().eq(UserCoupon::getAppUserId, userId).eq(UserCoupon::getDelFlag, 0) .isNull(UserCoupon::getUseTime).gt(UserCoupon::getEndTime, LocalDateTime.now()).last(" and now() between start_time and end_time")); - List<Integer> couponIds = list.stream().map(UserCoupon::getCouponId).collect(Collectors.toList()); - if(couponIds.size() == 0){ - return null; + + + List<CouponInfo> couponInfoList = new ArrayList<>(); + for (String jsonStr : list.stream().map(UserCoupon::getCouponInfo).collect(Collectors.toList())) { + CouponInfo couponInfo = JSONObject.parseObject(jsonStr, CouponInfo.class); + couponInfoList.add(couponInfo); } - List<CouponInfo> couponInfoList = couponInfoClient.getCouponInfoList(couponIds).getData(); //构建返回数据 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm"); List<PaymentUserCouponVo> infoVoList = new ArrayList<>(); diff --git a/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml index d67f0f5..cf492fe 100644 --- a/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml +++ b/ruoyi-service/ruoyi-account/src/main/resources/bootstrap.yml @@ -23,7 +23,7 @@ nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 192.168.110.106:8848 service: ${spring.application.name} group: DEFAULT_GROUP namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 @@ -31,12 +31,12 @@ password: nacos config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 192.168.110.106:8848 namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 - group: DEFAULT_GROUP - name: ${spring.application.name} username: nacos password: nacos + group: DEFAULT_GROUP + name: ${spring.application.name} # 配置文件格式 file-extension: yml # 共享配置 @@ -54,13 +54,13 @@ server-addr: 127.0.0.1:8848 service: ${spring.application.name} group: DEFAULT_GROUP - namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 + namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a username: nacos password: nacos config: # 配置中心地址 server-addr: 127.0.0.1:8848 - namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 + namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a username: nacos password: nacos group: DEFAULT_GROUP diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml index 1744790..0a97245 100644 --- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml +++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml @@ -31,7 +31,7 @@ t_user_point tup LEFT JOIN t_app_user tau ON tup.app_user_id = tau.id <where> - tup.type not in (8, 9, 14) + tup.type not in (8, 9, 14) and tau.status != 3 and tau.del_flag = 0 <if test="userPoint.userName != null and userPoint.userName != ''"> AND tau.`name` LIKE concat('%',#{userPoint.userName},'%') </if> diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java index fa00bec..d7989f2 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java @@ -483,6 +483,16 @@ return R.ok(collect); } + /** + * 获取指定门店的核销订单 + */ + @GetMapping("/getRedeemedOrdersByShop") + public R<List<Order>> getRedeemedOrdersByShop(@RequestParam("shopId") Integer shopId) { + return R.ok(orderService.list(new LambdaQueryWrapper<Order>() + .isNotNull(Order::getEndTime) + .eq(Order::getShopId, shopId))); + } + /** * 获取订单快递明细 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 4025706..4c6d803 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.common.core.constant.ExpressCompanyMap; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.HttpUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.QRCodeGenerator; import com.ruoyi.common.core.web.page.PageInfo; @@ -183,9 +184,9 @@ } // 优惠券 String couponJson = order.getCouponJson(); - CouponInfo couponInfo = new CouponInfo(); + JSONObject jsonObject = new JSONObject(); if (StringUtils.isNotEmpty(couponJson)) { - couponInfo = JSONObject.parseObject(couponJson, CouponInfo.class); + jsonObject = JSONObject.parseObject(couponJson); } // 参与活动 @@ -208,7 +209,7 @@ orderDetailVO.setOrderNumber(order.getOrderNumber()); orderDetailVO.setCreateTime(order.getCreateTime()); orderDetailVO.setTotalAmount(order.getTotalAmount()); - orderDetailVO.setCouponName(couponInfo.getCouponName()); + orderDetailVO.setCouponName(jsonObject.getString("couponName")); orderDetailVO.setActivityName(orderActivityInfo.getActivityName()); orderDetailVO.setCouponAmount(order.getDiscountTotalAmount()); orderDetailVO.setExpressAmount(order.getExpressAmount()); @@ -246,6 +247,7 @@ } return orderDetailVO; } + @Override public boolean check(Order order, Integer shopId, Long userId) { @@ -1113,9 +1115,38 @@ userAddress.getProvince() + userAddress.getCity()); order.setExpressResult(JSON.toJSONString(mapTrackKD100Vo)); this.updateById(order); + + + String s = HttpUtils.sendGet("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxdeed472c98e42a54&secret=c89c697c981452480e0781fb82d4284c"); + JSONObject jsonObject2 = JSONObject.parseObject(s); + System.out.println(jsonObject.getString("access_token")); + return R.ok(); } + public static void main(String[] args) { + String a = "{\n" + + " \"access_token\": \"90_4PJ8b5aLJa2M7aCtoskALEzfoap1me291Jc3ogi18NGH0Ts-Tol7K3COLLvkQ1JLcouvew11ORqcHf6mH5LA2KSC08NxiDhsjRPKuRh14mpvQRHmeFvwr-wKWjkANLdACAUHF\",\n" + + " \"order_key\": {\n" + + " \"order_number_type\": 1\n" + + " },\n" + + " \"logistics_type\": 1,\n" + + " \"delivery_mode\": 1,\n" + + " \"shipping_list\": [\n" + + " {\n" + + " \"item_desc\": \"这是一个测试\"\n" + + " }\n" + + " ],\n" + + " \"upload_time\": \"2022-12-15T13:29:35.120+08:00\",\n" + + " \"payer\": {\n" + + " \"openid\": \"ooOrs63KYDHcyhnUmTFpprHc6sb4\"\n" + + " }\n" + + "}"; + + JSONObject jsonObject = JSONObject.parseObject(a); + System.out.println(jsonObject); + } + public static void importExpress2(String filePath) throws MalformedURLException { // 从网络地址读取 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java index c67422a..c2ff5f0 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java @@ -1519,6 +1519,9 @@ if(order.getOrderType() == 1 && StringUtils.isEmpty(order.getAddressJson())){ order.setOrderStatus(2); } + + String r7TrxNo = uniPayCallbackResult.getR7_TrxNo(); + order.setSerialNumber(r7TrxNo); orderService.updateById(order); //处理优惠券 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/payment/PaymentUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/payment/PaymentUtil.java index ddce26c..26a7a4f 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/payment/PaymentUtil.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/payment/PaymentUtil.java @@ -34,7 +34,7 @@ /** * 支付回调地址 */ - private static final String callbackUrl = "https://www.qijisheng.top"; + private static final String callbackUrl = "http://luodaxia.free.idcfengye.com"; /** diff --git a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml index 80194dc..ab94eeb 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml +++ b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml @@ -23,7 +23,7 @@ nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 192.168.110.106:8848 service: ${spring.application.name} group: DEFAULT_GROUP namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 @@ -31,12 +31,12 @@ password: nacos config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 192.168.110.106:8848 namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 - group: DEFAULT_GROUP - name: ${spring.application.name} username: nacos password: nacos + group: DEFAULT_GROUP + name: ${spring.application.name} # 配置文件格式 file-extension: yml # 共享配置 @@ -60,7 +60,7 @@ config: # 配置中心地址 server-addr: 127.0.0.1:8848 - namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 + namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a username: nacos password: nacos group: DEFAULT_GROUP diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/CouponInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/CouponInfoController.java index 0c85501..4d139a9 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/CouponInfoController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/CouponInfoController.java @@ -161,6 +161,8 @@ Long userid = tokenService.getLoginUserApplet().getUserid(); AppUser appUserById = appUserClient.getAppUserById(userid); LocalDateTime now = LocalDateTime.now(); + + //查出全部可领取的优惠劵 List<CouponInfo> list = couponInfoService.lambdaQuery() .le(CouponInfo::getSendStartTime, now) @@ -175,32 +177,46 @@ .apply("FIND_IN_SET('" + appUserById.getId() + "', person_ids)") .list(); //查出指定会员可领取优惠劵 - List<CouponInfo> list2 = couponInfoService.lambdaQuery().le(CouponInfo::getSendStartTime, now).ge(CouponInfo::getSendEndTime, now).eq(CouponInfo::getPersonType, 3).apply("FIND_IN_SET('" + appUserById.getVipId() + "', vip_ids)").list(); + List<CouponInfo> list2 = couponInfoService.lambdaQuery() + .le(CouponInfo::getSendStartTime, now) + .ge(CouponInfo::getSendEndTime, now) + .eq(CouponInfo::getPersonType, 3) + .apply("FIND_IN_SET('" + appUserById.getVipId() + "', vip_ids)").list(); List<CouponInfo> returnList = new ArrayList<>(); - count(userid, list, returnList); - count(userid, list1, returnList); - count(userid, list2, returnList); - return R.ok(returnList); + returnList.addAll(list); + returnList.addAll(list1); + returnList.addAll(list2); + + List<CouponInfo> collect = returnList.stream().filter(couponInfo -> { + Integer couponInfoId = couponInfo.getId(); + Integer sendNum = couponInfo.getSendNum(); + Integer maxNum = couponInfo.getMaxNum(); + Long count = appUserClient.getCouponCount(-1L, couponInfoId).getData(); + Long count2 = appUserClient.getCouponCount(userid, couponInfoId).getData(); + return count < sendNum && count2 < maxNum; + }).collect(Collectors.toList()); + + return R.ok(collect); } private void count(Long userid, List<CouponInfo> list1, List<CouponInfo> returnList) { for (CouponInfo couponInfo : list1) { - Long count = appUserClient.getCouponCount(-1L, couponInfo.getId()).getData(); - if(count >= couponInfo.getSendNum()){ + Integer couponInfoId = couponInfo.getId(); + Integer sendNum = couponInfo.getSendNum(); + Integer maxNum = couponInfo.getMaxNum(); + Long count = appUserClient.getCouponCount(-1L, couponInfoId).getData(); + if(count >= sendNum){ continue; } - count = appUserClient.getCouponCount(userid, couponInfo.getId()).getData(); - couponInfo.setMaxNum(couponInfo.getMaxNum() - count.intValue()); - if((couponInfo.getSendNum() - count) >= couponInfo.getMaxNum()){ - for (int i = 0; i < couponInfo.getMaxNum(); i++) { - returnList.add(couponInfo); - } - }else{ - for (int i = 0; i < (couponInfo.getSendNum() - count); i++) { - returnList.add(couponInfo); - } + + count = appUserClient.getCouponCount(userid, couponInfoId).getData(); + couponInfo.setMaxNum(maxNum - count.intValue()); + if(count < maxNum){ + continue; } - + for (int i = 0; i < maxNum; i++) { + returnList.add(couponInfo); + } } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java index 1d124c7..231e8f9 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java @@ -324,7 +324,8 @@ Boolean data = userPointClient.judgmentDailyShare(userid).getData(); if(!data){ AppUser appUser = appUserClient.getAppUserById(userid); - PointSetting pointSetting = pointSettingService.getOne(new LambdaQueryWrapper<PointSetting>().eq(PointSetting::getId, appUser.getVipId()).eq(PointSetting::getDelFlag, 0)); + PointSetting pointSetting = pointSettingService.getOne(new LambdaQueryWrapper<PointSetting>() + .eq(PointSetting::getId, appUser.getVipId()).eq(PointSetting::getDelFlag, 0)); if(null != pointSetting){ Integer everySharePoint = pointSetting.getEverySharePoint(); Integer lavePoint = appUser.getLavePoint(); @@ -336,23 +337,28 @@ appUser.setTotalPoint(appUser.getTotalPoint() + everySharePoint); appUserClient.editAppUserById(appUser); //添加积分流水 - if(everySharePoint > 0){ - UserPoint userPoint = new UserPoint(); - userPoint.setAppUserId(userid); - userPoint.setType(4); - userPoint.setHistoricalPoint(lavePoint); - userPoint.setVariablePoint(everySharePoint); - userPoint.setBalance(appUser.getLavePoint()); - userPoint.setCreateTime(LocalDateTime.now()); - userPoint.setAppUserId(appUser.getId()); - userPointClient.saveUserPoint(userPoint); - } + UserPoint userPoint = new UserPoint(); + userPoint.setAppUserId(userid); + userPoint.setType(4); + userPoint.setHistoricalPoint(lavePoint); + userPoint.setVariablePoint(everySharePoint); + userPoint.setBalance(appUser.getLavePoint()); + userPoint.setCreateTime(LocalDateTime.now()); + userPoint.setAppUserId(appUser.getId()); + userPointClient.saveUserPoint(userPoint); } } } return R.ok(one); } + + //appUserShare/ + @GetMapping("/saveAppUserShare") + public R<Share> saveAppUserShare() { + return getAppletShare(); + } + } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java index ac1f16a..0f9e61e 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java @@ -408,6 +408,10 @@ return R.ok(); } + public static void main(String[] args) { + System.out.println("17780483325".substring(5)); + } + @PutMapping("/freezingOrThawing") @ApiOperation(value = "门店管理-冻结/解冻门店", tags = {"管理后台-门店管理"}) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java index 6a48227..82b5c84 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopServiceImpl.java @@ -134,7 +134,13 @@ } } }); - return nearbyShopVOS; + return sortByDistance(nearbyShopVOS); + } + + public static List<NearbyShopVO> sortByDistance(List<NearbyShopVO> nearbyShopVOS) { + return nearbyShopVOS.stream() + .sorted(Comparator.comparingDouble(NearbyShopVO::getDistance)) + .collect(Collectors.toList()); } @Override diff --git a/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml index 149cc82..5e1a7b2 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml +++ b/ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml @@ -23,16 +23,16 @@ nacos: discovery: # 服务注册地址 - server-addr: 192.168.110.111/:8848 + server-addr: 192.168.110.106:8848 service: ${spring.application.name} group: DEFAULT_GROUP - namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 username: password: config: # 配置中心地址 - server-addr: 192.168.110.111/:8848 - namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + server-addr: 192.168.110.106:8848 + namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 username: password: group: DEFAULT_GROUP @@ -54,15 +54,15 @@ server-addr: 127.0.0.1:8848 service: ${spring.application.name} group: DEFAULT_GROUP - namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 - username: - password: + namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + username: nacos + password: nacos config: # 配置中心地址 server-addr: 127.0.0.1:8848 - namespace: cdf47c5f-2bf9-4dec-a616-a8dc653aceb9 - username: - password: + namespace: 20c168da-8cf1-4fff-bc38-bc62df656b6a + username: nacos + password: nacos group: DEFAULT_GROUP name: ${spring.application.name} # 配置文件格式 -- Gitblit v1.7.1