diff --git a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java index 256603f9..e5de7c6b 100644 --- a/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java +++ b/buyer-api/src/main/java/cn/lili/controller/member/FootprintController.java @@ -5,6 +5,7 @@ import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.service.FootprintService; import cn.lili.modules.search.entity.dos.EsGoodsIndex; +import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -34,7 +35,7 @@ public class FootprintController { @ApiOperation(value = "分页获取") @GetMapping - public ResultMessage> getByPage(PageVO page) { + public ResultMessage> getByPage(PageVO page) { return ResultUtil.data(footprintService.footPrintPage(page)); } diff --git a/common-api/src/main/java/cn/lili/controller/common/SiteController.java b/common-api/src/main/java/cn/lili/controller/common/SiteController.java new file mode 100644 index 00000000..70b32328 --- /dev/null +++ b/common-api/src/main/java/cn/lili/controller/common/SiteController.java @@ -0,0 +1,33 @@ +package cn.lili.controller.common; + +import cn.lili.common.enums.ResultUtil; +import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.system.entity.enums.SettingEnum; +import cn.lili.modules.system.service.SettingService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 滑块验证码接口 + * + * @author Chopper + * @since 2020/11/26 15:41 + */ +@Slf4j +@RestController +@RequestMapping("/common/common/site") +@Api(tags = "系统基础接口") +public class SiteController { + + @Autowired + private SettingService settingService; + + @ApiOperation(value = "获取系统基础信息") + @GetMapping + public ResultMessage getFileList() { + return ResultUtil.data(settingService.get(SettingEnum.BASE_SETTING.name())); + } +} diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java index 8cffcd84..1afdac4c 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java @@ -56,10 +56,12 @@ public class OnlineMemberStatistics implements EveryHourExecute { Calendar finalCalendar = calendar; - AtomicReference lastNum = new AtomicReference<>(1); + AtomicReference lastNum = new AtomicReference<>(0); onlineMemberVOS = onlineMemberVOS.stream() .filter(onlineMemberVO -> { - lastNum.set(onlineMemberVO.getNum()); + if (onlineMemberVO.getDate().before(finalCalendar.getTime())) { + lastNum.set(onlineMemberVO.getNum()); + } return onlineMemberVO.getDate().after(finalCalendar.getTime()); }) .collect(Collectors.toList()); diff --git a/framework/src/main/java/cn/lili/common/utils/StringUtils.java b/framework/src/main/java/cn/lili/common/utils/StringUtils.java index f3ae80e1..bf9df5b6 100644 --- a/framework/src/main/java/cn/lili/common/utils/StringUtils.java +++ b/framework/src/main/java/cn/lili/common/utils/StringUtils.java @@ -147,6 +147,20 @@ public class StringUtils extends StrUtil { return str.concat(appendStr); } + /** + * 切割字符串 + * + * @param str 字符串 + * @param length 长度 + * @return 处理后的字符串 + */ + public static String sub(String str, Integer length) { + if (str.length() < length) { + return str; + } + return str.substring(0, length); + } + /** * 过滤特殊字符串 * diff --git a/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java b/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java index 6638d618..f65c731b 100644 --- a/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java +++ b/framework/src/main/java/cn/lili/modules/member/mapper/FootprintMapper.java @@ -18,17 +18,6 @@ import java.util.List; * @since 2020-02-25 14:10:16 */ public interface FootprintMapper extends BaseMapper { - - /** - * 获取用户足迹的SkuId分页 - * - * @param page 分页 - * @param queryWrapper 查询条件 - * @return 用户足迹的SkuId分页 - */ - @Select("select sku_id from li_foot_print ${ew.customSqlSegment} ") - List footprintSkuIdList(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - /** * 删除超过100条后的记录 * diff --git a/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java b/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java index fc5d8ca3..3005ce96 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java +++ b/framework/src/main/java/cn/lili/modules/member/service/FootprintService.java @@ -3,6 +3,7 @@ package cn.lili.modules.member.service; import cn.lili.common.vo.PageVO; import cn.lili.modules.member.entity.dos.FootPrint; import cn.lili.modules.search.entity.dos.EsGoodsIndex; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -44,7 +45,7 @@ public interface FootprintService extends IService { * @param pageVO 分页 * @return 会员浏览历史列表 */ - List footPrintPage(PageVO pageVO); + IPage footPrintPage(PageVO pageVO); /** * 获取当前会员的浏览记录数量 diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java index 0fea8a25..d5b315b8 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/FootprintServiceImpl.java @@ -9,7 +9,9 @@ import cn.lili.modules.search.entity.dos.EsGoodsIndex; import cn.lili.modules.search.service.EsGoodsSearchService; import cn.lili.mybatis.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +21,7 @@ import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 会员浏览历史业务层实现 @@ -29,9 +32,7 @@ import java.util.Objects; @Service public class FootprintServiceImpl extends ServiceImpl implements FootprintService { - /** - * es商品业务层 - */ + @Autowired private EsGoodsSearchService esGoodsSearchService; @@ -74,20 +75,35 @@ public class FootprintServiceImpl extends ServiceImpl footPrintPage(PageVO pageVO) { + public IPage footPrintPage(PageVO pageVO) { LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(FootPrint::getMemberId, UserContext.getCurrentUser().getId()); lambdaQueryWrapper.eq(FootPrint::getDeleteFlag, false); - lambdaQueryWrapper.orderByDesc(FootPrint::getUpdateTime); - List skuIdList = this.baseMapper.footprintSkuIdList(PageUtil.initPage(pageVO), lambdaQueryWrapper); - if (!skuIdList.isEmpty()) { - List list = esGoodsSearchService.getEsGoodsBySkuIds(skuIdList); + lambdaQueryWrapper.orderByDesc(FootPrint::getCreateTime); + IPage footPrintPages = this.page(PageUtil.initPage(pageVO), lambdaQueryWrapper); + + + //定义结果 + IPage esGoodsIndexIPage = new Page(); + + if (footPrintPages.getRecords() == null || footPrintPages.getRecords().isEmpty()) { + return esGoodsIndexIPage; + } else { + List list = esGoodsSearchService.getEsGoodsBySkuIds( + footPrintPages.getRecords().stream().map(item -> { + return item.getSkuId(); + }).collect(Collectors.toList())); //去除为空的商品数据 list.removeIf(Objects::isNull); - return list; + + esGoodsIndexIPage.setPages(footPrintPages.getPages()); + esGoodsIndexIPage.setRecords(list); + esGoodsIndexIPage.setTotal(footPrintPages.getTotal()); + esGoodsIndexIPage.setSize(footPrintPages.getSize()); + esGoodsIndexIPage.setCurrent(footPrintPages.getCurrent()); + return esGoodsIndexIPage; } - return Collections.emptyList(); } @Override diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java index 3a1e6c8b..dfe3e1af 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java @@ -76,18 +76,16 @@ public class StoreFlowServiceImpl extends ServiceImpl orderItems = orderItemService.getByOrderSn(orderSn); //根据订单编号获取订单数据 Order order = orderService.getBySn(orderSn); - //如果查询到多条支付记录,打印日志 - if (order.getPayStatus().equals(PayStatusEnum.PAID.name())) { - log.error("订单[{}]检测到重复付款,请处理", orderSn); - } - //获取订单促销类型,如果为促销订单则获取促销商品并获取结算价 String orderPromotionType = order.getOrderPromotionType(); + //循环子订单记录流水 for (OrderItem item : orderItems) { StoreFlow storeFlow = new StoreFlow(); BeanUtil.copyProperties(item, storeFlow); + //去掉orderitem的时间。 + storeFlow.setCreateTime(null); //入账 storeFlow.setId(SnowFlake.getIdStr()); storeFlow.setFlowType(FlowTypeEnum.PAY.name()); @@ -102,24 +100,28 @@ public class StoreFlowServiceImpl extends ServiceImpl getByType(@PathVariable String type) { + + return ResultUtil.data(articleService.customGetByType(type)); + } + @ApiOperation(value = "分页获取") @ApiImplicitParams({ @ApiImplicitParam(name = "categoryId", value = "文章分类ID", paramType = "query"),