diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreProductServiceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreProductServiceController.java deleted file mode 100644 index ed3a98a5a..000000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreProductServiceController.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.ruoyi.web.controller.xkt; - -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.XktBaseController; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.xkt.domain.StoreProductService; -import com.ruoyi.xkt.service.IStoreProductServiceService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 档口商品服务Controller - * - * @author ruoyi - * @date 2025-03-26 - */ -@RestController -@RequestMapping("/rest/v1/prod-services") -public class StoreProductServiceController extends XktBaseController { - @Autowired - private IStoreProductServiceService storeProductServiceService; - - /** - * 查询档口商品服务列表 - */ - // @PreAuthorize("@ss.hasPermi('system:service:list')") - @GetMapping("/list") - public TableDataInfo list(StoreProductService storeProductService) { - startPage(); - List list = storeProductServiceService.selectStoreProductServiceList(storeProductService); - return getDataTable(list); - } - - /** - * 导出档口商品服务列表 - */ - // @PreAuthorize("@ss.hasPermi('system:service:export')") - @Log(title = "档口商品服务", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, StoreProductService storeProductService) { - List list = storeProductServiceService.selectStoreProductServiceList(storeProductService); - ExcelUtil util = new ExcelUtil(StoreProductService.class); - util.exportExcel(response, list, "档口商品服务数据"); - } - - /** - * 获取档口商品服务详细信息 - */ - // @PreAuthorize("@ss.hasPermi('system:service:query')") - @GetMapping(value = "/{storeProdSvcId}") - public R getInfo(@PathVariable("storeProdSvcId") Long storeProdSvcId) { - return success(storeProductServiceService.selectStoreProductServiceByStoreProdSvcId(storeProdSvcId)); - } - - /** - * 新增档口商品服务 - */ - // @PreAuthorize("@ss.hasPermi('system:service:add')") - @Log(title = "档口商品服务", businessType = BusinessType.INSERT) - @PostMapping - public R add(@RequestBody StoreProductService storeProductService) { - return success(storeProductServiceService.insertStoreProductService(storeProductService)); - } - - /** - * 修改档口商品服务 - */ - // @PreAuthorize("@ss.hasPermi('system:service:edit')") - @Log(title = "档口商品服务", businessType = BusinessType.UPDATE) - @PutMapping - public R edit(@RequestBody StoreProductService storeProductService) { - return success(storeProductServiceService.updateStoreProductService(storeProductService)); - } - - /** - * 删除档口商品服务 - */ - // @PreAuthorize("@ss.hasPermi('system:service:remove')") - @Log(title = "档口商品服务", businessType = BusinessType.DELETE) - @DeleteMapping("/{storeProdSvcIds}") - public R remove(@PathVariable Long[] storeProdSvcIds) { - return success(storeProductServiceService.deleteStoreProductServiceByStoreProdSvcIds(storeProdSvcIds)); - } -} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/WebsiteController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/WebsiteController.java index 92d0bd878..4399c48ce 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/WebsiteController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/WebsiteController.java @@ -37,7 +37,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.IOException; -import java.text.ParseException; import java.util.List; /** @@ -52,16 +51,9 @@ import java.util.List; @RequestMapping("/rest/v1/website") public class WebsiteController extends XktBaseController { - - // TODO 查询先按照storeWeight倒排,之后再按照各种 权重 进行排序 - // TODO 查询先按照storeWeight倒排,之后再按照各种 权重 进行排序 - // TODO 查询先按照storeWeight倒排,之后再按照各种 权重 进行排序 - // TODO 查询先按照storeWeight倒排,之后再按照各种 权重 进行排序 - // TODO 查询先按照storeWeight倒排,之后再按照各种 权重 进行排序 - - final IWebsitePCService websitePCService; final IWebsiteAPPService websiteAPPService; + @ApiOperation(value = "PC 首页 为你推荐", httpMethod = "POST", response = R.class) @PostMapping("/pc/index/recommend") public R> pcIndexRecommendPage(@Validated @RequestBody IndexSearchVO searchVO) throws IOException { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdAppResVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdAppResVO.java index 9ae702115..b25f39de1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdAppResVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdAppResVO.java @@ -38,7 +38,7 @@ public class StoreProdAppResVO { @ApiModelProperty(value = "规格") private String specification; @ApiModelProperty(value = "商品标签列表") - private List tagList; + private List tags; @ApiModelProperty(value = "档口文件列表") private List fileList; @ApiModelProperty(value = "档口类目属性") diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index 68946b6a3..9df68401a 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://127.0.0.1:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://47.100.64.234:3377/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: 123456 + password: hongtu56@Mysql0212 # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 58ed6a7fa..e77e5e96e 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -100,13 +100,13 @@ spring: # redis 配置 redis: # 地址 - host: 127.0.0.1 + host: 47.100.64.234 # 端口,默认为6379 - port: 6379 + port: 6699 # 数据库索引 database: 0 # 密码 - password: + password: hongtu56@Redis0212 # 连接超时时间 timeout: 10s lettuce: diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/es/ESProductDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/es/ESProductDTO.java index 5dcbec7bd..6946e633f 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/es/ESProductDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/es/ESProductDTO.java @@ -27,6 +27,8 @@ public class ESProductDTO { private String prodCateName; @ApiModelProperty(value = "销量权重") private String saleWeight; + @ApiModelProperty(value = "档口权重") + private String storeWeight; @ApiModelProperty(value = "推荐权重") private String recommendWeight; @ApiModelProperty(value = "人气权重") diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdAppResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdAppResDTO.java index 57bd6525d..6a4dd8d57 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdAppResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdAppResDTO.java @@ -42,8 +42,10 @@ public class StoreProdAppResDTO { private BigDecimal minPrice; @ApiModelProperty(value = "规格") private String specification; + @ApiModelProperty(value = "标签字符串") + private String tagStr; @ApiModelProperty(value = "标签列表") - private List tagList; + private List tags; @ApiModelProperty(value = "档口文件列表") private List fileList; @ApiModelProperty(value = "档口类目属性") diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java index a15f7055e..66ce50a85 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java +++ b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java @@ -126,5 +126,14 @@ public interface StoreProductMapper extends BaseMapper { * @return StoreProdStatusCateCountResDTO */ List getStatusCateNum(StoreProdStatusCateNumDTO cateNumDTO); + + /** + * 获取APP 档口商品详情 + * + * @param storeProdId 商品ID + * @param userId + * @return StoreProdAppResDTO + */ + StoreProdAppResDTO getAppInfo(@Param("storeProdId") Long storeProdId, @Param("userId") Long userId); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductServiceMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductServiceMapper.java index 6ba053c59..64054b9bf 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductServiceMapper.java +++ b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductServiceMapper.java @@ -2,8 +2,8 @@ package com.ruoyi.xkt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.xkt.domain.StoreProductService; - -import java.util.List; +import com.ruoyi.xkt.dto.storeProdSvc.StoreProdSvcDTO; +import org.apache.ibatis.annotations.Param; /** * 档口商品服务Mapper接口 @@ -12,55 +12,17 @@ import java.util.List; * @date 2025-03-26 */ public interface StoreProductServiceMapper extends BaseMapper { - /** - * 查询档口商品服务 - * - * @param id 档口商品服务主键 - * @return 档口商品服务 - */ - public StoreProductService selectStoreProductServiceByStoreProdSvcId(Long id); - - /** - * 查询档口商品服务列表 - * - * @param storeProductService 档口商品服务 - * @return 档口商品服务集合 - */ - public List selectStoreProductServiceList(StoreProductService storeProductService); - - /** - * 新增档口商品服务 - * - * @param storeProductService 档口商品服务 - * @return 结果 - */ - public int insertStoreProductService(StoreProductService storeProductService); - - /** - * 修改档口商品服务 - * - * @param storeProductService 档口商品服务 - * @return 结果 - */ - public int updateStoreProductService(StoreProductService storeProductService); - - /** - * 删除档口商品服务 - * - * @param id 档口商品服务主键 - * @return 结果 - */ - public int deleteStoreProductServiceByStoreProdSvcId(Long id); - - /** - * 批量删除档口商品服务 - * - * @param storeProdSvcIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteStoreProductServiceByStoreProdSvcIds(Long[] storeProdSvcIds); void updateDelFlagByStoreProdId(Long storeProdId); StoreProductService selectByStoreProdId(Long storeProdId); + + /** + * 根据商品ID查询档口商品服务 + * + * @param storeProdId 商品ID + * @return 档口商品服务 + */ + StoreProdSvcDTO selectSvc(@Param("storeProdId") Long storeProdId); + } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/IStoreProductServiceService.java b/xkt/src/main/java/com/ruoyi/xkt/service/IStoreProductServiceService.java deleted file mode 100644 index 7e81a1c82..000000000 --- a/xkt/src/main/java/com/ruoyi/xkt/service/IStoreProductServiceService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.xkt.service; - -import com.ruoyi.xkt.domain.StoreProductService; - -import java.util.List; - -/** - * 档口商品服务Service接口 - * - * @author ruoyi - * @date 2025-03-26 - */ -public interface IStoreProductServiceService { - /** - * 查询档口商品服务 - * - * @param storeProdSvcId 档口商品服务主键 - * @return 档口商品服务 - */ - public StoreProductService selectStoreProductServiceByStoreProdSvcId(Long storeProdSvcId); - - /** - * 查询档口商品服务列表 - * - * @param storeProductService 档口商品服务 - * @return 档口商品服务集合 - */ - public List selectStoreProductServiceList(StoreProductService storeProductService); - - /** - * 新增档口商品服务 - * - * @param storeProductService 档口商品服务 - * @return 结果 - */ - public int insertStoreProductService(StoreProductService storeProductService); - - /** - * 修改档口商品服务 - * - * @param storeProductService 档口商品服务 - * @return 结果 - */ - public int updateStoreProductService(StoreProductService storeProductService); - - /** - * 批量删除档口商品服务 - * - * @param storeProdSvcIds 需要删除的档口商品服务主键集合 - * @return 结果 - */ - public int deleteStoreProductServiceByStoreProdSvcIds(Long[] storeProdSvcIds); - - /** - * 删除档口商品服务信息 - * - * @param storeProdSvcId 档口商品服务主键 - * @return 结果 - */ - public int deleteStoreProductServiceByStoreProdSvcId(Long storeProdSvcId); -} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java index e2b3dfb5b..94aeac53a 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.collection.ListUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.thread.ThreadUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import co.elastic.clients.elasticsearch.core.BulkResponse; import co.elastic.clients.elasticsearch.core.CreateResponse; @@ -542,52 +543,25 @@ public class StoreProductServiceImpl implements IStoreProductService { @Override @Transactional(readOnly = true) public StoreProdAppResDTO getAppInfo(Long storeProdId) { - - - - - - // TODO APP 商品详情也要加上 主图视频及主图 - // TODO APP 商品详情也要加上 主图视频及主图 - // TODO APP 商品详情也要加上 主图视频及主图 - - - - - StoreProduct storeProd = Optional.ofNullable(this.storeProdMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, Constants.UNDELETED))) - .orElseThrow(() -> new ServiceException("档口商品不存在!", HttpStatus.ERROR)); - StoreProdAppResDTO appResDTO = BeanUtil.toBean(storeProd, StoreProdAppResDTO.class).setStoreProdId(storeProd.getId()); - // 档口文件(商品主图、主图视频、下载的商品详情) - List fileResList = this.storeProdFileMapper.selectListByStoreProdId(storeProdId); - // 档口类目属性 - StoreProductCategoryAttribute cateAttr = this.storeProdCateAttrMapper.selectByStoreProdId(storeProdId); - // 档口当前商品颜色列表 - List colorList = this.storeProdColorMapper.selectListByStoreProdId(storeProdId); - // 档口商品颜色尺码列表 - List sizeList = this.storeProdColorSizeMapper.selectListByStoreProdId(storeProdId); - // 档口颜色价格列表 - List priceList = this.storeProdColorPriceMapper.selectListByStoreProdId(storeProdId); - // 档口商品详情 - StoreProductDetail prodDetail = this.storeProdDetailMapper.selectByStoreProdId(storeProdId); - // 档口服务承诺 - StoreProductService storeProductSvc = this.storeProdSvcMapper.selectByStoreProdId(storeProdId); - // 是否已收藏 - UserFavorites favorite = this.userFavMapper.selectOne(new LambdaQueryWrapper() - .eq(UserFavorites::getDelFlag, Constants.UNDELETED).eq(UserFavorites::getStoreProdId, storeProdId) - .eq(UserFavorites::getUserId, SecurityUtils.getUserId())); - // 获取商品标签 - List tagList = this.prodTagMapper.selectList(new LambdaQueryWrapper() - .eq(DailyProdTag::getDelFlag, Constants.UNDELETED).eq(DailyProdTag::getStoreProdId, storeProdId) - .orderByAsc(DailyProdTag::getType)); - return appResDTO.setFileList(fileResList).setCateAttr(BeanUtil.toBean(cateAttr, StoreProdCateAttrDTO.class)) - .setTagList(CollectionUtils.isNotEmpty(tagList) ? tagList.stream().map(DailyProdTag::getTag).distinct().collect(Collectors.toList()) : null) - .setCollectProd(ObjectUtils.isNotEmpty(favorite) ? Boolean.TRUE : Boolean.FALSE) - .setSpecification(colorList.size() + "色" + sizeList.stream().filter(x -> Objects.equals(x.getStandard(), ProductSizeStatus.STANDARD.getValue())).count() + "码") - .setMinPrice(priceList.stream().min(Comparator.comparing(StoreProdColorPriceSimpleDTO::getPrice)) - .orElseThrow(() -> new ServiceException("获取商品价格失败,请联系客服!", HttpStatus.ERROR)).getPrice()) - .setDetail(ObjectUtils.isEmpty(prodDetail) ? null : prodDetail.getDetail()) - .setSvc(BeanUtil.toBean(storeProductSvc, StoreProdSvcDTO.class)); + // 档口商品的基础信息 + StoreProdAppResDTO appResDTO = this.storeProdMapper.getAppInfo(storeProdId, SecurityUtils.getUserId()); + StoreProductCategoryAttribute cateAttr = this.storeProdCateAttrMapper.selectOne(new LambdaQueryWrapper() + .eq(StoreProductCategoryAttribute::getStoreProdId, storeProdId).eq(StoreProductCategoryAttribute::getDelFlag, Constants.UNDELETED)); + List colorList = this.storeProdColorMapper.selectList(new LambdaQueryWrapper() + .eq(StoreProductColor::getStoreProdId, storeProdId).eq(StoreProductColor::getDelFlag, Constants.UNDELETED)); + List colorSizeList = this.storeProdColorSizeMapper.selectList(new LambdaQueryWrapper() + .eq(StoreProductColorSize::getStoreProdId, storeProdId).eq(StoreProductColorSize::getDelFlag, Constants.UNDELETED) + .eq(StoreProductColorSize::getStandard, ProductSizeStatus.STANDARD.getValue())); + return appResDTO.setTags(StringUtils.isNotBlank(appResDTO.getTagStr()) ? StrUtil.split(appResDTO.getTagStr(), ",") : null) + // 拼接几色几码 + .setSpecification((CollectionUtils.isNotEmpty(colorList) ? colorList.size() + "色" : "") + + (CollectionUtils.isNotEmpty(colorSizeList) ? colorSizeList.size() + "码" : "")) + // 获取商品的属性 + .setCateAttr(BeanUtil.toBean(cateAttr, StoreProdCateAttrDTO.class)) + // 获取商品的主图视频及主图 + .setFileList(this.storeProdFileMapper.selectVideoAndMainPicList(storeProdId)) + // 获取商品的服务承诺 + .setSvc(this.storeProdSvcMapper.selectSvc(storeProdId)); } /** diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceServiceImpl.java deleted file mode 100644 index b404266a2..000000000 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceServiceImpl.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.ruoyi.xkt.service.impl; - -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.xkt.domain.StoreProductService; -import com.ruoyi.xkt.mapper.StoreProductServiceMapper; -import com.ruoyi.xkt.service.IStoreProductServiceService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 档口商品服务Service业务层处理 - * - * @author ruoyi - * @date 2025-03-26 - */ -@Service -public class StoreProductServiceServiceImpl implements IStoreProductServiceService { - @Autowired - private StoreProductServiceMapper storeProductServiceMapper; - - /** - * 查询档口商品服务 - * - * @param storeProdSvcId 档口商品服务主键 - * @return 档口商品服务 - */ - @Override - @Transactional(readOnly = true) - public StoreProductService selectStoreProductServiceByStoreProdSvcId(Long storeProdSvcId) { - return storeProductServiceMapper.selectStoreProductServiceByStoreProdSvcId(storeProdSvcId); - } - - /** - * 查询档口商品服务列表 - * - * @param storeProductService 档口商品服务 - * @return 档口商品服务 - */ - @Override - @Transactional(readOnly = true) - public List selectStoreProductServiceList(StoreProductService storeProductService) { - return storeProductServiceMapper.selectStoreProductServiceList(storeProductService); - } - - /** - * 新增档口商品服务 - * - * @param storeProductService 档口商品服务 - * @return 结果 - */ - @Override - @Transactional - public int insertStoreProductService(StoreProductService storeProductService) { - storeProductService.setCreateTime(DateUtils.getNowDate()); - return storeProductServiceMapper.insertStoreProductService(storeProductService); - } - - /** - * 修改档口商品服务 - * - * @param storeProductService 档口商品服务 - * @return 结果 - */ - @Override - @Transactional - public int updateStoreProductService(StoreProductService storeProductService) { - storeProductService.setUpdateTime(DateUtils.getNowDate()); - return storeProductServiceMapper.updateStoreProductService(storeProductService); - } - - /** - * 批量删除档口商品服务 - * - * @param storeProdSvcIds 需要删除的档口商品服务主键 - * @return 结果 - */ - @Override - public int deleteStoreProductServiceByStoreProdSvcIds(Long[] storeProdSvcIds) { - return storeProductServiceMapper.deleteStoreProductServiceByStoreProdSvcIds(storeProdSvcIds); - } - - /** - * 删除档口商品服务信息 - * - * @param storeProdSvcId 档口商品服务主键 - * @return 结果 - */ - @Override - public int deleteStoreProductServiceByStoreProdSvcId(Long storeProdSvcId) { - return storeProductServiceMapper.deleteStoreProductServiceByStoreProdSvcId(storeProdSvcId); - } -} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java index af61b57ec..24956b7df 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java @@ -357,11 +357,18 @@ public class StoreServiceImpl implements IStoreService { @Transactional (readOnly = true) public StoreSimpleResDTO getSimpleInfo(Long storeId) { StoreSimpleResDTO simpleDTO = this.storeMapper.getSimpleInfo(storeId); - final Long userId = SecurityUtils.getUserId(); + + return simpleDTO; + + // TODO 获取用户是否关注档口 + // TODO 获取用户是否关注档口 + // TODO 获取用户是否关注档口 + + /*final Long userId = SecurityUtils.getUserId(); UserSubscriptions userSub = ObjectUtils.isEmpty(userId) ? null : this.userSubMapper.selectOne(new LambdaQueryWrapper().eq(UserSubscriptions::getUserId, userId) .eq(UserSubscriptions::getStoreId, storeId).eq(UserSubscriptions::getDelFlag, Constants.UNDELETED)); - return simpleDTO.setFocus(ObjectUtils.isNotEmpty(userSub) ? Boolean.TRUE : Boolean.FALSE); + return simpleDTO.setFocus(ObjectUtils.isNotEmpty(userSub) ? Boolean.TRUE : Boolean.FALSE);*/ } } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java index 7351c58d8..42ae4ee6c 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java @@ -41,7 +41,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.IOException; -import java.text.ParseException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -735,10 +734,14 @@ public class WebsiteAPPServiceImpl implements IWebsiteAPPService { // 构建最终的查询 Query query = new Query.Builder().bool(boolQuery.build()).build(); // 执行搜索 - SearchResponse resList = esClientWrapper.getEsClient().search(s -> s.index(Constants.ES_IDX_PRODUCT_INFO) - .query(query).from((searchDTO.getPageNum() - 1) * searchDTO.getPageSize()).size(searchDTO.getPageSize()) - .sort(sort -> sort.field(f -> f.field(searchDTO.getSort()).order(SortOrder.Desc))), - ESProductDTO.class); + SearchResponse resList = esClientWrapper.getEsClient() + .search(s -> s.index(Constants.ES_IDX_PRODUCT_INFO) + .query(query) + .from((searchDTO.getPageNum() - 1) * searchDTO.getPageSize()) + .size(searchDTO.getPageSize()) + .sort(sort -> sort.field(f -> f.field("storeWeight").order(SortOrder.Desc))) + .sort(sort -> sort.field(f -> f.field(searchDTO.getSort()).order(SortOrder.Desc))), + ESProductDTO.class); final long total = resList.hits().total().value(); final List esProdList = resList.hits().hits().stream().map(x -> x.source().setStoreProdId(x.id())).collect(Collectors.toList()); return new Page<>(searchDTO.getPageNum(), searchDTO.getPageSize(), total / searchDTO.getPageSize() + 1, total, esProdList); diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java index cc0cf7f09..487e16ff7 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import co.elastic.clients.elasticsearch._types.FieldValue; +import co.elastic.clients.elasticsearch._types.SortOrder; import co.elastic.clients.elasticsearch._types.query_dsl.*; import co.elastic.clients.elasticsearch.core.SearchResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -1672,10 +1673,14 @@ public class WebsitePCServiceImpl implements IWebsitePCService { // 构建最终的查询 Query query = new Query.Builder().bool(boolQuery.build()).build(); // 执行搜索 - SearchResponse resList = esClientWrapper.getEsClient().search(s -> s.index(Constants.ES_IDX_PRODUCT_INFO) - .query(query).from((searchDTO.getPageNum() - 1) * searchDTO.getPageSize()).size(searchDTO.getPageSize()) - .sort(sort -> sort.field(f -> f.field(searchDTO.getSort()).order(searchDTO.getOrder()))), - ESProductDTO.class); + SearchResponse resList = esClientWrapper.getEsClient() + .search(s -> s.index(Constants.ES_IDX_PRODUCT_INFO) + .query(query) + .from((searchDTO.getPageNum() - 1) * searchDTO.getPageSize()) + .size(searchDTO.getPageSize()) + .sort(sort -> sort.field(f -> f.field("storeWeight").order(SortOrder.Desc))) + .sort(sort -> sort.field(f -> f.field(searchDTO.getSort()).order(searchDTO.getOrder()))), + ESProductDTO.class); final long total = resList.hits().total().value(); final List esProdList = resList.hits().hits().stream().map(x -> x.source().setStoreProdId(x.id())).collect(Collectors.toList()); return new Page<>(searchDTO.getPageNum(), searchDTO.getPageSize(), total / searchDTO.getPageSize() + 1, total, esProdList); diff --git a/xkt/src/main/resources/mapper/StoreMapper.xml b/xkt/src/main/resources/mapper/StoreMapper.xml index 162d0e9d5..40fc2ac6a 100644 --- a/xkt/src/main/resources/mapper/StoreMapper.xml +++ b/xkt/src/main/resources/mapper/StoreMapper.xml @@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + + diff --git a/xkt/src/main/resources/mapper/StoreProductServiceMapper.xml b/xkt/src/main/resources/mapper/StoreProductServiceMapper.xml index 4b8b6cda6..e38e9f85e 100644 --- a/xkt/src/main/resources/mapper/StoreProductServiceMapper.xml +++ b/xkt/src/main/resources/mapper/StoreProductServiceMapper.xml @@ -3,7 +3,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - @@ -19,86 +18,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - select id, store_prod_id, custom_refund, thirty_day_refund, one_batch_sale, refund_within_three_day, version, del_flag, create_by, create_time, update_by, update_time from store_product_service - - - - - - - - insert into store_product_service - - store_prod_id, - custom_refund, - thirty_day_refund, - one_batch_sale, - refund_within_three_day, - version, - del_flag, - create_by, - create_time, - update_by, - update_time, - - - #{storeProdId}, - #{customRefund}, - #{thirtyDayRefund}, - #{oneBatchSale}, - #{refundWithinThreeDay}, - #{version}, - #{delFlag}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, - - - - - update store_product_service - - store_prod_id = #{storeProdId}, - custom_refund = #{customRefund}, - thirty_day_refund = #{thirtyDayRefund}, - one_batch_sale = #{oneBatchSale}, - refund_within_three_day = #{refundWithinThreeDay}, - version = #{version}, - del_flag = #{delFlag}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - - where id = #{id} - - - - delete from store_product_service where id = #{id} - - - - delete from store_product_service where id in - - #{id} - - - UPDATE store_product_service SET del_flag = 2 WHERE store_prod_id = #{storeProdId} @@ -115,5 +34,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" del_flag = 0 AND store_prod_id = #{storeProdId} + \ No newline at end of file