From fc3c206439297fedc116e5a05aff799529e93e99 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 14 一月 2025 19:58:10 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng --- 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/RefundPassService.java | 6 ++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/RefundPass.java | 4 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/RefundPassController.java | 49 ++++++++++++++++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java | 50 ++++++++++++++++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 19 ----- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java | 4 + 8 files changed, 119 insertions(+), 19 deletions(-) diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/RefundPass.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/RefundPass.java index 7d06b35..93c4562 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/RefundPass.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/RefundPass.java @@ -94,4 +94,8 @@ @ApiModelProperty("收货地址JSON") @TableField(exist = false) private String addressJson; + + @ApiModelProperty(value = "第三方快递结果") + @TableField("express_result") + private String expressResult; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 93cccc5..3f300d1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -296,15 +296,6 @@ @Override @Transactional(rollbackFor = Exception.class) public int updateUser(SysUser user) { -// Long userId = user.getUserId(); -// // 删除用户与角色关联 -// userRoleMapper.deleteUserRoleByUserId(userId); -// // 新增用户与角色管理 -// insertUserRole(user); -// // 删除用户与岗位关联 -// userPostMapper.deleteUserPostByUserId(userId); -// // 新增用户与岗位管理 -// insertUserPost(user); return userMapper.updateUser(user); } @@ -456,13 +447,7 @@ SysUser sysUser = this.getById(userid); for (Long userId : userIds) { checkUserAllowed(new SysUser(userId)); -// checkUserDataScope(userId); } - // 删除用户与角色关联 -// userRoleMapper.deleteUserRole(userIds); -// // 删除用户与岗位关联 -// userPostMapper.deleteUserPost(userIds); -// int i = userMapper.deleteUserByIds(userIds); List<SysUser> sysUsers = this.listByIds(Arrays.asList(userIds)); for (SysUser user : sysUsers) { if(2 == user.getRoleType()){ @@ -482,11 +467,11 @@ long count = userShopService.count(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId())); if(0 == count){ user.setDelFlag("2"); - this.updateById(user); + userMapper.updateById(user); } }else{ user.setDelFlag("2"); - this.updateById(user); + userMapper.updateById(user); } } return 0; 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 0bca4b0..1d24df4 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 @@ -98,7 +98,9 @@ List<Goods> data1 = goodsClient.getAllGoods().getData(); List<String> collect = data1.stream().map(Goods::getName).collect(Collectors.toList()); goodNames.addAll(collect); - }else{ + }else if(StringUtils.isEmpty(data.getForGoodIds())){ + goodNames.addAll(JSON.parseArray(data.getGoodsNameJson(), String.class)); + }else { String[] split = vo.getForGoodIds().split(","); R<List<Goods>> goodsById = goodsClient.getGoodsById(split); if (goodsById.getData()!=null){ diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java index fe38178..146fbb7 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java @@ -42,7 +42,7 @@ // 获取提现审核中的金额 List<WithdrawalRequests> waitAuditList = withdrawalRequestsService.list(new LambdaQueryWrapper<WithdrawalRequests>() .eq(WithdrawalRequests::getAppUserId, userId) - .eq(WithdrawalRequests::getAuditStatus, WithdrawalAuditStatus.WAIT_AUDIT)); + .eq(WithdrawalRequests::getAuditStatus, WithdrawalAuditStatus.WAIT_AUDIT.getCode())); BigDecimal reduce = waitAuditList.stream().map(WithdrawalRequests::getWithdrawalAmount).reduce(BigDecimal.ZERO, BigDecimal::add); WalletVO walletVO = new WalletVO(); walletVO.setWithdrawalAmount(appUser.getWithdrawableAmount()); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/RefundPassController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/RefundPassController.java index a53dea7..7aa173e 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/RefundPassController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/RefundPassController.java @@ -1,8 +1,12 @@ package com.ruoyi.order.controller; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.account.api.model.UserAddress; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.core.web.page.TableDataInfo; @@ -11,13 +15,20 @@ import com.ruoyi.order.model.RefundPass; import com.ruoyi.order.service.OrderService; import com.ruoyi.order.service.RefundPassService; +import com.ruoyi.order.util.ExpressDeliveryUtil; +import com.ruoyi.order.util.vo.MapTrackKD100Vo; import com.ruoyi.order.vo.*; +import com.ruoyi.other.api.domain.SystemConfig; +import com.ruoyi.other.api.feignClient.SystemConfigClient; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -43,6 +54,12 @@ @Resource private OrderService orderService; + + @Resource + private RedisTemplate redisTemplate; + + @Resource + private SystemConfigClient systemConfigClient; @ResponseBody @@ -121,6 +138,20 @@ } refundPass.setStatus(5); refundPass.setCode(pass.getCode()); + + //添加查询快递信息队列 + //一小时后定时查询快递信息 + SystemConfig systemConfig = systemConfigClient.getSystemConfig(3).getData(); + JSONObject jsonObject = JSON.parseObject(systemConfig.getContent()); + Integer waitTime = jsonObject.getInteger("waitTime"); + redisTemplate.opsForZSet().add("order_refund_express", refundPass.getId(), LocalDateTime.now().plusHours(waitTime).toEpochSecond(ZoneOffset.UTC)); + + JSONObject jsonObject1 = JSON.parseObject(pass.getCode()); + String com = jsonObject1.getString("com"); + String num = jsonObject1.getString("num"); + UserAddress userAddress = JSON.parseObject(order.getAddressJson(), UserAddress.class); + MapTrackKD100Vo mapTrackKD100Vo = ExpressDeliveryUtil.kd100MapTrack(com, num, userAddress.getProvince() + userAddress.getCity(), order.getDeliverProvince() + order.getDeliverCity()); + refundPass.setExpressResult(JSON.toJSONString(mapTrackKD100Vo)); refundPassService.updateById(refundPass); return R.ok(); } @@ -168,5 +199,23 @@ } + + /** + * 获取订单快递明细 + * @param id + * @return + */ + @GetMapping("/getOrderExpress/{id}") + @ApiOperation(value = "获取售后订单快递明细", tags = {"小程序-订单管理"}) + public R<MapTrackKD100Vo> getOrderExpress(@PathVariable("id") Long id){ + RefundPass refundPass = refundPassService.getById(id); + String expressResult = refundPass.getExpressResult(); + if(StringUtils.isNotEmpty(expressResult)){ + MapTrackKD100Vo mapTrackKD100Vo = JSON.parseObject(expressResult, MapTrackKD100Vo.class); + return R.ok(mapTrackKD100Vo); + } + return R.ok(); + } + } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/RefundPassService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/RefundPassService.java index 948c675..f68f656 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/RefundPassService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/RefundPassService.java @@ -62,4 +62,10 @@ * @return */ RefundPassInfo getRefundPassInfo(Long id); + + + /** + * 定时查询快递信息 + */ + void taskExpress(); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java index e00657c..2635f94 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java @@ -7,6 +7,7 @@ import com.kuaidi100.sdk.contant.CompanyConstant; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.AppUser; +import com.ruoyi.account.api.model.UserAddress; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; @@ -17,13 +18,18 @@ import com.ruoyi.order.model.RefundPass; import com.ruoyi.order.service.OrderService; import com.ruoyi.order.service.RefundPassService; +import com.ruoyi.order.util.ExpressDeliveryUtil; +import com.ruoyi.order.util.vo.MapTrackKD100Vo; import com.ruoyi.order.vo.*; import com.ruoyi.other.api.domain.BaseSetting; +import com.ruoyi.other.api.domain.SystemConfig; import com.ruoyi.other.api.feignClient.BaseSettingClient; import com.ruoyi.other.api.feignClient.ShopClient; +import com.ruoyi.other.api.feignClient.SystemConfigClient; import com.ruoyi.other.api.feignClient.TechnicianClient; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -32,6 +38,7 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** @@ -57,6 +64,12 @@ @Resource private SysUserClient sysUserClient; + + @Resource + private RedisTemplate redisTemplate; + + @Resource + private SystemConfigClient systemConfigClient; @@ -243,4 +256,41 @@ } return refundPassInfo; } + + + /** + * 定时查询快递信息 + */ + @Override + public void taskExpress() { + Set<Long> order_express = redisTemplate.opsForZSet().rangeByScore("order_refund_express", 0, LocalDateTime.now().toEpochSecond(ZoneOffset.UTC)); + if(order_express.size() > 0){ + for (Long id : order_express) { + RefundPass refundPass = this.getById(id); + Order order = orderService.getById(refundPass.getOrderId()); + if(refundPass.getPassStatus() != 5){ + redisTemplate.opsForZSet().remove("order_refund_express", id); + continue; + } + String expressJson = refundPass.getCode(); + if(StringUtils.isEmpty(expressJson)){ + redisTemplate.opsForZSet().remove("order_refund_express", id); + continue; + } + //{"com":"jd","num":"JDV016336234367"} + JSONObject jsonObject1 = JSON.parseObject(refundPass.getCode()); + String com = jsonObject1.getString("com"); + String num = jsonObject1.getString("num"); + UserAddress userAddress = JSON.parseObject(order.getAddressJson(), UserAddress.class); + MapTrackKD100Vo mapTrackKD100Vo = ExpressDeliveryUtil.kd100MapTrack(com, num, userAddress.getProvince() + userAddress.getCity(), order.getDeliverProvince() + order.getDeliverCity()); + refundPass.setExpressResult(JSON.toJSONString(mapTrackKD100Vo)); + this.updateById(refundPass); + //延长时间x小时 + SystemConfig systemConfig = systemConfigClient.getSystemConfig(3).getData(); + JSONObject jsonObject2 = JSON.parseObject(systemConfig.getContent()); + Integer waitTime = jsonObject2.getInteger("waitTime"); + redisTemplate.opsForZSet().add("order_refund_express", refundPass.getId(), LocalDateTime.now().plusHours(waitTime).toEpochSecond(ZoneOffset.UTC)); + } + } + } } 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 d564c72..38a827d 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 @@ -328,6 +328,8 @@ userShop.setShopId(shop.getId()); userShop.setRoleType(1); userShop.setRoleId(2L); + userShop.setNickName(sysUser.getNickName()); + userShop.setCreateTime(LocalDateTime.now()); userShopClient.saveUserShop(userShop); } }else{ @@ -352,6 +354,8 @@ userShop.setShopId(shop.getId()); userShop.setRoleType(1); userShop.setRoleId(2L); + userShop.setNickName(appUser.getName()); + userShop.setCreateTime(LocalDateTime.now()); userShopClient.saveUserShop(userShop); } return R.ok(); -- Gitblit v1.7.1