ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/PageUtils.java
@@ -25,6 +25,13 @@ PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); } public static void startPage(Integer pageNum,Integer pageSize){ PageDomain pageDomain = TableSupport.buildPageRequest(); String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); Boolean reasonable = pageDomain.getReasonable(); PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); } /** * 清理分页的线程变量 */ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/page/PageDomain.java
@@ -38,6 +38,8 @@ return pageNum; } public void setPageNum(Integer pageNum) { this.pageNum = pageNum; ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
@@ -3,27 +3,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.account.api.model.AppUser; import com.ruoyi.account.api.model.UserCancellationLog; import com.ruoyi.account.api.model.UserCoupon; import com.ruoyi.account.api.model.UserSignRecord; import com.ruoyi.account.mapper.AppUserMapper; import com.ruoyi.account.service.AppUserService; import com.ruoyi.account.service.UserCancellationLogService; import com.ruoyi.account.service.UserCouponService; import com.ruoyi.account.service.UserSignRecordService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.model.*; import com.ruoyi.account.dto.DangerInfoDto; import com.ruoyi.account.mapper.AppUserMapper; import com.ruoyi.account.service.*; import com.ruoyi.account.util.ObsUploadUtil; import com.ruoyi.account.vo.*; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.redis.annotation.DistributedLock; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.feignClient.OrderClient; import com.ruoyi.order.feignClient.RemoteOrderGoodsClient; @@ -31,7 +23,6 @@ import com.ruoyi.other.api.domain.Shop; import com.ruoyi.other.api.domain.ShopBalanceStatement; import com.ruoyi.other.api.domain.VipSetting; import com.ruoyi.other.api.factory.ShopBalanceStatementClientFallbackFactory; import com.ruoyi.other.api.feignClient.ShopBalanceStatementClient; import com.ruoyi.other.api.feignClient.ShopClient; import com.ruoyi.other.api.feignClient.StoreClient; @@ -39,13 +30,9 @@ import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.IOException; @@ -57,12 +44,6 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; import com.ruoyi.account.vo.*; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.TableDataInfo; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; /** * <p> ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -247,8 +247,8 @@ redisService.setCacheObject(smsCode.getPhone(), code, 300L, TimeUnit.SECONDS); return R.ok(); } /** * 注册账号 * @param registerAccount ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -360,7 +360,7 @@ } catch (ParseException e) { throw new RuntimeException(e); } }).reversed()) })) .collect(Collectors.toList()); orderStatistics.setOrderStatisticsDetailList(sortedDetails); } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -209,7 +209,7 @@ @ApiOperation(value = "门店详情", tags = {"管理后台-门店管理"}) public R<Shop> getDetailById(@RequestParam("id") Integer id){ Shop shop = shopService.getById(id); if (shop.getPid()==0){ if (null != shop.getPid() && shop.getPid()==0){ shop.setPid(null); } return R.ok(shop); @@ -504,7 +504,7 @@ List<UserShop> data = userShopClient.getUserShop(userShop).getData(); SysUser userData = sysUserClient.getSysUser(data.get(0).getUserId()).getData(); String s = MD5Generator.generateMD5(userData.getPhonenumber().substring(5)); userData.setPassword(SecurityUtils.encryptPassword(s)); userData.setPassword(s); sysUserClient.resetPassword(userData); } return R.ok(); ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java
@@ -2,16 +2,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.AppUser; import com.ruoyi.common.core.utils.PageUtils; import com.ruoyi.common.core.utils.ServletUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.sql.SqlUtil; import com.ruoyi.common.core.web.page.PageDomain; import com.ruoyi.common.core.web.page.TableSupport; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.feignClient.OrderClient; @@ -36,8 +32,6 @@ import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; import static com.ruoyi.common.core.utils.PageUtils.startPage; /** * <p> @@ -74,11 +68,6 @@ AppUser appUser = appUserClient.getAppUserById(loginUserApplet.getUserid()); goods.setVipId(appUser.getVipId()); PageDomain pageDomain = TableSupport.buildPageRequest(); Boolean reasonable = pageDomain.getReasonable(); PageHelper.startPage(goods.getPageCurr(), goods.getPageSize(), goods.getOrderByColumn()).setReasonable(reasonable); List<SeckillActivityVO> seckillActivityVOS = seckillActivityInfoMapper.listSeckillActivity(goods); for (SeckillActivityVO seckillActivityVO : seckillActivityVOS) { Integer data = orderClient.getGoodsSaleNum(seckillActivityVO.getGoodsId(), 2).getData(); @@ -94,7 +83,50 @@ seckillActivityVO.setStatus(1); // 未开始 } } return seckillActivityVOS; Integer pageCurr = goods.getPageCurr(); Integer pageSize = goods.getPageSize(); String orderByColumn = goods.getOrderByColumn(); String isAsc = goods.getIsAsc(); // 排序 Comparator<SeckillActivityVO> comparator = getComparator(orderByColumn, isAsc); List<SeckillActivityVO> sortedList = seckillActivityVOS.stream() .sorted(comparator) .collect(Collectors.toList()); // 分页 int startIndex = (pageCurr - 1) * pageSize; int endIndex = Math.min(startIndex + pageSize, sortedList.size()); if (startIndex >= sortedList.size()) { return new ArrayList<>(); } return sortedList.subList(startIndex, endIndex); } private Comparator<SeckillActivityVO> getComparator(String orderByColumn, String isAsc) { Comparator<SeckillActivityVO> comparator; switch (orderByColumn) { case "tgs.selling_price": comparator = Comparator.comparing(SeckillActivityVO::getSellingPrice); break; case "integral": comparator = Comparator.comparing(SeckillActivityVO::getIntegral); break; case "sale_num": comparator = Comparator.comparing(SeckillActivityVO::getSaleNum); break; // 添加其他排序字段 default: comparator = Comparator.comparing(SeckillActivityVO::getId); // 默认按ID排序 break; } if ("desc".equalsIgnoreCase(isAsc)) { comparator = comparator.reversed(); } return comparator; } @Override ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java
@@ -109,13 +109,17 @@ PageInfo<TechnicianSubscribeVO> pageInfo = new PageInfo(pageCurr, pageSize); List<TechnicianSubscribeVO> technicianSubscribeByUserAndShop1 = technicianSubscribeMapper.getTechnicianSubscribeByUserAndShop1(pageInfo, shopId, status, phone, name, serviceMode); if (StringUtils.isNotEmpty(name)){ List<AppUser> nameIds = appUserClient.getAppUserByPhone(name).getData(); technicianSubscribeByUserAndShop1 = technicianSubscribeByUserAndShop1.stream().filter(e -> nameIds.contains(e.getAppUserId())) List<AppUser> nameIds = appUserClient.getAppUserByName(name).getData(); List<Long> collect = nameIds.stream().map(AppUser::getId).collect(Collectors.toList()); if (collect.isEmpty())collect.add(-1L); technicianSubscribeByUserAndShop1 = technicianSubscribeByUserAndShop1.stream().filter(e -> collect.contains(e.getAppUserId())) .collect(Collectors.toList()); } if (StringUtils.isNotEmpty(phone)){ List<AppUser> phoneIds = appUserClient.getAppUserByPhone(phone).getData(); technicianSubscribeByUserAndShop1 = technicianSubscribeByUserAndShop1.stream().filter(e -> phoneIds.contains(e.getAppUserId())) List<Long> collect = phoneIds.stream().map(AppUser::getId).collect(Collectors.toList()); if (collect.isEmpty())collect.add(-1L); technicianSubscribeByUserAndShop1 = technicianSubscribeByUserAndShop1.stream().filter(e -> collect.contains(e.getAppUserId())) .collect(Collectors.toList()); } for (TechnicianSubscribeVO technicianSubscribeVO : technicianSubscribeByUserAndShop1) { ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianSubscribeMapper.xml
@@ -53,12 +53,7 @@ <if test="status != null"> AND tts.status = #{status} </if> <if test="name != null and name != ''"> AND tt.`name` LIKE concat('%', #{name}, '%') </if> <if test="phone != null and phone != ''"> AND tt.`phone` LIKE concat('%', #{phone}, '%') </if> <if test="serviceMode != null"> AND tts.service_mode = #{serviceMode} </if>