diff --git a/pom.xml b/pom.xml index cf960ad..40d1eaa 100644 --- a/pom.xml +++ b/pom.xml @@ -290,33 +290,47 @@ + + + com.ruoyi + ruoyi-mall-car-common + ${ruoyi.version} + + + + + com.ruoyi + ruoyi-mall-car-remote + ${ruoyi.version} + + com.ruoyi ruoyi-mall-product-common - 3.6.0 + ${ruoyi.version} com.ruoyi ruoyi-mall-product-remote - 3.6.0 + ${ruoyi.version} com.ruoyi ruoyi-mall-search-common - 3.6.0 + ${ruoyi.version} com.ruoyi ruoyi-mall-search-remote - 3.6.0 + ${ruoyi.version} @@ -330,7 +344,7 @@ com.ruoyi ruoyi-mall-product-cache - 3.6.0 + ${ruoyi.version} diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/CUserController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/CUserController.java index 4b5acb6..3c9a6f1 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/CUserController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/CUserController.java @@ -1,6 +1,4 @@ package com.ruoyi.auth.controller; - - import com.ruoyi.auth.service.SysCUserService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; diff --git a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocBaseVo.java b/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocBaseVo.java deleted file mode 100644 index 2cb2205..0000000 --- a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocBaseVo.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.ruoyi.system.domain.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("es访问必须参数") -public class EsDocBaseVo { - @ApiModelProperty(value = "索引名称",required = true) - private String indexName; - @ApiModelProperty(value = "类型名称,默认_doc",required = true) - private String typeName="_doc"; - -} diff --git a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocEntity.java b/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocEntity.java deleted file mode 100644 index 536a85c..0000000 --- a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocEntity.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.ruoyi.system.domain.vo; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; -import java.util.Map; - -/** - * @Author:ShenJiaFeng - * @Package:com.bawei.base.es.domain - * @Project:mall_cloud - * @name:EsDocEntity - * @Date:2024/4/24 9:36 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class EsDocEntity { - - /** - * 索引名称 - */ - private String index; - /** - * 批量操作 集合 多个键值对的列表 - */ - private List> datas; - /** - * 唯一标识 - */ - private String indexIdName; -} diff --git a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocInsertVo.java b/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocInsertVo.java deleted file mode 100644 index a181c34..0000000 --- a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocInsertVo.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.ruoyi.system.domain.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Map; - -@Data -@ApiModel("插入Es数据实体") -public class EsDocInsertVo extends EsDocBaseVo { - - @ApiModelProperty("数据唯一id") - public String id; - @ApiModelProperty(value = "数据内容",required = true) - private Map data; - @ApiModelProperty("是否立即刷新磁盘") - private boolean reflush = true; -} diff --git a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocQueryVo.java b/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocQueryVo.java deleted file mode 100644 index e1d221f..0000000 --- a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/EsDocQueryVo.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ruoyi.system.domain.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.List; -import java.util.Map; - -@Data -@ApiModel("es文档查询参数") -public class EsDocQueryVo extends EsDocBaseVo{ - @ApiModelProperty("query参数") - private Map queryObj; - @ApiModelProperty("全文检索关键字") - private String keyWord; - @ApiModelProperty("分页条件") - private PageVo pageVo = new PageVo(); - - @ApiModelProperty("检索字段") - private List searchFields; - @ApiModelProperty("高亮字段,包含在检索字段,不传参则默认检索字段全部高亮") - private List highLightFields; -} diff --git a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/PageVo.java b/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/PageVo.java deleted file mode 100644 index 8aabcf9..0000000 --- a/ruoyi-base/base-es/base-es-common/src/main/java/com/ruoyi/system/domain/vo/PageVo.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.ruoyi.system.domain.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("分页参数") -public class PageVo { - @ApiModelProperty("每页条数") - private int pageSize = 10; - @ApiModelProperty("当前页") - private Integer currentPage = 1; - @ApiModelProperty("总数") - private Long totalDocs; - -} diff --git a/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/api/RemoteEsDocService.java b/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/api/RemoteEsDocService.java index 00fd98f..438c9a9 100644 --- a/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/api/RemoteEsDocService.java +++ b/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/api/RemoteEsDocService.java @@ -5,6 +5,7 @@ import com.ruoyi.system.domain.vo.EsDocQueryVo; import com.ruoyi.system.remote.factory.RemoteEsDocFallbackFactory; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import com.ruoyi.common.core.constant.ServiceNameConstants; @@ -27,8 +28,7 @@ public interface RemoteEsDocService { @PostMapping("/queryDocs") public R queryDocs(@RequestBody EsDocQueryVo esDocInsertVo); - - @PostMapping("/deleteDocs") - public R deleteDocsById(@RequestParam(value = "docsId") String docsId); + @DeleteMapping("/querydelDoce") + R querydelDoce(@RequestBody List esDocInsertVo); } diff --git a/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/factory/RemoteEsDocFallbackFactory.java b/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/factory/RemoteEsDocFallbackFactory.java index 26e4aa9..c6275cb 100644 --- a/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/factory/RemoteEsDocFallbackFactory.java +++ b/ruoyi-base/base-es/base-es-remote/src/main/java/com/ruoyi/system/remote/factory/RemoteEsDocFallbackFactory.java @@ -32,8 +32,9 @@ public class RemoteEsDocFallbackFactory implements FallbackFactory deleteDocsById(String docsId) { + public R querydelDoce(List esDocInsertVo) { return R.ok(false, "删除失败,请稍后重试"); } diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/RuoYiEsApplication.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/RuoYiEsApplication.java deleted file mode 100644 index bd3a83e..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/RuoYiEsApplication.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.ruoyi.es; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import com.ruoyi.common.security.annotation.EnableRyFeignClients; -import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; - -/** - * es全文检索模块 - * - * @author ruoyi - */ -@EnableCustomSwagger2 -@EnableRyFeignClients -@SpringBootApplication -public class RuoYiEsApplication { - public static void main(String[] args) { - SpringApplication.run(RuoYiEsApplication.class, args); - System.out.println("(♥◠‿◠)ノ゙ Es全文检索模块启动成功 ლ(´ڡ`ლ)゙ "); - } -} diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/conf/EsConfiguration.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/conf/EsConfiguration.java deleted file mode 100644 index a8c4c6f..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/conf/EsConfiguration.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.ruoyi.es.conf; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -@Component -@Slf4j -public class EsConfiguration { -} diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/controller/EsDocController.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/controller/EsDocController.java deleted file mode 100644 index 3462d69..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/controller/EsDocController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.ruoyi.es.controller; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.es.service.EsDocService; -import com.ruoyi.system.domain.vo.EsDocInsertVo; -import com.ruoyi.system.domain.vo.EsDocQueryVo; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@Api(tags = "Es文档管理") -//文档相当于mysql中的一行数据,类似DML和DQL -public class EsDocController { - - @Autowired - private EsDocService esDocService; - - @PostMapping("/batchInsertDocs") - @ApiOperation(value = "批量插入文档") - public R batchInsertDocs(@RequestBody List esDocInsertVo){ - return esDocService.batchInsertDocs(esDocInsertVo); - } - - @PostMapping("/queryDocs") - @ApiOperation(value = "根据传入条件查询Es的文档数据") - public R queryDocs(@RequestBody EsDocQueryVo esDocInsertVo){ - return esDocService.queryDocs(esDocInsertVo); - } - - - @PostMapping("/deleteDocs") - @ApiOperation("/根据索引名称和文档id删除索引数据") - public R deleteDocsById(@RequestParam(value = "docsId") String docsId){ - return esDocService.deleteDocsById(docsId); - } - - - // TODO 自动补全联想 - @GetMapping("/querySuggestions/{indexName}") - @ApiOperation(value = "自动补全联想") - public R querySuggestions(@PathVariable String indexName, @RequestParam("keyWord") String keyWord,@RequestParam("suggestField") String suggestField ){ - return esDocService.querySuggestions(indexName,keyWord,suggestField); - } - - - -} diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/controller/EsIndexController.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/controller/EsIndexController.java deleted file mode 100644 index d63380c..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/controller/EsIndexController.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.ruoyi.es.controller; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.es.service.EsIndexService; -import com.ruoyi.system.domain.vo.EsDocQueryVo; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -@RestController -@RequestMapping("/esIndex") -@Api(value = "ES索引管理",tags = "ES索引管理") -// 索引相当于mysql中的库,在es6之后,取消类型(相当于mysql中的表),索引默认只有一个类型-即库表合一 类似DDL -public class EsIndexController { - - @Autowired - private EsIndexService esIndexService; - - /** - * 根据索引名称创建索引 - * - * @return - */ - @GetMapping("/create") - @ApiOperation(value = "根据索引名称创建索引") - public R indexCreate(@RequestParam String indexName) { - return esIndexService.indexCreate(indexName); - } - - /** - * 根据索引名称、映射结构创建索引 - * - * @return - */ - @GetMapping("/createWithMapping") - @ApiOperation(value = "根据索引名称、映射结构创建索引") - public R indexCreateWithMapping(@RequestParam String indexName, @RequestParam String indexMapping) { - - return esIndexService.indexCreateWithMapping(indexName,indexMapping); - } - - /** - * 根据索引名称查询索引是否存在 - * - * @return - */ - @GetMapping("/indexExit") - @ApiOperation(value = "根据索引名称查询索引是否存在") - public R indexExit(@RequestParam String indexName) { - - return esIndexService.indexExit(indexName); - } - - /** - * 根据索引名称删除索引 - * - * @return - */ - @GetMapping("/indexDelete") - @ApiOperation(value = "根据索引名称删除索引") - public R indexDelete(@RequestParam String indexName) { - - return esIndexService.indexDelete(indexName); - } - - /** - * 根据索引名称获取mapping - * - * @return - */ - @GetMapping("/indexGetMapping") - @ApiOperation(value = "根据索引名称获取mapping") - public R indexGetMapping(@RequestParam String indexName) { - - return esIndexService.indexGetMapping(indexName); - } - /** - * 查询所有已创建的索引 - */ - @GetMapping("/queryAllIndex") - @ApiOperation(value = "查询所有索引列表") - public R queryAllIndex(@RequestBody EsDocQueryVo esDocInsertVo) { - return esIndexService.queryAllIndex(esDocInsertVo); - } - -} diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/EsDocService.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/EsDocService.java deleted file mode 100644 index 775d583..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/EsDocService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.ruoyi.es.service; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.system.domain.vo.EsDocInsertVo; -import com.ruoyi.system.domain.vo.EsDocQueryVo; - -import java.util.List; -import java.util.Map; - -public interface EsDocService { - R batchInsertDocs(List esDocInsertVo); - - R> queryDocs(EsDocQueryVo esDocInsertVo); - - R deleteDocsById(String docsId); - - R querySuggestions(String indexName, String keyWord, String suggestField); -} diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/EsIndexService.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/EsIndexService.java deleted file mode 100644 index c7ecace..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/EsIndexService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.ruoyi.es.service; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.system.domain.vo.EsDocQueryVo; - -import java.util.Map; - -public interface EsIndexService { - R indexCreate(String indexName); - - R indexExit(String indexName); - - R indexDelete(String indexName); - - R indexCreateWithMapping(String indexName, String indexMapping); - - R indexGetMapping(String indexName); - - R queryAllIndex(EsDocQueryVo esDocInsertVo); -} diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/impl/EsDocServiceImpl.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/impl/EsDocServiceImpl.java deleted file mode 100644 index 21d124e..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/impl/EsDocServiceImpl.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.ruoyi.es.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.ruoyi.common.core.constant.EsConstant; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.es.service.EsDocService; -import com.ruoyi.system.domain.vo.EsDocInsertVo; -import com.ruoyi.system.domain.vo.EsDocQueryVo; -import lombok.extern.slf4j.Slf4j; -import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest; -import org.elasticsearch.action.bulk.BulkRequest; -import org.elasticsearch.action.bulk.BulkResponse; -import org.elasticsearch.action.delete.DeleteRequest; -import org.elasticsearch.action.delete.DeleteResponse; -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.RestHighLevelClient; -import org.elasticsearch.common.xcontent.XContentType; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -@Service -@Slf4j -public class EsDocServiceImpl implements EsDocService { - - @Autowired - private RestHighLevelClient restHighLevelClient; - - @Override - public R batchInsertDocs(List esDocInsertVo) { - BulkRequest request = new BulkRequest(); - esDocInsertVo.forEach(e -> { - IndexRequest source = new IndexRequest(e.getIndexName()).source(e.getData(), XContentType.JSON); - if (StringUtils.isNotEmpty(e.getId())) { - source.id(e.getId()); - } - request.add(source); - }); - try { - BulkResponse bulk = restHighLevelClient.bulk(request, RequestOptions.DEFAULT); - return R.ok(true, "插入成功"); - } catch (IOException e) { - e.printStackTrace(); - } - return R.fail(false, "插入失败"); - } - - @Override - public R> queryDocs(EsDocQueryVo esDocInsertVo) { - if (StringUtils.isEmpty(esDocInsertVo.getKeyWord())){ - throw new ServiceException("搜索参数不为空"); - } - - SearchRequest request = new SearchRequest(esDocInsertVo.getIndexName()); - //构建查询参数 - SearchSourceBuilder builder = new SearchSourceBuilder(); - builder.query(QueryBuilders.matchAllQuery()); - //构建分页参数 - builder.from((esDocInsertVo.getPageVo().getCurrentPage() - 1) * esDocInsertVo.getPageVo().getPageSize()); - builder.size(esDocInsertVo.getPageVo().getPageSize()); - //构建排序参数 - try { - SearchResponse search = restHighLevelClient.search(request, RequestOptions.DEFAULT); - log.info("查询结果:{}", JSONObject.toJSONString(search)); - SearchHit[] hits = search.getHits().getHits(); - List> resultData = new ArrayList<>(hits.length); - Arrays.stream(hits).forEach(h->{ - Map sourceAsMap = h.getSourceAsMap(); - resultData.add(sourceAsMap); - }); - } catch (IOException e) { - log.error("根据条件查询es数据失败:{}", e); - } - return null; - } - - @Override - public R deleteDocsById(String docsId) { - DeleteRequest deleteRequest = new DeleteRequest(EsConstant.INDEX_NAME, docsId); - try { - DeleteResponse deleteResponse = restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT); - return R.ok(true,"删除成功"); - } catch (IOException e) { - throw new RuntimeException("删除失败"); - } - } - - @Override - public R querySuggestions(String indexName, String keyWord, String suggestField) { - - return null; - } - -} diff --git a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/impl/EsIndexServiceImpl.java b/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/impl/EsIndexServiceImpl.java deleted file mode 100644 index 2965089..0000000 --- a/ruoyi-base/base-es/base-es-server/src/main/java/com/ruoyi/es/service/impl/EsIndexServiceImpl.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.ruoyi.es.service.impl; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.es.service.EsIndexService; -import com.ruoyi.system.domain.vo.EsDocQueryVo; -import lombok.extern.slf4j.Slf4j; -import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest; - - -import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest; -import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.client.GetAliasesResponse; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.client.RestHighLevelClient; -import org.elasticsearch.client.indices.*; -import org.elasticsearch.cluster.metadata.AliasMetaData; -import org.elasticsearch.cluster.metadata.MappingMetaData; -import org.elasticsearch.common.xcontent.XContentType; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.util.*; - -@Service -@Slf4j -public class EsIndexServiceImpl implements EsIndexService { - - @Autowired - private RestHighLevelClient restHighLevelClient; - - @Override - public R indexCreate(String indexName) { - //如果索引为空 抛出异常 - if (StringUtils.isEmpty(indexName)) { - throw new ServiceException("索引名称不能为空"); - } - CreateIndexRequest request = new CreateIndexRequest(indexName); - try { - CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(request, RequestOptions.DEFAULT); - if (createIndexResponse.isAcknowledged()) { - return R.ok(true); - } - } catch (IOException e) { - log.error("连接ES服务异常:{}", e); - throw new RuntimeException("创建索引失败,请联系管理员或查看服务日志"); - } - return R.fail(false, "索引创建失败"); - } - - @Override - public R indexExit(String indexName) { - if (StringUtils.isEmpty(indexName)) { - throw new ServiceException("indexName不能为空"); - } - GetIndexRequest indexRequest = new GetIndexRequest(indexName); - try { - boolean exists = restHighLevelClient.indices().exists(indexRequest, RequestOptions.DEFAULT); - return R.ok(exists); - } catch (IOException e) { - e.printStackTrace(); - } - return R.fail(false, "查询失败!"); - } - - @Override - public R indexDelete(String indexName) { - if (StringUtils.isEmpty(indexName)) { - throw new ServiceException("indexName不能为空 "); - } - DeleteIndexRequest request = new DeleteIndexRequest(indexName); - try { - AcknowledgedResponse delete = restHighLevelClient.indices().delete(request, RequestOptions.DEFAULT); - if (delete.isAcknowledged()) { - return R.ok(true, "删除成功!"); - } - } catch (IOException e) { - log.error("删除索引失败:{}", e); - throw new RuntimeException("调用es服务删除索引失败,详情请查看日志"); - } - return R.fail(false, "删除索引失败"); - } - - @Override - public R indexCreateWithMapping(String indexName, String indexMapping) { - if (StringUtils.isEmpty(indexName) || - StringUtils.isEmpty(indexMapping)) { - throw new ServiceException("indexName、indexMapping不能为空"); - } - CreateIndexRequest request = new CreateIndexRequest(indexName); - request.source(indexMapping, XContentType.JSON); - try { - CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(request, RequestOptions.DEFAULT); - if (createIndexResponse.isAcknowledged()){ - return R.ok(true,"创建索引成功"); - } - } catch (IOException e) { - log.error("调用es创建索引异常:{}",e); - throw new RuntimeException("创建索引失败"); - } - - return R.fail(false,"创建索引失败"); - } - - @Override - public R indexGetMapping(String indexName) { - if (StringUtils.isEmpty(indexName)){ - throw new ServiceException("indexName不能为空"); - } - GetMappingsRequest request = new GetMappingsRequest().indices(indexName); - try { - GetMappingsResponse response = restHighLevelClient.indices().getMapping(request, RequestOptions.DEFAULT); - Map mappings = response.mappings(); - MappingMetaData mappingMetaData = mappings.get(indexName); - Map stringObjectMap = mappingMetaData.sourceAsMap(); - return R.ok(stringObjectMap,"操作成功"); - } catch (IOException e) { - log.error("根据索引名称获取Mapping异常:{}",e); - throw new RuntimeException("根据索引名称获取Mapping异常"); - } - } - - @Override - public R queryAllIndex(EsDocQueryVo esDocInsertVo) { - // TODO 关键字查询 - - List> resultList = new ArrayList<>(); - GetAliasesRequest request = new GetAliasesRequest(); - GetAliasesResponse alias = null; - try { - alias = restHighLevelClient.indices().getAlias(request, RequestOptions.DEFAULT); - } catch (IOException e) { - throw new RuntimeException(e); - } - Map> map = alias.getAliases(); - map.forEach((k, v) -> { - if (!k.startsWith(".")) {//忽略elasticesearch 默认的 - Map map1 = new HashMap(); - map1.put("indexName", k); - resultList.add(map1); - } - }); - log.info(String.valueOf(resultList)); - return R.ok((Map) resultList); - } -} diff --git a/ruoyi-mall/pom.xml b/ruoyi-mall/pom.xml index f88e010..812f05e 100644 --- a/ruoyi-mall/pom.xml +++ b/ruoyi-mall/pom.xml @@ -15,6 +15,7 @@ ruoyi-mall-product ruoyi-mall-search ruoyi-mall-user + ruoyi-mall-car diff --git a/ruoyi-mall/ruoyi-mall-car/pom.xml b/ruoyi-mall/ruoyi-mall-car/pom.xml new file mode 100644 index 0000000..870eb48 --- /dev/null +++ b/ruoyi-mall/ruoyi-mall-car/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.ruoyi + ruoyi-mall + 3.6.0 + + + ruoyi-mall-car + pom + + ruoyi-mall-car-common + ruoyi-mall-car-remote + ruoyi-mall-car-service + + + + 8 + 8 + UTF-8 + + + diff --git a/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-common/pom.xml b/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-common/pom.xml new file mode 100644 index 0000000..c6e25be --- /dev/null +++ b/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-common/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + + com.ruoyi + ruoyi-mall-car + 3.6.0 + + + ruoyi-mall-car-common + + + 8 + 8 + UTF-8 + + + + + com.ruoyi + ruoyi-common-core + + + + + com.baomidou + mybatis-plus-boot-starter + 3.5.4.1 + + + + + diff --git a/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-remote/pom.xml b/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-remote/pom.xml new file mode 100644 index 0000000..84365a8 --- /dev/null +++ b/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-remote/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.ruoyi + ruoyi-mall-car + 3.6.0 + + + ruoyi-mall-car-remote + + + 8 + 8 + UTF-8 + + + + + com.ruoyi + ruoyi-mall-car-common + + + diff --git a/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-service/pom.xml b/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-service/pom.xml new file mode 100644 index 0000000..43d4be0 --- /dev/null +++ b/ruoyi-mall/ruoyi-mall-car/ruoyi-mall-car-service/pom.xml @@ -0,0 +1,167 @@ + + + 4.0.0 + + com.ruoyi + ruoyi-mall-car + 3.6.0 + + + ruoyi-mall-car-service + + + 8 + 8 + UTF-8 + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + mysql + mysql-connector-java + + + + + com.ruoyi + ruoyi-common-datasource + + + + + com.ruoyi + ruoyi-common-datascope + + + + + com.ruoyi + ruoyi-common-log + + + + + com.ruoyi + ruoyi-common-swagger + + + + + com.ruoyi + ruoyi-mall-product-common + + + + + com.ruoyi + ruoyi-mall-product-cache + + + + + com.ruoyi + ruoyi-common-rabbit + + + + + com.ruoyi + ruoyi-mall-car-common + + + + com.ruoyi + ruoyi-mall-car-remote + + + + + + + + + + + + + + com.github.xiaoymin + knife4j-spring-boot-starter + 2.0.9 + + + + + + com.ruoyi + ruoyi-common-redis + + + + + com.ruoyi + ruoyi-common-core + + + + + com.alipay.sdk + alipay-sdk-java + 4.39.68.ALL + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/EsMallProductInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/EsMallProductInfo.java deleted file mode 100644 index a5b7f1b..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/EsMallProductInfo.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.ruoyi.mall.product.domain; - - -import lombok.Data; - -@Data -public class EsMallProductInfo extends MallProductInfo{ -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductBrandInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductBrandInfo.java deleted file mode 100644 index 7cde3fc..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductBrandInfo.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.ruoyi.mall.product.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * 商品品牌对象 mall_product_brand_info - * - * @author DongZeLiang - * @date 2022-09-15 - */ -public class MallProductBrandInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - private Long id; - - /** 品牌名称 */ - @Excel(name = "品牌名称") - private String name; - - /** 品牌描述 */ - @Excel(name = "品牌描述") - private String productDesc; - - /** 品牌介绍 */ - private String content; - - /** 品牌logo */ - @Excel(name = "品牌logo") - private String logo; - - /** 品牌状态 */ - @Excel(name = "品牌状态") - private String status; - - /** 乐观锁 */ - private Long revision; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setProductDesc(String productDesc) - { - this.productDesc = productDesc; - } - - public String getProductDesc() - { - return productDesc; - } - public void setContent(String content) - { - this.content = content; - } - - public String getContent() - { - return content; - } - public void setLogo(String logo) - { - this.logo = logo; - } - - public String getLogo() - { - return logo; - } - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - public void setRevision(Long revision) - { - this.revision = revision; - } - - public Long getRevision() - { - return revision; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("name", getName()) - .append("productDesc", getProductDesc()) - .append("content", getContent()) - .append("logo", getLogo()) - .append("status", getStatus()) - .append("revision", getRevision()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductInfo.java deleted file mode 100644 index b74e8fc..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductInfo.java +++ /dev/null @@ -1,239 +0,0 @@ -package com.ruoyi.mall.product.domain; - -import io.swagger.annotations.ApiParam; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * 商品信息对象 mall_product_info - * - * @author DongZeLiang - * @date 2022-09-19 - */ -public class MallProductInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - @ApiParam("ID自增") - private Long id; - - /** 商品名称 */ - @Excel(name = "商品名称") - @ApiParam("商品名称") - private String name; - - /** 商品描述 */ - @Excel(name = "商品描述") - private String productDesc; - - /** 商品类型 */ - @Excel(name = "商品类型") - private String type; - - /** 冗余字段 */ - @Excel(name = "冗余字段") - private String typeIds; - - /** 商品主图 */ - @Excel(name = "商品主图") - private String img; - - /** 商品轮播图 */ - @Excel(name = "商品轮播图") - private String carouselImages; - - /** 商品评论数 */ - @Excel(name = "商品评论数") - private Long commentCount; - - /** 商品收藏人气 */ - @Excel(name = "商品收藏人气") - private Long collectCount; - - /** 品牌信息 */ - @Excel(name = "品牌信息") - private String brand; - - /** 商品状态 */ - @Excel(name = "商品状态") - private String status; - - /** 单位 */ - @Excel(name = "单位") - private String unit; - - /** 搜索关键字 */ - @Excel(name = "搜索关键字") - private String keywords; - - /** 规格信息 */ - @Excel(name = "规格信息") - private Long ruleId; - - /** 乐观锁 */ - private Long revision; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setProductDesc(String productDesc) - { - this.productDesc = productDesc; - } - - public String getProductDesc() - { - return productDesc; - } - public void setType(String type) - { - this.type = type; - } - - public String getType() - { - return type; - } - public void setTypeIds(String typeIds) - { - this.typeIds = typeIds; - } - - public String getTypeIds() - { - return typeIds; - } - public void setImg(String img) - { - this.img = img; - } - - public String getImg() - { - return img; - } - public void setCarouselImages(String carouselImages) - { - this.carouselImages = carouselImages; - } - - public String getCarouselImages() - { - return carouselImages; - } - public void setCommentCount(Long commentCount) - { - this.commentCount = commentCount; - } - - public Long getCommentCount() - { - return commentCount; - } - public void setCollectCount(Long collectCount) - { - this.collectCount = collectCount; - } - - public Long getCollectCount() - { - return collectCount; - } - public void setBrand(String brand) - { - this.brand = brand; - } - - public String getBrand() - { - return brand; - } - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - public void setUnit(String unit) - { - this.unit = unit; - } - - public String getUnit() - { - return unit; - } - public void setKeywords(String keywords) - { - this.keywords = keywords; - } - - public String getKeywords() - { - return keywords; - } - public void setRuleId(Long ruleId) - { - this.ruleId = ruleId; - } - - public Long getRuleId() - { - return ruleId; - } - public void setRevision(Long revision) - { - this.revision = revision; - } - - public Long getRevision() - { - return revision; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("name", getName()) - .append("productDesc", getProductDesc()) - .append("type", getType()) - .append("typeIds", getTypeIds()) - .append("img", getImg()) - .append("carouselImages", getCarouselImages()) - .append("commentCount", getCommentCount()) - .append("collectCount", getCollectCount()) - .append("brand", getBrand()) - .append("status", getStatus()) - .append("unit", getUnit()) - .append("keywords", getKeywords()) - .append("ruleId", getRuleId()) - .append("revision", getRevision()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductReviewInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductReviewInfo.java deleted file mode 100644 index 59190cb..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductReviewInfo.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.ruoyi.mall.product.domain; - -import java.math.BigDecimal; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * 商品评价对象 mall_product_review_info - * - * @author DongZeLiang - * @date 2022-09-26 - */ -public class MallProductReviewInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - private Long id; - - /** 商品名称 */ - @Excel(name = "商品名称") - private Long productId; - - /** 商品SKU */ - @Excel(name = "商品SKU") - private Long productSkuId; - - /** 商品评价图片 */ - @Excel(name = "商品评价图片") - private String reviewImages; - - /** 商品评价信息 */ - @Excel(name = "商品评价信息") - private String content; - - /** 评论分数 */ - @Excel(name = "评论分数") - private BigDecimal start; - - /** 是否隐藏 */ - @Excel(name = "是否隐藏") - private String isDispaly; - - /** 是否删除 */ - @Excel(name = "是否删除") - private String isDel; - - /** 乐观锁 */ - private Long revision; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setProductId(Long productId) - { - this.productId = productId; - } - - public Long getProductId() - { - return productId; - } - public void setProductSkuId(Long productSkuId) - { - this.productSkuId = productSkuId; - } - - public Long getProductSkuId() - { - return productSkuId; - } - public void setReviewImages(String reviewImages) - { - this.reviewImages = reviewImages; - } - - public String getReviewImages() - { - return reviewImages; - } - public void setContent(String content) - { - this.content = content; - } - - public String getContent() - { - return content; - } - public void setStart(BigDecimal start) - { - this.start = start; - } - - public BigDecimal getStart() - { - return start; - } - public void setIsDispaly(String isDispaly) - { - this.isDispaly = isDispaly; - } - - public String getIsDispaly() - { - return isDispaly; - } - public void setIsDel(String isDel) - { - this.isDel = isDel; - } - - public String getIsDel() - { - return isDel; - } - public void setRevision(Long revision) - { - this.revision = revision; - } - - public Long getRevision() - { - return revision; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("productId", getProductId()) - .append("productSkuId", getProductSkuId()) - .append("reviewImages", getReviewImages()) - .append("content", getContent()) - .append("start", getStart()) - .append("isDispaly", getIsDispaly()) - .append("isDel", getIsDel()) - .append("revision", getRevision()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductRuleAttrInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductRuleAttrInfo.java deleted file mode 100644 index c55fb30..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductRuleAttrInfo.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.ruoyi.mall.product.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * 商品规格详情对象 mall_product_rule_attr_info - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public class MallProductRuleAttrInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - private Long id; - - /** 规格 */ - @Excel(name = "规格") - private Long ruleId; - - /** 类目名称 */ - @Excel(name = "类目名称") - private String name; - - /** 规格值 */ - @Excel(name = "规格值") - private String attrValue; - - /** 乐观锁 */ - private Long revision; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setRuleId(Long ruleId) - { - this.ruleId = ruleId; - } - - public Long getRuleId() - { - return ruleId; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setAttrValue(String attrValue) - { - this.attrValue = attrValue; - } - - public String getAttrValue() - { - return attrValue; - } - public void setRevision(Long revision) - { - this.revision = revision; - } - - public Long getRevision() - { - return revision; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("ruleId", getRuleId()) - .append("name", getName()) - .append("attrValue", getAttrValue()) - .append("revision", getRevision()) - .toString(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductRuleInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductRuleInfo.java deleted file mode 100644 index b3d1125..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductRuleInfo.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.ruoyi.mall.product.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * 商品规格对象 mall_product_rule_info - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public class MallProductRuleInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - private Long id; - - /** 规格名称 */ - @Excel(name = "规格名称") - private String name; - - /** 规格详情 */ - @Excel(name = "规格详情") - private String ruleAttr; - - /** 规格状态 */ - @Excel(name = "规格状态") - private String status; - - /** 乐观锁 */ - private Long revision; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setRuleAttr(String ruleAttr) - { - this.ruleAttr = ruleAttr; - } - - public String getRuleAttr() - { - return ruleAttr; - } - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - public void setRevision(Long revision) - { - this.revision = revision; - } - - public Long getRevision() - { - return revision; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("name", getName()) - .append("ruleAttr", getRuleAttr()) - .append("status", getStatus()) - .append("revision", getRevision()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductSkuInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductSkuInfo.java deleted file mode 100644 index e890465..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductSkuInfo.java +++ /dev/null @@ -1,196 +0,0 @@ -package com.ruoyi.mall.product.domain; - -import java.math.BigDecimal; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; - -/** - * 商品SKU对象 mall_product_sku_info - * - * @author DongZeLiang - * @date 2022-09-19 - */ -public class MallProductSkuInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - private Long id; - - /** 商品信息 */ - @Excel(name = "商品id") - private Long productId; - - /** 商品规格 */ - @Excel(name = "商品规格") - private String sku; - - /** 商品库存 */ - @Excel(name = "商品库存") - private Long stock; - - /** 商品价格 */ - @Excel(name = "商品价格") - private BigDecimal price; - - /** 商品进价 */ - @Excel(name = "商品进价") - private BigDecimal purchasePrice; - - /** 商品售价 */ - @Excel(name = "商品售价") - private BigDecimal sellingPrice; - - /** 规格图片 */ - @Excel(name = "规格图片") - private String image; - - /** 编号 */ - @Excel(name = "编号") - private String number; - - /** 重量 */ - @Excel(name = "重量") - private BigDecimal weight; - - /** 体积 */ - @Excel(name = "体积") - private BigDecimal volume; - - /** 乐观锁 */ - @Excel(name = "乐观锁") - private Long revision; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setProductId(Long productId) - { - this.productId = productId; - } - - public Long getProductId() - { - return productId; - } - public void setSku(String sku) - { - this.sku = sku; - } - - public String getSku() - { - return sku; - } - public void setStock(Long stock) - { - this.stock = stock; - } - - public Long getStock() - { - return stock; - } - public void setPrice(BigDecimal price) - { - this.price = price; - } - - public BigDecimal getPrice() - { - return price; - } - public void setPurchasePrice(BigDecimal purchasePrice) - { - this.purchasePrice = purchasePrice; - } - - public BigDecimal getPurchasePrice() - { - return purchasePrice; - } - public void setSellingPrice(BigDecimal sellingPrice) - { - this.sellingPrice = sellingPrice; - } - - public BigDecimal getSellingPrice() - { - return sellingPrice; - } - public void setImage(String image) - { - this.image = image; - } - - public String getImage() - { - return image; - } - public void setNumber(String number) - { - this.number = number; - } - - public String getNumber() - { - return number; - } - public void setWeight(BigDecimal weight) - { - this.weight = weight; - } - - public BigDecimal getWeight() - { - return weight; - } - public void setVolume(BigDecimal volume) - { - this.volume = volume; - } - - public BigDecimal getVolume() - { - return volume; - } - public void setRevision(Long revision) - { - this.revision = revision; - } - - public Long getRevision() - { - return revision; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("productId", getProductId()) - .append("sku", getSku()) - .append("stock", getStock()) - .append("price", getPrice()) - .append("purchasePrice", getPurchasePrice()) - .append("sellingPrice", getSellingPrice()) - .append("image", getImage()) - .append("number", getNumber()) - .append("weight", getWeight()) - .append("volume", getVolume()) - .append("revision", getRevision()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductTypeInfo.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductTypeInfo.java deleted file mode 100644 index b609f46..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/MallProductTypeInfo.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.ruoyi.mall.product.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.TreeEntity; - -/** - * 商品类型对象 mall_product_type_info - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public class MallProductTypeInfo extends TreeEntity -{ - private static final long serialVersionUID = 1L; - - /** ID */ - private Long id; - - /** 类型名称 */ - @Excel(name = "类型名称") - private String name; - - /** 类型图片 */ - @Excel(name = "类型图片") - private String image; - - /** 类型状态 */ - @Excel(name = "类型状态") - private String status; - - /** 类型排序 */ - @Excel(name = "类型排序") - private Long orderBy; - - /** 乐观锁 */ - private Long revision; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setImage(String image) - { - this.image = image; - } - - public String getImage() - { - return image; - } - public void setStatus(String status) - { - this.status = status; - } - - public String getStatus() - { - return status; - } - public void setOrderBy(Long orderBy) - { - this.orderBy = orderBy; - } - - public Long getOrderBy() - { - return orderBy; - } - public void setRevision(Long revision) - { - this.revision = revision; - } - - public Long getRevision() - { - return revision; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("name", getName()) - .append("image", getImage()) - .append("status", getStatus()) - .append("orderBy", getOrderBy()) - .append("parentId", getParentId()) - .append("revision", getRevision()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/ProductModel.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/ProductModel.java deleted file mode 100644 index c7eccff..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/ProductModel.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.ruoyi.mall.product.domain.model; - -import com.ruoyi.common.core.annotation.Excel; -import com.ruoyi.common.core.web.domain.BaseEntity; -import io.swagger.annotations.ApiParam; - -/** - * @author DongZl - * @description: 商品详情 - 基本信息 - * @Date 2022-10-18 下午 01:57 - */ -public class ProductModel extends BaseEntity { - - /** ID */ - private Long id; - - /** 商品名称 */ - private String name; - - /** 商品描述 */ - private String productDesc; - - /** 商品类型 */ - private String type; - private String typeName; - - /** 冗余字段 */ - private String typeIds; - - /** 商品主图 */ - private String img; - - /** 商品轮播图 */ - private String carouselImages; - - /** 商品评论数 */ - private Long commentCount; - - /** 商品收藏人气 */ - private Long collectCount; - - /** 品牌信息 */ - private String brand; - private String brandName; - - /** 商品状态 */ - private String status; - - /** 单位 */ - private String unit; - - /** 搜索关键字 */ - private String keywords; - - /** 规格信息 */ - private Long ruleId; - - public Long getId () { - return id; - } - - public void setId (Long id) { - this.id = id; - } - - public String getName () { - return name; - } - - public void setName (String name) { - this.name = name; - } - - public String getProductDesc () { - return productDesc; - } - - public void setProductDesc (String productDesc) { - this.productDesc = productDesc; - } - - public String getType () { - return type; - } - - public void setType (String type) { - this.type = type; - } - - public String getTypeName () { - return typeName; - } - - public void setTypeName (String typeName) { - this.typeName = typeName; - } - - public String getTypeIds () { - return typeIds; - } - - public void setTypeIds (String typeIds) { - this.typeIds = typeIds; - } - - public String getImg () { - return img; - } - - public void setImg (String img) { - this.img = img; - } - - public String getCarouselImages () { - return carouselImages; - } - - public void setCarouselImages (String carouselImages) { - this.carouselImages = carouselImages; - } - - public Long getCommentCount () { - return commentCount; - } - - public void setCommentCount (Long commentCount) { - this.commentCount = commentCount; - } - - public Long getCollectCount () { - return collectCount; - } - - public void setCollectCount (Long collectCount) { - this.collectCount = collectCount; - } - - public String getBrand () { - return brand; - } - - public void setBrand (String brand) { - this.brand = brand; - } - - public String getBrandName () { - return brandName; - } - - public void setBrandName (String brandName) { - this.brandName = brandName; - } - - public String getStatus () { - return status; - } - - public void setStatus (String status) { - this.status = status; - } - - public String getUnit () { - return unit; - } - - public void setUnit (String unit) { - this.unit = unit; - } - - public String getKeywords () { - return keywords; - } - - public void setKeywords (String keywords) { - this.keywords = keywords; - } - - public Long getRuleId () { - return ruleId; - } - - public void setRuleId (Long ruleId) { - this.ruleId = ruleId; - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/RuleAttrModel.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/RuleAttrModel.java deleted file mode 100644 index 7235409..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/RuleAttrModel.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.ruoyi.mall.product.domain.model; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * @author DongZl - * @description: 规格类型详情模型 - * @Date 2022-9-17 上午 09:28 - */ -public class RuleAttrModel { - - private String ruleType; - - private List ruleAttrList; - - private String ruleAttrStr; - - public String getRuleType () { - return ruleType; - } - - public void setRuleType (String ruleType) { - this.ruleType = ruleType; - } - - public List getRuleAttrList () { - return ruleAttrList; - } - - public void setRuleAttrList (List ruleAttrList) { - this.ruleAttrList = ruleAttrList; - if (this.ruleAttrList != null){ - this.ruleAttrStr = this.ruleAttrList.stream().collect(Collectors.joining(",")); - } - } - - public String getRuleAttrStr () { - return ruleAttrStr; - } - -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/RuleModel.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/RuleModel.java deleted file mode 100644 index 9e5a626..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/RuleModel.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.ruoyi.mall.product.domain.model; - -import java.util.List; - -/** - * @author DongZl - * @description: 规格模型 - * @Date 2022-9-17 上午 09:33 - */ -public class RuleModel { - - private Long ruleId; - - private List ruleList; - - public Long getRuleId () { - return ruleId; - } - - public void setRuleId (Long ruleId) { - this.ruleId = ruleId; - } - - public List getRuleList () { - return ruleList; - } - - public void setRuleList (List ruleList) { - this.ruleList = ruleList; - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/SkuModel.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/SkuModel.java deleted file mode 100644 index af694b5..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/model/SkuModel.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.ruoyi.mall.product.domain.model; - -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; - -import java.util.List; - -/** - * @author DongZl - * @description: 批量添加sku - * @Date 2022-9-24 上午 10:23 - */ -public class SkuModel { - - private Long productId; - - private List skuInfoList; - - private SkuModel () { - } - - private SkuModel (Long productId, List skuInfoList) { - this.productId = productId; - this.skuInfoList = skuInfoList; - } - - public static SkuModel builderSkuModel(Long productId, List skuInfoList){ - if (productId == null){ - throw new ServiceException("商品ID不可为空"); - } - - return new SkuModel(productId, skuInfoList); - } - - public Long getProductId () { - return productId; - } - - public void setProductId (Long productId) { - this.productId = productId; - } - - public List getSkuInfoList () { - return skuInfoList; - } - - public void setSkuInfoList (List skuInfoList) { - this.skuInfoList = skuInfoList; - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/reponse/ProductDetailsResponse.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/reponse/ProductDetailsResponse.java deleted file mode 100644 index fa780f7..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/reponse/ProductDetailsResponse.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.ruoyi.mall.product.domain.reponse; - -import com.ruoyi.mall.product.domain.MallProductRuleInfo; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; -import com.ruoyi.mall.product.domain.model.ProductModel; - -import java.util.List; - -/** - * @author DongZl - * @description: 商品详情 - * @Date 2022-10-18 下午 02:00 - */ -public class ProductDetailsResponse { - - /** - * 商品基本信息 - */ - private ProductModel product; - - /** - * 商品的sku信息 - */ - private List skuList; - - /** - * 商品规格信息 - */ - private MallProductRuleInfo productRule; - - public ProductModel getProduct () { - return product; - } - - public void setProduct (ProductModel product) { - this.product = product; - } - - public List getSkuList () { - return skuList; - } - - public void setSkuList (List skuList) { - this.skuList = skuList; - } - - public MallProductRuleInfo getProductRule () { - return productRule; - } - - public void setProductRule (MallProductRuleInfo productRule) { - this.productRule = productRule; - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/reponse/ProductInfoResponse.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/reponse/ProductInfoResponse.java deleted file mode 100644 index 075235c..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/reponse/ProductInfoResponse.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ruoyi.mall.product.domain.reponse; - -import com.ruoyi.mall.product.domain.MallProductInfo; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; - -import java.util.List; - -/** - * @author DongZl - * @description: - * @Date 2022-9-24 上午 11:27 - */ -public class ProductInfoResponse extends MallProductInfo { - - private List skuInfoList; - - public List getSkuInfoList () { - return skuInfoList; - } - - public void setSkuInfoList (List skuInfoList) { - this.skuInfoList = skuInfoList; - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/request/ProductInfoRequest.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/request/ProductInfoRequest.java deleted file mode 100644 index 114dab7..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/request/ProductInfoRequest.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.ruoyi.mall.product.domain.request; - -import com.ruoyi.mall.product.domain.MallProductInfo; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiParam; - -import java.util.List; - -/** - * @author DongZl - * @description: 商品信息入参 - * @Date 2022-9-24 上午 10:34 - */ -public class ProductInfoRequest extends MallProductInfo { - - @ApiParam("sku集合") - private List skuInfoList; - - public List getSkuInfoList () { - return skuInfoList; - } - - public void setSkuInfoList (List skuInfoList) { - this.skuInfoList = skuInfoList; - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/request/RuleRequest.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/request/RuleRequest.java deleted file mode 100644 index b6a46f4..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-common/src/main/java/com/ruoyi/mall/product/domain/request/RuleRequest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.ruoyi.mall.product.domain.request; - -import com.ruoyi.mall.product.domain.MallProductRuleInfo; -import com.ruoyi.mall.product.domain.model.RuleAttrModel; - -import java.util.List; - -/** - * @author DongZl - * @description: 规格请求对象 - * @Date 2022-9-17 上午 09:29 - */ - -public class RuleRequest extends MallProductRuleInfo { - - private List ruleList; - - public List getRuleList () { - return ruleList; - } - - public void setRuleList (List ruleList) { - this.ruleList = ruleList; - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/RuoYiProductApplication.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/RuoYiProductApplication.java index 878dc6f..f652832 100644 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/RuoYiProductApplication.java +++ b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/RuoYiProductApplication.java @@ -9,8 +9,6 @@ import org.springframework.context.annotation.ComponentScan; /** * 商品模块 - * - * @author DongZeLiang */ @EnableCustomConfig @EnableCustomSwagger2 diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductBrandInfoController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductBrandInfoController.java deleted file mode 100644 index 56bd6d4..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductBrandInfoController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.mall.product.domain.MallProductBrandInfo; -import com.ruoyi.mall.product.service.IMallProductBrandInfoService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * 商品品牌Controller - * - * @author DongZeLiang - * @date 2022-09-15 - */ -@RestController -@RequestMapping("/brand") -public class MallProductBrandInfoController extends BaseController -{ - @Autowired - private IMallProductBrandInfoService mallProductBrandInfoService; - - /** - * 查询商品品牌列表 - */ - @RequiresPermissions("product:brand:list") - @GetMapping("/list") - public TableDataInfo list(MallProductBrandInfo mallProductBrandInfo) - { - startPage(); - List list = mallProductBrandInfoService.selectMallProductBrandInfoList(mallProductBrandInfo); - return getDataTable(list); - } - - /** - * 导出商品品牌列表 - */ - @RequiresPermissions("product:brand:export") - @Log(title = "商品品牌", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MallProductBrandInfo mallProductBrandInfo) - { - List list = mallProductBrandInfoService.selectMallProductBrandInfoList(mallProductBrandInfo); - ExcelUtil util = new ExcelUtil(MallProductBrandInfo.class); - util.exportExcel(response, list, "商品品牌数据"); - } - - /** - * 获取商品品牌详细信息 - */ - @RequiresPermissions("product:brand:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(mallProductBrandInfoService.selectMallProductBrandInfoById(id)); - } - - /** - * 新增商品品牌 - */ - @RequiresPermissions("product:brand:add") - @Log(title = "商品品牌", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody MallProductBrandInfo mallProductBrandInfo) - { - return toAjax(mallProductBrandInfoService.insertMallProductBrandInfo(mallProductBrandInfo)); - } - - /** - * 修改商品品牌 - */ - @RequiresPermissions("product:brand:edit") - @Log(title = "商品品牌", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody MallProductBrandInfo mallProductBrandInfo) - { - return toAjax(mallProductBrandInfoService.updateMallProductBrandInfo(mallProductBrandInfo)); - } - - /** - * 删除商品品牌 - */ - @RequiresPermissions("product:brand:remove") - @Log(title = "商品品牌", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(mallProductBrandInfoService.deleteMallProductBrandInfoByIds(ids)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductInfoController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductInfoController.java deleted file mode 100644 index 116a8c3..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductInfoController.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.mall.product.domain.reponse.ProductDetailsResponse; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import com.ruoyi.mall.product.domain.request.ProductInfoRequest; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.mall.product.domain.MallProductInfo; -import com.ruoyi.mall.product.service.IMallProductInfoService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * 商品信息Controller - * - * @author DongZeLiang - * @date 2022-09-19 - */ -@RestController -@RequestMapping("/info") -@Api(tags = "商品维护 - API") -public class MallProductInfoController extends BaseController -{ - @Autowired - private IMallProductInfoService mallProductInfoService; - - /** - * 查询商品信息列表 - */ - @RequiresPermissions("product:info:list") - @RequestMapping(value = "/list", method = {RequestMethod.GET, RequestMethod.POST}) - public TableDataInfo list(MallProductInfo mallProductInfo) - { - startPage(); - List list = mallProductInfoService.selectMallProductInfoList(mallProductInfo); - return getDataTable(list); - } - - @PostMapping("/syncList") - public TableDataInfo syncList(@RequestBody MallProductInfo mallProductInfo) - { - startPage(); - List list = mallProductInfoService.selectMallProductInfoList(mallProductInfo); - return getDataTable(list); - } - /** - * 查询商品信息总条数 - */ - @RequiresPermissions("product:info:list") - @PostMapping("/count") - public R count(@RequestBody MallProductInfo mallProductInfo) - { - return R.ok(mallProductInfoService.selectMallProductInfoCount(mallProductInfo)); - } - - - - /** - * 导出商品信息列表 - */ - @RequiresPermissions("product:info:export") - @Log(title = "商品信息", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MallProductInfo mallProductInfo) - { - List list = mallProductInfoService.selectMallProductInfoList(mallProductInfo); - ExcelUtil util = new ExcelUtil(MallProductInfo.class); - util.exportExcel(response, list, "商品信息数据"); - } - - /** - * 获取商品信息详细信息 - */ - @RequiresPermissions("product:info:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(mallProductInfoService.selectMallProductInfoById(id)); - } - - /** - * 上架/下架商品 - */ - @GetMapping(value = "/upload/{id}") - @ApiOperation("上架商品") - public R uploadInfo(@PathVariable("id") String id) - { - mallProductInfoService.uploadInfo(id); - return R.ok(); - - } - - @GetMapping(value = "/result/{id}") - public R getResultInfo(@PathVariable("id") Long id) - { - return R.ok(mallProductInfoService.selectMallProductInfoById(id)); - } - - /** - * 获取商品详情 - * @param id - * @return - */ - @GetMapping("/details/{id}") - public R getProductResponse(@PathVariable("id") Long id){ - return R.ok(mallProductInfoService.selectProductDetailsById(id)); - } - - /** - * 新增商品信息 - */ - @RequiresPermissions("product:info:add") - @Log(title = "商品信息", businessType = BusinessType.INSERT) - @PostMapping - @ApiOperation("商品添加") - public AjaxResult add(@RequestBody @ApiParam("商品请求实体类") ProductInfoRequest productInfoRequest) - { - return toAjax(mallProductInfoService.insertMallProductInfo(productInfoRequest)); - } - - /** - * 修改商品信息 - */ - @RequiresPermissions("product:info:edit") - @Log(title = "商品信息", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody ProductInfoRequest productInfoRequest) - { - return toAjax(mallProductInfoService.updateMallProductInfo(productInfoRequest)); - } - - /** - * 删除商品信息 - */ - @RequiresPermissions("product:info:remove") - @Log(title = "商品信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(mallProductInfoService.deleteMallProductInfoByIds(ids)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductReviewInfoController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductReviewInfoController.java deleted file mode 100644 index 71e0d93..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductReviewInfoController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.mall.product.domain.MallProductReviewInfo; -import com.ruoyi.mall.product.service.IMallProductReviewInfoService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * 商品评价Controller - * - * @author DongZeLiang - * @date 2022-09-26 - */ -@RestController -@RequestMapping("/review") -public class MallProductReviewInfoController extends BaseController -{ - @Autowired - private IMallProductReviewInfoService mallProductReviewInfoService; - - /** - * 查询商品评价列表 - */ - @RequiresPermissions("product:review:list") - @GetMapping("/list") - public TableDataInfo list(MallProductReviewInfo mallProductReviewInfo) - { - startPage(); - List list = mallProductReviewInfoService.selectMallProductReviewInfoList(mallProductReviewInfo); - return getDataTable(list); - } - - /** - * 导出商品评价列表 - */ - @RequiresPermissions("product:review:export") - @Log(title = "商品评价", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MallProductReviewInfo mallProductReviewInfo) - { - List list = mallProductReviewInfoService.selectMallProductReviewInfoList(mallProductReviewInfo); - ExcelUtil util = new ExcelUtil(MallProductReviewInfo.class); - util.exportExcel(response, list, "商品评价数据"); - } - - /** - * 获取商品评价详细信息 - */ - @RequiresPermissions("product:review:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(mallProductReviewInfoService.selectMallProductReviewInfoById(id)); - } - - /** - * 新增商品评价 - */ - @RequiresPermissions("product:review:add") - @Log(title = "商品评价", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody MallProductReviewInfo mallProductReviewInfo) - { - return toAjax(mallProductReviewInfoService.insertMallProductReviewInfo(mallProductReviewInfo)); - } - - /** - * 修改商品评价 - */ - @RequiresPermissions("product:review:edit") - @Log(title = "商品评价", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody MallProductReviewInfo mallProductReviewInfo) - { - return toAjax(mallProductReviewInfoService.updateMallProductReviewInfo(mallProductReviewInfo)); - } - - /** - * 删除商品评价 - */ - @RequiresPermissions("product:review:remove") - @Log(title = "商品评价", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(mallProductReviewInfoService.deleteMallProductReviewInfoByIds(ids)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductRuleAttrInfoController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductRuleAttrInfoController.java deleted file mode 100644 index 0a28744..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductRuleAttrInfoController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.mall.product.domain.MallProductRuleAttrInfo; -import com.ruoyi.mall.product.service.IMallProductRuleAttrInfoService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * 商品规格详情Controller - * - * @author DongZeLiang - * @date 2022-09-16 - */ -@RestController -@RequestMapping("/attr") -public class MallProductRuleAttrInfoController extends BaseController -{ - @Autowired - private IMallProductRuleAttrInfoService mallProductRuleAttrInfoService; - - /** - * 查询商品规格详情列表 - */ - @RequiresPermissions("product:attr:list") - @GetMapping("/list") - public TableDataInfo list(MallProductRuleAttrInfo mallProductRuleAttrInfo) - { - startPage(); - List list = mallProductRuleAttrInfoService.selectMallProductRuleAttrInfoList(mallProductRuleAttrInfo); - return getDataTable(list); - } - - /** - * 导出商品规格详情列表 - */ - @RequiresPermissions("product:attr:export") - @Log(title = "商品规格详情", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MallProductRuleAttrInfo mallProductRuleAttrInfo) - { - List list = mallProductRuleAttrInfoService.selectMallProductRuleAttrInfoList(mallProductRuleAttrInfo); - ExcelUtil util = new ExcelUtil(MallProductRuleAttrInfo.class); - util.exportExcel(response, list, "商品规格详情数据"); - } - - /** - * 获取商品规格详情详细信息 - */ - @RequiresPermissions("product:attr:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(mallProductRuleAttrInfoService.selectMallProductRuleAttrInfoById(id)); - } - - /** - * 新增商品规格详情 - */ - @RequiresPermissions("product:attr:add") - @Log(title = "商品规格详情", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody MallProductRuleAttrInfo mallProductRuleAttrInfo) - { - return toAjax(mallProductRuleAttrInfoService.insertMallProductRuleAttrInfo(mallProductRuleAttrInfo)); - } - - /** - * 修改商品规格详情 - */ - @RequiresPermissions("product:attr:edit") - @Log(title = "商品规格详情", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody MallProductRuleAttrInfo mallProductRuleAttrInfo) - { - return toAjax(mallProductRuleAttrInfoService.updateMallProductRuleAttrInfo(mallProductRuleAttrInfo)); - } - - /** - * 删除商品规格详情 - */ - @RequiresPermissions("product:attr:remove") - @Log(title = "商品规格详情", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(mallProductRuleAttrInfoService.deleteMallProductRuleAttrInfoByIds(ids)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductRuleInfoController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductRuleInfoController.java deleted file mode 100644 index a5c6b6f..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductRuleInfoController.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.mall.product.domain.request.RuleRequest; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.mall.product.domain.MallProductRuleInfo; -import com.ruoyi.mall.product.service.IMallProductRuleInfoService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * 商品规格Controller - * - * @author DongZeLiang - * @date 2022-09-16 - */ -@RestController -@RequestMapping("/rule") -public class MallProductRuleInfoController extends BaseController -{ - @Autowired - private IMallProductRuleInfoService mallProductRuleInfoService; - - /** - * 查询商品规格列表 - */ - @RequiresPermissions("product:rule:list") - @GetMapping("/list") - public TableDataInfo list(MallProductRuleInfo mallProductRuleInfo) - { - startPage(); - List list = mallProductRuleInfoService.selectMallProductRuleInfoList(mallProductRuleInfo); - return getDataTable(list); - } - @RequiresPermissions("product:rule:list") - @GetMapping("/all") - public R all() - { - List list = mallProductRuleInfoService.selectMallProductRuleInfoList(new MallProductRuleInfo()); - return R.ok(list); - } - - /** - * 导出商品规格列表 - */ - @RequiresPermissions("product:rule:export") - @Log(title = "商品规格", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MallProductRuleInfo mallProductRuleInfo) - { - List list = mallProductRuleInfoService.selectMallProductRuleInfoList(mallProductRuleInfo); - ExcelUtil util = new ExcelUtil(MallProductRuleInfo.class); - util.exportExcel(response, list, "商品规格数据"); - } - - /** - * 获取商品规格详细信息 - */ - @RequiresPermissions("product:rule:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(mallProductRuleInfoService.selectMallProductRuleInfoById(id)); - } - - /** - * 新增商品规格 - */ - @RequiresPermissions("product:rule:add") - @Log(title = "商品规格", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody RuleRequest ruleRequest) - { - return toAjax(mallProductRuleInfoService.insertMallProductRuleInfo(ruleRequest)); - } - - /** - * 修改商品规格 - */ - @RequiresPermissions("product:rule:edit") - @Log(title = "商品规格", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody RuleRequest ruleRequest) - { - return toAjax(mallProductRuleInfoService.updateMallProductRuleInfo(ruleRequest)); - } - - /** - * 删除商品规格 - */ - @RequiresPermissions("product:rule:remove") - @Log(title = "商品规格", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(mallProductRuleInfoService.deleteMallProductRuleInfoByIds(ids)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductSkuInfoController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductSkuInfoController.java deleted file mode 100644 index 2648ddd..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductSkuInfoController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; -import com.ruoyi.mall.product.service.IMallProductSkuInfoService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; - -/** - * 商品SKUController - * - * @author DongZeLiang - * @date 2022-09-19 - */ -@RestController -@RequestMapping("/sku") -public class MallProductSkuInfoController extends BaseController -{ - @Autowired - private IMallProductSkuInfoService mallProductSkuInfoService; - - /** - * 查询商品SKU列表 - */ - @RequiresPermissions("product:sku:list") - @GetMapping("/list") - public TableDataInfo list(MallProductSkuInfo mallProductSkuInfo) - { - startPage(); - List list = mallProductSkuInfoService.selectMallProductSkuInfoList(mallProductSkuInfo); - return getDataTable(list); - } - - /** - * 导出商品SKU列表 - */ - @RequiresPermissions("product:sku:export") - @Log(title = "商品SKU", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MallProductSkuInfo mallProductSkuInfo) - { - List list = mallProductSkuInfoService.selectMallProductSkuInfoList(mallProductSkuInfo); - ExcelUtil util = new ExcelUtil(MallProductSkuInfo.class); - util.exportExcel(response, list, "商品SKU数据"); - } - - /** - * 获取商品SKU详细信息 - */ - @RequiresPermissions("product:sku:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(mallProductSkuInfoService.selectMallProductSkuInfoById(id)); - } - - /** - * 新增商品SKU - */ - @RequiresPermissions("product:sku:add") - @Log(title = "商品SKU", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody MallProductSkuInfo mallProductSkuInfo) - { - return toAjax(mallProductSkuInfoService.insertMallProductSkuInfo(mallProductSkuInfo)); - } - - /** - * 修改商品SKU - */ - @RequiresPermissions("product:sku:edit") - @Log(title = "商品SKU", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody MallProductSkuInfo mallProductSkuInfo) - { - return toAjax(mallProductSkuInfoService.updateMallProductSkuInfo(mallProductSkuInfo)); - } - - /** - * 删除商品SKU - */ - @RequiresPermissions("product:sku:remove") - @Log(title = "商品SKU", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(mallProductSkuInfoService.deleteMallProductSkuInfoByIds(ids)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductTypeInfoController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductTypeInfoController.java deleted file mode 100644 index 46bd5a2..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/MallProductTypeInfoController.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.log.annotation.Log; -import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.mall.product.domain.MallProductTypeInfo; -import com.ruoyi.mall.product.service.IMallProductTypeInfoService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; - -/** - * 商品类型Controller - * - * @author DongZeLiang - * @date 2022-09-16 - */ -@RestController -@RequestMapping("/type") -public class MallProductTypeInfoController extends BaseController -{ - @Autowired - private IMallProductTypeInfoService mallProductTypeInfoService; - - /** - * 查询商品类型列表 - */ - @RequiresPermissions("product:type:list") - @GetMapping("/list") - public AjaxResult list(MallProductTypeInfo mallProductTypeInfo) - { - List list = mallProductTypeInfoService.selectMallProductTypeInfoList(mallProductTypeInfo); - return AjaxResult.success(list); - } - @RequiresPermissions("product:type:list") - @GetMapping("/tree") - public AjaxResult tree() - { - MallProductTypeInfo mallProductTypeInfo = new MallProductTypeInfo(); - mallProductTypeInfo.setParentId(0L); - List list = mallProductTypeInfoService.selectMallProductTypeInfoList(mallProductTypeInfo); - return AjaxResult.success(list); - } - - - - /** - * 导出商品类型列表 - */ - @RequiresPermissions("product:type:export") - @Log(title = "商品类型", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, MallProductTypeInfo mallProductTypeInfo) - { - List list = mallProductTypeInfoService.selectMallProductTypeInfoList(mallProductTypeInfo); - ExcelUtil util = new ExcelUtil(MallProductTypeInfo.class); - util.exportExcel(response, list, "商品类型数据"); - } - - /** - * 获取商品类型详细信息 - */ - @RequiresPermissions("product:type:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return AjaxResult.success(mallProductTypeInfoService.selectMallProductTypeInfoById(id)); - } - - /** - * 新增商品类型 - */ - @RequiresPermissions("product:type:add") - @Log(title = "商品类型", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody MallProductTypeInfo mallProductTypeInfo) - { - return toAjax(mallProductTypeInfoService.insertMallProductTypeInfo(mallProductTypeInfo)); - } - - /** - * 修改商品类型 - */ - @RequiresPermissions("product:type:edit") - @Log(title = "商品类型", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody MallProductTypeInfo mallProductTypeInfo) - { - return toAjax(mallProductTypeInfoService.updateMallProductTypeInfo(mallProductTypeInfo)); - } - - /** - * 删除商品类型 - */ - @RequiresPermissions("product:type:remove") - @Log(title = "商品类型", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(mallProductTypeInfoService.deleteMallProductTypeInfoByIds(ids)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/TestController.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/TestController.java deleted file mode 100644 index d9cdf42..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/controller/TestController.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.ruoyi.mall.product.controller; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.rabbit.domain.Message; -import com.ruoyi.common.rabbit.enums.QueueEnum; -import com.ruoyi.mall.product.cache.ProductInfoCache; -import com.ruoyi.mall.product.domain.reponse.ProductDetailsResponse; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import com.ruoyi.mall.product.service.IMallProductInfoService; -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -/** - * @author DongZl - * @description: - * @Date 2022-10-19 下午 02:46 - */ -@RestController -@RequestMapping("/test") -public class TestController { - - @Autowired - private ProductInfoCache productInfoCache; - - @Autowired - private RabbitTemplate rabbitTemplate; - - @Autowired - private IMallProductInfoService productInfoService; - - @GetMapping("/{id}") - public R get(@PathVariable Long id){ - ProductDetailsResponse productDetailsResponse = productInfoCache.get(id); - return R.ok(productDetailsResponse); - } - - @GetMapping("/refreshData/{id}") - private R refreshData(@PathVariable Long id){ - return R.ok(productInfoCache.refreshData(id)); - } - - @PostMapping("/sendMsg/{msg}") - public R sendMsg(@PathVariable("msg") String msg){ - - -// ProductInfoResponse productInfoResponse = productInfoService.selectMallProductInfoById(10L); - rabbitTemplate.convertAndSend(QueueEnum.PRODUCT_ADD.queueName(), - Message.builderMsg(11L)); - return R.ok(); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductBrandInfoMapper.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductBrandInfoMapper.java deleted file mode 100644 index d82fb77..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductBrandInfoMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.mall.product.mapper; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductBrandInfo; - -/** - * 商品品牌Mapper接口 - * - * @author DongZeLiang - * @date 2022-09-15 - */ -public interface MallProductBrandInfoMapper -{ - /** - * 查询商品品牌 - * - * @param id 商品品牌主键 - * @return 商品品牌 - */ - public MallProductBrandInfo selectMallProductBrandInfoById(Long id); - - /** - * 查询商品品牌列表 - * - * @param mallProductBrandInfo 商品品牌 - * @return 商品品牌集合 - */ - public List selectMallProductBrandInfoList(MallProductBrandInfo mallProductBrandInfo); - - /** - * 新增商品品牌 - * - * @param mallProductBrandInfo 商品品牌 - * @return 结果 - */ - public int insertMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo); - - /** - * 修改商品品牌 - * - * @param mallProductBrandInfo 商品品牌 - * @return 结果 - */ - public int updateMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo); - - /** - * 删除商品品牌 - * - * @param id 商品品牌主键 - * @return 结果 - */ - public int deleteMallProductBrandInfoById(Long id); - - /** - * 批量删除商品品牌 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteMallProductBrandInfoByIds(Long[] ids); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductInfoMapper.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductInfoMapper.java deleted file mode 100644 index bb6fd50..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductInfoMapper.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.ruoyi.mall.product.mapper; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductInfo; -import com.ruoyi.mall.product.domain.model.ProductModel; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Component; - -/** - * 商品信息Mapper接口 - * - * @author DongZeLiang - * @date 2022-09-19 - */ -@Component -public interface MallProductInfoMapper -{ - /** - * 查询商品信息 - * - * @param id 商品信息主键 - * @return 商品信息 - */ - public MallProductInfo selectMallProductInfoById(@Param("id")Long id); - - public ProductModel selectProductModelById(@Param("id") Long id); - - /** - * 查询商品信息列表 - * - * @param mallProductInfo 商品信息 - * @return 商品信息集合 - */ - public List selectMallProductInfoList(MallProductInfo mallProductInfo); - - /** - * 新增商品信息 - * - * @param mallProductInfo 商品信息 - * @return 结果 - */ - public int insertMallProductInfo(MallProductInfo mallProductInfo); - - /** - * 修改商品信息 - * - * @param mallProductInfo 商品信息 - * @return 结果 - */ - public int updateMallProductInfo(MallProductInfo mallProductInfo); - - /** - * 删除商品信息 - * - * @param id 商品信息主键 - * @return 结果 - */ - public int deleteMallProductInfoById(Long id); - - /** - * 批量删除商品信息 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteMallProductInfoByIds(Long[] ids); - - /** - * 商品总条数 - * @param mallProductInfo 商品查询条件 - * @return - */ - Long selectMallProductInfoCount (MallProductInfo mallProductInfo); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductReviewInfoMapper.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductReviewInfoMapper.java deleted file mode 100644 index 1b2940e..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductReviewInfoMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.mall.product.mapper; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductReviewInfo; - -/** - * 商品评价Mapper接口 - * - * @author DongZeLiang - * @date 2022-09-26 - */ -public interface MallProductReviewInfoMapper -{ - /** - * 查询商品评价 - * - * @param id 商品评价主键 - * @return 商品评价 - */ - public MallProductReviewInfo selectMallProductReviewInfoById(Long id); - - /** - * 查询商品评价列表 - * - * @param mallProductReviewInfo 商品评价 - * @return 商品评价集合 - */ - public List selectMallProductReviewInfoList(MallProductReviewInfo mallProductReviewInfo); - - /** - * 新增商品评价 - * - * @param mallProductReviewInfo 商品评价 - * @return 结果 - */ - public int insertMallProductReviewInfo(MallProductReviewInfo mallProductReviewInfo); - - /** - * 修改商品评价 - * - * @param mallProductReviewInfo 商品评价 - * @return 结果 - */ - public int updateMallProductReviewInfo(MallProductReviewInfo mallProductReviewInfo); - - /** - * 删除商品评价 - * - * @param id 商品评价主键 - * @return 结果 - */ - public int deleteMallProductReviewInfoById(Long id); - - /** - * 批量删除商品评价 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteMallProductReviewInfoByIds(Long[] ids); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductRuleAttrInfoMapper.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductRuleAttrInfoMapper.java deleted file mode 100644 index b3969ef..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductRuleAttrInfoMapper.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.ruoyi.mall.product.mapper; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductRuleAttrInfo; -import com.ruoyi.mall.product.domain.model.RuleModel; -import org.apache.ibatis.annotations.Param; - -/** - * 商品规格详情Mapper接口 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public interface MallProductRuleAttrInfoMapper -{ - /** - * 查询商品规格详情 - * - * @param id 商品规格详情主键 - * @return 商品规格详情 - */ - public MallProductRuleAttrInfo selectMallProductRuleAttrInfoById(Long id); - - /** - * 查询商品规格详情列表 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 商品规格详情集合 - */ - public List selectMallProductRuleAttrInfoList(MallProductRuleAttrInfo mallProductRuleAttrInfo); - - /** - * 新增商品规格详情 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 结果 - */ - public int insertMallProductRuleAttrInfo(MallProductRuleAttrInfo mallProductRuleAttrInfo); - - /** - * 修改商品规格详情 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 结果 - */ - public int updateMallProductRuleAttrInfo(MallProductRuleAttrInfo mallProductRuleAttrInfo); - - /** - * 删除商品规格详情 - * - * @param id 商品规格详情主键 - * @return 结果 - */ - public int deleteMallProductRuleAttrInfoById(Long id); - - /** - * 批量删除商品规格详情 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteMallProductRuleAttrInfoByIds(Long[] ids); - - /** - * 批量添加 - * @param ruleModel - * @return - */ - int bacthInsertRule (@Param("ruleModel") RuleModel ruleModel); - - /** - * 删除规格详情 - * @param ids 规格Ids - * @return - */ - int deleteRuleAttrByRuleIds (Long[] ids); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductRuleInfoMapper.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductRuleInfoMapper.java deleted file mode 100644 index 234a457..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductRuleInfoMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.mall.product.mapper; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductRuleInfo; - -/** - * 商品规格Mapper接口 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public interface MallProductRuleInfoMapper -{ - /** - * 查询商品规格 - * - * @param id 商品规格主键 - * @return 商品规格 - */ - public MallProductRuleInfo selectMallProductRuleInfoById(Long id); - - /** - * 查询商品规格列表 - * - * @param mallProductRuleInfo 商品规格 - * @return 商品规格集合 - */ - public List selectMallProductRuleInfoList(MallProductRuleInfo mallProductRuleInfo); - - /** - * 新增商品规格 - * - * @param mallProductRuleInfo 商品规格 - * @return 结果 - */ - public int insertMallProductRuleInfo(MallProductRuleInfo mallProductRuleInfo); - - /** - * 修改商品规格 - * - * @param mallProductRuleInfo 商品规格 - * @return 结果 - */ - public int updateMallProductRuleInfo(MallProductRuleInfo mallProductRuleInfo); - - /** - * 删除商品规格 - * - * @param id 商品规格主键 - * @return 结果 - */ - public int deleteMallProductRuleInfoById(Long id); - - /** - * 批量删除商品规格 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteMallProductRuleInfoByIds(Long[] ids); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductSkuInfoMapper.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductSkuInfoMapper.java deleted file mode 100644 index 958544b..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductSkuInfoMapper.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.ruoyi.mall.product.mapper; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; -import com.ruoyi.mall.product.domain.model.SkuModel; -import org.apache.ibatis.annotations.Param; - -/** - * 商品SKUMapper接口 - * - * @author DongZeLiang - * @date 2022-09-19 - */ -public interface MallProductSkuInfoMapper -{ - /** - * 查询商品SKU - * - * @param id 商品SKU主键 - * @return 商品SKU - */ - public MallProductSkuInfo selectMallProductSkuInfoById(Long id); - - /** - * 查询商品SKU列表 - * - * @param mallProductSkuInfo 商品SKU - * @return 商品SKU集合 - */ - public List selectMallProductSkuInfoList(MallProductSkuInfo mallProductSkuInfo); - - /** - * 新增商品SKU - * - * @param mallProductSkuInfo 商品SKU - * @return 结果 - */ - public int insertMallProductSkuInfo(MallProductSkuInfo mallProductSkuInfo); - - /** - * 修改商品SKU - * - * @param mallProductSkuInfo 商品SKU - * @return 结果 - */ - public int updateMallProductSkuInfo(MallProductSkuInfo mallProductSkuInfo); - - /** - * 删除商品SKU - * - * @param id 商品SKU主键 - * @return 结果 - */ - public int deleteMallProductSkuInfoById(Long id); - - /** - * 批量删除商品SKU - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteMallProductSkuInfoByIds(Long[] ids); - - /** - * 批量添加 - * @param skuModel - * @return - */ - int batchInsertProductSku (SkuModel skuModel); - - /** - * 删除商品下的SKU - * @param productId - */ - void deleteMallProductSkuInfoByProductId (@Param("productId") Long productId); - - /** - * 通过商品信息的ids进行删除 - * @param ids - */ - void deleteMallProductSkuInfoByProductIds (Long[] ids); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductTypeInfoMapper.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductTypeInfoMapper.java deleted file mode 100644 index 634fd4e..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/mapper/MallProductTypeInfoMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.mall.product.mapper; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductTypeInfo; - -/** - * 商品类型Mapper接口 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public interface MallProductTypeInfoMapper -{ - /** - * 查询商品类型 - * - * @param id 商品类型主键 - * @return 商品类型 - */ - public MallProductTypeInfo selectMallProductTypeInfoById(Long id); - - /** - * 查询商品类型列表 - * - * @param mallProductTypeInfo 商品类型 - * @return 商品类型集合 - */ - public List selectMallProductTypeInfoList(MallProductTypeInfo mallProductTypeInfo); - - /** - * 新增商品类型 - * - * @param mallProductTypeInfo 商品类型 - * @return 结果 - */ - public int insertMallProductTypeInfo(MallProductTypeInfo mallProductTypeInfo); - - /** - * 修改商品类型 - * - * @param mallProductTypeInfo 商品类型 - * @return 结果 - */ - public int updateMallProductTypeInfo(MallProductTypeInfo mallProductTypeInfo); - - /** - * 删除商品类型 - * - * @param id 商品类型主键 - * @return 结果 - */ - public int deleteMallProductTypeInfoById(Long id); - - /** - * 批量删除商品类型 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteMallProductTypeInfoByIds(Long[] ids); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductBrandInfoService.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductBrandInfoService.java deleted file mode 100644 index b5165de..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductBrandInfoService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.mall.product.service; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductBrandInfo; - -/** - * 商品品牌Service接口 - * - * @author DongZeLiang - * @date 2022-09-15 - */ -public interface IMallProductBrandInfoService -{ - /** - * 查询商品品牌 - * - * @param id 商品品牌主键 - * @return 商品品牌 - */ - public MallProductBrandInfo selectMallProductBrandInfoById(Long id); - - /** - * 查询商品品牌列表 - * - * @param mallProductBrandInfo 商品品牌 - * @return 商品品牌集合 - */ - public List selectMallProductBrandInfoList(MallProductBrandInfo mallProductBrandInfo); - - /** - * 新增商品品牌 - * - * @param mallProductBrandInfo 商品品牌 - * @return 结果 - */ - public int insertMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo); - - /** - * 修改商品品牌 - * - * @param mallProductBrandInfo 商品品牌 - * @return 结果 - */ - public int updateMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo); - - /** - * 批量删除商品品牌 - * - * @param ids 需要删除的商品品牌主键集合 - * @return 结果 - */ - public int deleteMallProductBrandInfoByIds(Long[] ids); - - /** - * 删除商品品牌信息 - * - * @param id 商品品牌主键 - * @return 结果 - */ - public int deleteMallProductBrandInfoById(Long id); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductInfoService.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductInfoService.java deleted file mode 100644 index f7919ad..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductInfoService.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.ruoyi.mall.product.service; - -import java.util.List; - -import com.ruoyi.mall.product.domain.MallProductInfo; -import com.ruoyi.mall.product.domain.reponse.ProductDetailsResponse; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import com.ruoyi.mall.product.domain.request.ProductInfoRequest; - -/** - * 商品信息Service接口 - * - * @author DongZeLiang - * @date 2022-09-19 - */ -public interface IMallProductInfoService -{ - /** - * 查询商品信息 - * - * @param id 商品信息主键 - * @return 商品信息 - */ - public ProductInfoResponse selectMallProductInfoById(Long id); - public ProductDetailsResponse selectProductDetailsById(Long id); - - /** - * 查询商品信息列表 - * - * @param mallProductInfo 商品信息 - * @return 商品信息集合 - */ - public List selectMallProductInfoList(MallProductInfo mallProductInfo); - - /** - * 新增商品信息 - * - * @param productInfoRequest 商品信息 - * @return 结果 - */ - public int insertMallProductInfo(ProductInfoRequest productInfoRequest); - - /** - * 修改商品信息 - * - * @param productInfoRequest 商品信息 - * @return 结果 - */ - public int updateMallProductInfo(ProductInfoRequest productInfoRequest); - - /** - * 批量删除商品信息 - * - * @param ids 需要删除的商品信息主键集合 - * @return 结果 - */ - public int deleteMallProductInfoByIds(Long[] ids); - - /** - * 删除商品信息信息 - * - * @param id 商品信息主键 - * @return 结果 - */ - public int deleteMallProductInfoById(Long id); - - /** - * 查询商品总条数 - * @param mallProductInfo 商品查询 - * @return - */ - Long selectMallProductInfoCount (MallProductInfo mallProductInfo); - - void uploadInfo(String id); - - /** - * 加载商品数据到ES中 - */ - void loadingProductInfoToEs(); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductReviewInfoService.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductReviewInfoService.java deleted file mode 100644 index cb79b60..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductReviewInfoService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.mall.product.service; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductReviewInfo; - -/** - * 商品评价Service接口 - * - * @author DongZeLiang - * @date 2022-09-26 - */ -public interface IMallProductReviewInfoService -{ - /** - * 查询商品评价 - * - * @param id 商品评价主键 - * @return 商品评价 - */ - public MallProductReviewInfo selectMallProductReviewInfoById(Long id); - - /** - * 查询商品评价列表 - * - * @param mallProductReviewInfo 商品评价 - * @return 商品评价集合 - */ - public List selectMallProductReviewInfoList(MallProductReviewInfo mallProductReviewInfo); - - /** - * 新增商品评价 - * - * @param mallProductReviewInfo 商品评价 - * @return 结果 - */ - public int insertMallProductReviewInfo(MallProductReviewInfo mallProductReviewInfo); - - /** - * 修改商品评价 - * - * @param mallProductReviewInfo 商品评价 - * @return 结果 - */ - public int updateMallProductReviewInfo(MallProductReviewInfo mallProductReviewInfo); - - /** - * 批量删除商品评价 - * - * @param ids 需要删除的商品评价主键集合 - * @return 结果 - */ - public int deleteMallProductReviewInfoByIds(Long[] ids); - - /** - * 删除商品评价信息 - * - * @param id 商品评价主键 - * @return 结果 - */ - public int deleteMallProductReviewInfoById(Long id); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductRuleAttrInfoService.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductRuleAttrInfoService.java deleted file mode 100644 index a48f086..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductRuleAttrInfoService.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.ruoyi.mall.product.service; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductRuleAttrInfo; -import com.ruoyi.mall.product.domain.model.RuleAttrModel; -import com.ruoyi.mall.product.domain.model.RuleModel; - -/** - * 商品规格详情Service接口 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public interface IMallProductRuleAttrInfoService -{ - /** - * 查询商品规格详情 - * - * @param id 商品规格详情主键 - * @return 商品规格详情 - */ - public MallProductRuleAttrInfo selectMallProductRuleAttrInfoById(Long id); - - /** - * 查询商品规格详情列表 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 商品规格详情集合 - */ - public List selectMallProductRuleAttrInfoList(MallProductRuleAttrInfo mallProductRuleAttrInfo); - - /** - * 新增商品规格详情 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 结果 - */ - public int insertMallProductRuleAttrInfo(MallProductRuleAttrInfo mallProductRuleAttrInfo); - - /** - * 新增商品规格详情 - * - * @param ruleModel 商品规格详情 - * @return 结果 - */ - public int insertRuleModel(RuleModel ruleModel); - default int insertRuleModel (Long id, List ruleList){ - return this.insertRuleModel(new RuleModel(){{ - setRuleId(id); - setRuleList(ruleList); - }}); - } - - /** - * 修改商品规格详情 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 结果 - */ - public int updateMallProductRuleAttrInfo(MallProductRuleAttrInfo mallProductRuleAttrInfo); - - /** - * 批量删除商品规格详情 - * - * @param ids 需要删除的商品规格详情主键集合 - * @return 结果 - */ - public int deleteMallProductRuleAttrInfoByIds(Long[] ids); - - /** - * 删除商品规格详情信息 - * - * @param id 商品规格详情主键 - * @return 结果 - */ - public int deleteMallProductRuleAttrInfoById(Long id); - - /** - * 删除商品规格详情信息 - * @param ids 规格Ids - * @return - */ - public int deleteRuleAttrByRuleIds(Long[] ids); - - /** - * 删除商品规格详情 - * @param id 规格ID - */ - default int deleteRuleAttrByRuleId (Long id){ - return this.deleteRuleAttrByRuleIds(new Long[]{id}); - } - -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductRuleInfoService.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductRuleInfoService.java deleted file mode 100644 index f3e8431..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductRuleInfoService.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.ruoyi.mall.product.service; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductRuleInfo; -import com.ruoyi.mall.product.domain.request.RuleRequest; - -/** - * 商品规格Service接口 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public interface IMallProductRuleInfoService -{ - /** - * 查询商品规格 - * - * @param id 商品规格主键 - * @return 商品规格 - */ - public MallProductRuleInfo selectMallProductRuleInfoById(Long id); - - /** - * 查询商品规格列表 - * - * @param mallProductRuleInfo 商品规格 - * @return 商品规格集合 - */ - public List selectMallProductRuleInfoList(MallProductRuleInfo mallProductRuleInfo); - - /** - * 新增商品规格 - * - * @param ruleRequest 商品规格 - * @return 结果 - */ - public int insertMallProductRuleInfo(RuleRequest ruleRequest); - - /** - * 修改商品规格 - * - * @param ruleRequest 商品规格 - * @return 结果 - */ - public int updateMallProductRuleInfo(RuleRequest ruleRequest); - - /** - * 批量删除商品规格 - * - * @param ids 需要删除的商品规格主键集合 - * @return 结果 - */ - public int deleteMallProductRuleInfoByIds(Long[] ids); - - /** - * 删除商品规格信息 - * - * @param id 商品规格主键 - * @return 结果 - */ - public int deleteMallProductRuleInfoById(Long id); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductSkuInfoService.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductSkuInfoService.java deleted file mode 100644 index a3264a4..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductSkuInfoService.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.ruoyi.mall.product.service; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; -import com.ruoyi.mall.product.domain.model.SkuModel; - -/** - * 商品SKUService接口 - * - * @author DongZeLiang - * @date 2022-09-19 - */ -public interface IMallProductSkuInfoService -{ - /** - * 查询商品SKU - * - * @param id 商品SKU主键 - * @return 商品SKU - */ - public MallProductSkuInfo selectMallProductSkuInfoById(Long id); - - /** - * 查询商品SKU列表 - * - * @param mallProductSkuInfo 商品SKU - * @return 商品SKU集合 - */ - public List selectMallProductSkuInfoList(MallProductSkuInfo mallProductSkuInfo); - /** - * 通过商品Id查询商品SKU列表 - * - * @param productId 商品Id - * @return 商品SKU集合 - */ - public default List selectMallProductSkuInfoList(Long productId){ - return this.selectMallProductSkuInfoList(new MallProductSkuInfo(){{ - setProductId(productId); - }}); - } - - - - /** - * 新增商品SKU - * - * @param mallProductSkuInfo 商品SKU - * @return 结果 - */ - public int insertMallProductSkuInfo(MallProductSkuInfo mallProductSkuInfo); - public int batchInsertProductSku(SkuModel skuModel); - - /** - * 修改商品SKU - * - * @param mallProductSkuInfo 商品SKU - * @return 结果 - */ - public int updateMallProductSkuInfo(MallProductSkuInfo mallProductSkuInfo); - - /** - * 批量删除商品SKU - * - * @param ids 需要删除的商品SKU主键集合 - * @return 结果 - */ - public int deleteMallProductSkuInfoByIds(Long[] ids); - - /** - * 删除商品SKU信息 - * - * @param id 商品SKU主键 - * @return 结果 - */ - public int deleteMallProductSkuInfoById(Long id); - - /** - * 删除商品的sku - * @param productId - */ - void deleteMallProductSkuInfoByProductId (Long productId); - - /** - * 通过商品信息的Ids进行删除 - * @param ids - */ - void deleteMallProductSkuInfoByProductIds (Long[] ids); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductTypeInfoService.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductTypeInfoService.java deleted file mode 100644 index 6e8c906..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/IMallProductTypeInfoService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.mall.product.service; - -import java.util.List; -import com.ruoyi.mall.product.domain.MallProductTypeInfo; - -/** - * 商品类型Service接口 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -public interface IMallProductTypeInfoService -{ - /** - * 查询商品类型 - * - * @param id 商品类型主键 - * @return 商品类型 - */ - public MallProductTypeInfo selectMallProductTypeInfoById(Long id); - - /** - * 查询商品类型列表 - * - * @param mallProductTypeInfo 商品类型 - * @return 商品类型集合 - */ - public List selectMallProductTypeInfoList(MallProductTypeInfo mallProductTypeInfo); - - /** - * 新增商品类型 - * - * @param mallProductTypeInfo 商品类型 - * @return 结果 - */ - public int insertMallProductTypeInfo(MallProductTypeInfo mallProductTypeInfo); - - /** - * 修改商品类型 - * - * @param mallProductTypeInfo 商品类型 - * @return 结果 - */ - public int updateMallProductTypeInfo(MallProductTypeInfo mallProductTypeInfo); - - /** - * 批量删除商品类型 - * - * @param ids 需要删除的商品类型主键集合 - * @return 结果 - */ - public int deleteMallProductTypeInfoByIds(Long[] ids); - - /** - * 删除商品类型信息 - * - * @param id 商品类型主键 - * @return 结果 - */ - public int deleteMallProductTypeInfoById(Long id); -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductBrandInfoServiceImpl.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductBrandInfoServiceImpl.java deleted file mode 100644 index dbca584..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductBrandInfoServiceImpl.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.ruoyi.mall.product.service.impl; - -import java.util.List; -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.mall.product.mapper.MallProductBrandInfoMapper; -import com.ruoyi.mall.product.domain.MallProductBrandInfo; -import com.ruoyi.mall.product.service.IMallProductBrandInfoService; - -/** - * 商品品牌Service业务层处理 - * - * @author DongZeLiang - * @date 2022-09-15 - */ -@Service -public class MallProductBrandInfoServiceImpl implements IMallProductBrandInfoService -{ - @Autowired - private MallProductBrandInfoMapper mallProductBrandInfoMapper; - - /** - * 查询商品品牌 - * - * @param id 商品品牌主键 - * @return 商品品牌 - */ - @Override - public MallProductBrandInfo selectMallProductBrandInfoById(Long id) - { - return mallProductBrandInfoMapper.selectMallProductBrandInfoById(id); - } - - /** - * 查询商品品牌列表 - * - * @param mallProductBrandInfo 商品品牌 - * @return 商品品牌 - */ - @Override - public List selectMallProductBrandInfoList(MallProductBrandInfo mallProductBrandInfo) - { - return mallProductBrandInfoMapper.selectMallProductBrandInfoList(mallProductBrandInfo); - } - - /** - * 新增商品品牌 - * - * @param mallProductBrandInfo 商品品牌 - * @return 结果 - */ - @Override - public int insertMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo) - { - mallProductBrandInfo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); - mallProductBrandInfo.setCreateTime(DateUtils.getNowDate()); - return mallProductBrandInfoMapper.insertMallProductBrandInfo(mallProductBrandInfo); - } - - /** - * 修改商品品牌 - * - * @param mallProductBrandInfo 商品品牌 - * @return 结果 - */ - @Override - public int updateMallProductBrandInfo(MallProductBrandInfo mallProductBrandInfo) - { - mallProductBrandInfo.setUpdateTime(DateUtils.getNowDate()); - return mallProductBrandInfoMapper.updateMallProductBrandInfo(mallProductBrandInfo); - } - - /** - * 批量删除商品品牌 - * - * @param ids 需要删除的商品品牌主键 - * @return 结果 - */ - @Override - public int deleteMallProductBrandInfoByIds(Long[] ids) - { - return mallProductBrandInfoMapper.deleteMallProductBrandInfoByIds(ids); - } - - /** - * 删除商品品牌信息 - * - * @param id 商品品牌主键 - * @return 结果 - */ - @Override - public int deleteMallProductBrandInfoById(Long id) - { - return mallProductBrandInfoMapper.deleteMallProductBrandInfoById(id); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductInfoServiceImpl.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductInfoServiceImpl.java deleted file mode 100644 index 4ca1d9a..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductInfoServiceImpl.java +++ /dev/null @@ -1,352 +0,0 @@ -package com.ruoyi.mall.product.service.impl; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import com.alibaba.fastjson.JSON; -import com.ruoyi.common.core.constant.EsConstant; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.core.utils.bean.BeanUtils; -import com.ruoyi.common.rabbit.domain.Message; -import com.ruoyi.common.rabbit.enums.QueueEnum; -import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.mall.product.cache.ProductInfoCache; -import com.ruoyi.mall.product.domain.MallProductRuleInfo; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; -import com.ruoyi.mall.product.domain.model.ProductModel; -import com.ruoyi.mall.product.domain.model.SkuModel; -import com.ruoyi.mall.product.domain.reponse.ProductDetailsResponse; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import com.ruoyi.mall.product.domain.request.ProductInfoRequest; -import com.ruoyi.mall.product.service.IMallProductRuleInfoService; -import com.ruoyi.mall.product.service.IMallProductSkuInfoService; -import com.ruoyi.system.domain.vo.EsDocInsertVo; -import com.ruoyi.system.remote.api.RemoteEsDocService; -import com.ruoyi.system.remote.api.RemoteEsIndexService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.mall.product.mapper.MallProductInfoMapper; -import com.ruoyi.mall.product.domain.MallProductInfo; -import com.ruoyi.mall.product.service.IMallProductInfoService; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import javax.annotation.PostConstruct; - -/** - * 商品信息Service业务层处理 - * - * @author DongZeLiang - * @date 2022-09-19 - */ -@Service -@Slf4j -public class MallProductInfoServiceImpl implements IMallProductInfoService { - @Autowired - private MallProductInfoMapper mallProductInfoMapper; - - @Autowired - private IMallProductSkuInfoService skuInfoService; - - @Autowired - private IMallProductRuleInfoService ruleInfoService; - - - @Autowired - private ProductInfoCache productInfoCache; - - @Autowired - private RabbitTemplate rabbitTemplate; - - @Autowired - private RemoteEsDocService remoteEsDocService; - - @Autowired - private RemoteEsIndexService remoteEsIndexService; - - /** - * 项目启动时,把商品数据初始化到ES中 - */ - @PostConstruct - public void init() { - loadingProductInfoToEs(); - } - - /** - * 查询商品信息 - * - * @param id 商品信息主键 - * @return 商品信息 - */ - @Override - public ProductInfoResponse selectMallProductInfoById(Long id) { - MallProductInfo mallProductInfo = mallProductInfoMapper.selectMallProductInfoById(id); - ProductInfoResponse productInfoResponse = new ProductInfoResponse(); - BeanUtils.copyBeanProp(productInfoResponse, mallProductInfo); - productInfoResponse.setSkuInfoList( - skuInfoService.selectMallProductSkuInfoList(new MallProductSkuInfo() {{ - setProductId(id); - }}) - ); - return productInfoResponse; - } - - @Override - public ProductDetailsResponse selectProductDetailsById(Long productId) { - if (productId == null || productId == 0) { - throw new ServiceException("查询商品信息,依据不合法!"); - } - ProductDetailsResponse productDetailsResponse = new ProductDetailsResponse(); - ProductModel productModel = mallProductInfoMapper.selectProductModelById(productId); - if (productModel == null) { - throw new ServiceException("查询商品信息,商品数据为空"); - } - productDetailsResponse.setProduct(productModel); - List mallProductSkuInfos = skuInfoService.selectMallProductSkuInfoList(productId); - if (mallProductSkuInfos == null || mallProductSkuInfos.size() == 0) { - throw new ServiceException("查询商品信息,SKU数据为空"); - } - productDetailsResponse.setSkuList(mallProductSkuInfos); - MallProductRuleInfo ruleInfo = ruleInfoService.selectMallProductRuleInfoById(productModel.getRuleId()); - if (ruleInfo == null) { - throw new ServiceException("查询商品信息,规格数据为空"); - } - productDetailsResponse.setProductRule(ruleInfo); - return productDetailsResponse; - } - - /** - * 查询商品信息列表 - * - * @param mallProductInfo 商品信息 - * @return 商品信息 - */ - @Override - public List selectMallProductInfoList(MallProductInfo mallProductInfo) { - return mallProductInfoMapper.selectMallProductInfoList(mallProductInfo); - } - - /** - * 新增商品信息 - * - * @param productInfoRequest 商品信息 - * @return 结果 - */ - @Override - @Transactional - public int insertMallProductInfo(ProductInfoRequest productInfoRequest) { - productInfoRequest.setCreateBy(String.valueOf(SecurityUtils.getUserId())); - productInfoRequest.setCreateTime(DateUtils.getNowDate()); - int i = mallProductInfoMapper.insertMallProductInfo(productInfoRequest); - if (i == 0) { - return i; - } - - skuInfoService.batchInsertProductSku( - SkuModel.builderSkuModel(productInfoRequest.getId(), productInfoRequest.getSkuInfoList()) - ); - - // 给搜索系统发送消息需要进行搜索更新 - try { - rabbitTemplate.convertAndSend(QueueEnum.PRODUCT_ADD.queueName(), - Message.builderMsg(productInfoRequest.getId())); - } catch (ServiceException serviceException) { - throw new ServiceException("给搜索系统发送消息需要进行搜索更新失败!"); - } - return i; - } - - /** - * 修改商品信息 - * - * @param productInfoRequest 商品信息 - * @return 结果 - */ - @Override - @Transactional - public int updateMallProductInfo(ProductInfoRequest productInfoRequest) { - productInfoRequest.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); - productInfoRequest.setUpdateTime(DateUtils.getNowDate()); - int i = mallProductInfoMapper.updateMallProductInfo(productInfoRequest); - if (i == 0) { - //将商品信息推送至MQ,异步更新ES - try { - rabbitTemplate.convertAndSend(QueueEnum.PRODUCT_ADD.queueName(), - Message.builderMsg(productInfoRequest.getId())); - } catch (ServiceException serviceException) { - throw new ServiceException("给搜索系统发送消息需要进行搜索更新失败!"); - } - return i; - } - skuInfoService.deleteMallProductSkuInfoByProductId(productInfoRequest.getId()); - skuInfoService.batchInsertProductSku( - SkuModel.builderSkuModel(productInfoRequest.getId(), productInfoRequest.getSkuInfoList()) - ); - return i; - } - - /** - * 批量删除商品信息 - * - * @param ids 需要删除的商品信息主键 - * @return 结果 - */ - @Override - public int deleteMallProductInfoByIds(Long[] ids) { - skuInfoService.deleteMallProductSkuInfoByProductIds(ids); - for (Long id : ids) { - // 延迟执行 - productInfoCache.delayRemove(id); - } - return mallProductInfoMapper.deleteMallProductInfoByIds(ids); - } - - /** - * 删除商品信息信息 - * - * @param id 商品信息主键 - * @return 结果 - */ - @Override - public int deleteMallProductInfoById(Long id) { - return mallProductInfoMapper.deleteMallProductInfoById(id); - } - - /** - * 商品总条数 - * - * @param mallProductInfo 商品查询 - * @return - */ - @Override - public Long selectMallProductInfoCount(MallProductInfo mallProductInfo) { - return mallProductInfoMapper.selectMallProductInfoCount(mallProductInfo); - } - - /** - * 商品上下架 - * - * @param id - * @return - */ - @Override - @Transactional - public void uploadInfo(String id) { - // 查询商品的spu信息 - MallProductInfo mallProductInfo = mallProductInfoMapper.selectMallProductInfoById(Long.valueOf(id)); - - // 校验商品信息是否存在 - if (mallProductInfo == null) { - throw new ServiceException("该商品信息不存在"); - } - - // 查询商品的sku信息 - List mallProductSkuInfos = skuInfoService.selectMallProductSkuInfoList(Long.valueOf(id)); - - // 校验sku信息是否为空 - if (CollectionUtils.isEmpty(mallProductSkuInfos)) { - throw new ServiceException("该商品下sku信息不存在"); - } - - // 切换商品的上下架状态并且在es中删除下架的商品 - String newStatus = mallProductInfo.getStatus().equals("1") ? "0" : "1"; - mallProductInfo.setStatus(newStatus); - - //判断该商品是上架状态还是下架状态 - if (newStatus.equals("1")){ - //修改该商品状态为上架 并且添加至es - mallProductInfoMapper.updateMallProductInfo(mallProductInfo); - // 检查商品索引是否存在 - R indexExit = remoteEsIndexService.indexExit(EsConstant.INDEX_NAME); - if (!indexExit.getData()) { - throw new ServiceException("该商品索引不存在"); - } - - //构建es所需要的数据结构 - List esDocInsertVos = builderProductInfo2Es(mallProductInfo,mallProductSkuInfos); - //批量插入 - remoteEsDocService.batchInsertDocs(esDocInsertVos); - }else { - //修改该商品状态为下架 并且删除es数据 - mallProductInfoMapper.updateMallProductInfo(mallProductInfo); - // 检查商品索引是否存在 - R indexExit = remoteEsIndexService.indexExit(EsConstant.INDEX_NAME); - if (!indexExit.getData()) { - throw new ServiceException("该商品索引不存在"); - } - //根据商品spuId查询出skuId 进行es删 - List skuInfoList = selectMallProductInfoById(Long.valueOf(mallProductInfo.getId())).getSkuInfoList(); - skuInfoList.stream().forEach(skuInfo->{ - Long docsId = skuInfo.getId(); - remoteEsDocService.deleteDocsById(String.valueOf(docsId)); - }); - } - } - - @Override - public void loadingProductInfoToEs() { - //查询所有商品信息 - List mallProductInfos = mallProductInfoMapper.selectMallProductInfoList(new MallProductInfo()); - if (mallProductInfos == null || mallProductInfos.size() == 0) { - log.info("暂无需要同步的商品"); - } - //调用ES查询索引是否存在 - R indexExit = remoteEsIndexService.indexExit("mall_product"); - if (!indexExit.getData()) { - log.info("mall_product索引不存在,调用ES服务创建索引"); - //创建索引 - R indexCreate = remoteEsIndexService.indexCreate("mall_product"); - if (!indexCreate.getData()) { - log.info("创建mall_product索引失败"); - } - //批量同步商品信息到ES - //构建参数 - List esDocInsertVo = builderProductInfoToEs(mallProductInfos); - //调用ES服务批量插入文档 - R batchInsert = remoteEsDocService.batchInsertDocs(esDocInsertVo); - if (batchInsert.getData()) { - log.info("批量同步商品信息到ES成功"); - } - - } - - } - - private List builderProductInfoToEs(List mallProductInfos) { - List esDocInsertVos = new ArrayList<>(); - mallProductInfos.stream().forEach(mallProductInfo -> { - EsDocInsertVo esDocInsertVo = new EsDocInsertVo(); - esDocInsertVo.setId(String.valueOf(mallProductInfo.getId())); - esDocInsertVo.setIndexName("mall_product"); - //对象转为Map - Map data = JSON.parseObject(JSON.toJSONString(mallProductInfo), Map.class); - esDocInsertVo.setData(data); - esDocInsertVos.add(esDocInsertVo); - }); - return esDocInsertVos; - } - - private List builderProductInfo2Es(MallProductInfo mallProductInfo, List mallProductSkuInfos) { - //构建返回结果集 - ArrayList esDocInsertVos = new ArrayList<>(); - mallProductSkuInfos.forEach(mallProductSkuInfo -> { - EsDocInsertVo esDocInsertVo = new EsDocInsertVo(); - esDocInsertVo.setId(String.valueOf(mallProductInfo.getId())); - esDocInsertVo.setIndexName(EsConstant.INDEX_NAME); - esDocInsertVo.setTypeName("_doc"); - //对象转为Map - Map data = JSON.parseObject(JSON.toJSONString(mallProductInfo), Map.class); - esDocInsertVo.setData(data); - //将对象添加进数组 - esDocInsertVos.add(esDocInsertVo); - }); - return esDocInsertVos; - - } - -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductReviewInfoServiceImpl.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductReviewInfoServiceImpl.java deleted file mode 100644 index 41d7080..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductReviewInfoServiceImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.ruoyi.mall.product.service.impl; - -import java.util.List; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.mall.product.mapper.MallProductReviewInfoMapper; -import com.ruoyi.mall.product.domain.MallProductReviewInfo; -import com.ruoyi.mall.product.service.IMallProductReviewInfoService; - -/** - * 商品评价Service业务层处理 - * - * @author DongZeLiang - * @date 2022-09-26 - */ -@Service -public class MallProductReviewInfoServiceImpl implements IMallProductReviewInfoService -{ - @Autowired - private MallProductReviewInfoMapper mallProductReviewInfoMapper; - - /** - * 查询商品评价 - * - * @param id 商品评价主键 - * @return 商品评价 - */ - @Override - public MallProductReviewInfo selectMallProductReviewInfoById(Long id) - { - return mallProductReviewInfoMapper.selectMallProductReviewInfoById(id); - } - - /** - * 查询商品评价列表 - * - * @param mallProductReviewInfo 商品评价 - * @return 商品评价 - */ - @Override - public List selectMallProductReviewInfoList(MallProductReviewInfo mallProductReviewInfo) - { - return mallProductReviewInfoMapper.selectMallProductReviewInfoList(mallProductReviewInfo); - } - - /** - * 新增商品评价 - * - * @param mallProductReviewInfo 商品评价 - * @return 结果 - */ - @Override - public int insertMallProductReviewInfo(MallProductReviewInfo mallProductReviewInfo) - { - mallProductReviewInfo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); - mallProductReviewInfo.setCreateTime(DateUtils.getNowDate()); - return mallProductReviewInfoMapper.insertMallProductReviewInfo(mallProductReviewInfo); - } - - /** - * 修改商品评价 - * - * @param mallProductReviewInfo 商品评价 - * @return 结果 - */ - @Override - public int updateMallProductReviewInfo(MallProductReviewInfo mallProductReviewInfo) - { - mallProductReviewInfo.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); - mallProductReviewInfo.setUpdateTime(DateUtils.getNowDate()); - return mallProductReviewInfoMapper.updateMallProductReviewInfo(mallProductReviewInfo); - } - - /** - * 批量删除商品评价 - * - * @param ids 需要删除的商品评价主键 - * @return 结果 - */ - @Override - public int deleteMallProductReviewInfoByIds(Long[] ids) - { - return mallProductReviewInfoMapper.deleteMallProductReviewInfoByIds(ids); - } - - /** - * 删除商品评价信息 - * - * @param id 商品评价主键 - * @return 结果 - */ - @Override - public int deleteMallProductReviewInfoById(Long id) - { - return mallProductReviewInfoMapper.deleteMallProductReviewInfoById(id); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductRuleAttrInfoServiceImpl.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductRuleAttrInfoServiceImpl.java deleted file mode 100644 index 2f91465..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductRuleAttrInfoServiceImpl.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.ruoyi.mall.product.service.impl; - -import java.util.List; - -import com.ruoyi.mall.product.domain.model.RuleAttrModel; -import com.ruoyi.mall.product.domain.model.RuleModel; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.mall.product.mapper.MallProductRuleAttrInfoMapper; -import com.ruoyi.mall.product.domain.MallProductRuleAttrInfo; -import com.ruoyi.mall.product.service.IMallProductRuleAttrInfoService; - -/** - * 商品规格详情Service业务层处理 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -@Service -public class MallProductRuleAttrInfoServiceImpl implements IMallProductRuleAttrInfoService -{ - @Autowired - private MallProductRuleAttrInfoMapper mallProductRuleAttrInfoMapper; - - /** - * 查询商品规格详情 - * - * @param id 商品规格详情主键 - * @return 商品规格详情 - */ - @Override - public MallProductRuleAttrInfo selectMallProductRuleAttrInfoById(Long id) - { - return mallProductRuleAttrInfoMapper.selectMallProductRuleAttrInfoById(id); - } - - /** - * 查询商品规格详情列表 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 商品规格详情 - */ - @Override - public List selectMallProductRuleAttrInfoList(MallProductRuleAttrInfo mallProductRuleAttrInfo) - { - return mallProductRuleAttrInfoMapper.selectMallProductRuleAttrInfoList(mallProductRuleAttrInfo); - } - - /** - * 新增商品规格详情 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 结果 - */ - @Override - public int insertMallProductRuleAttrInfo(MallProductRuleAttrInfo mallProductRuleAttrInfo) - { - return mallProductRuleAttrInfoMapper.insertMallProductRuleAttrInfo(mallProductRuleAttrInfo); - } - - @Override - public int insertRuleModel (RuleModel ruleModel) { - - return mallProductRuleAttrInfoMapper.bacthInsertRule(ruleModel); - } - - /** - * 修改商品规格详情 - * - * @param mallProductRuleAttrInfo 商品规格详情 - * @return 结果 - */ - @Override - public int updateMallProductRuleAttrInfo(MallProductRuleAttrInfo mallProductRuleAttrInfo) - { - return mallProductRuleAttrInfoMapper.updateMallProductRuleAttrInfo(mallProductRuleAttrInfo); - } - - /** - * 批量删除商品规格详情 - * - * @param ids 需要删除的商品规格详情主键 - * @return 结果 - */ - @Override - public int deleteMallProductRuleAttrInfoByIds(Long[] ids) - { - return mallProductRuleAttrInfoMapper.deleteMallProductRuleAttrInfoByIds(ids); - } - - /** - * 删除商品规格详情信息 - * - * @param id 商品规格详情主键 - * @return 结果 - */ - @Override - public int deleteMallProductRuleAttrInfoById(Long id) - { - return mallProductRuleAttrInfoMapper.deleteMallProductRuleAttrInfoById(id); - } - - /** - * 删除商品规格详情 - * @param ids 规格Ids - * @return - */ - @Override - public int deleteRuleAttrByRuleIds (Long[] ids) { - return mallProductRuleAttrInfoMapper.deleteRuleAttrByRuleIds(ids); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductRuleInfoServiceImpl.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductRuleInfoServiceImpl.java deleted file mode 100644 index 0c321da..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductRuleInfoServiceImpl.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.ruoyi.mall.product.service.impl; - -import java.util.List; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.mall.product.domain.model.RuleModel; -import com.ruoyi.mall.product.domain.request.RuleRequest; -import com.ruoyi.mall.product.service.IMallProductRuleAttrInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.mall.product.mapper.MallProductRuleInfoMapper; -import com.ruoyi.mall.product.domain.MallProductRuleInfo; -import com.ruoyi.mall.product.service.IMallProductRuleInfoService; -import org.springframework.transaction.annotation.Transactional; - -/** - * 商品规格Service业务层处理 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -@Service -public class MallProductRuleInfoServiceImpl implements IMallProductRuleInfoService -{ - @Autowired - private MallProductRuleInfoMapper mallProductRuleInfoMapper; - - @Autowired - private IMallProductRuleAttrInfoService ruleAttrInfoService; - - /** - * 查询商品规格 - * - * @param id 商品规格主键 - * @return 商品规格 - */ - @Override - public MallProductRuleInfo selectMallProductRuleInfoById(Long id) - { - return mallProductRuleInfoMapper.selectMallProductRuleInfoById(id); - } - - /** - * 查询商品规格列表 - * - * @param mallProductRuleInfo 商品规格 - * @return 商品规格 - */ - @Override - public List selectMallProductRuleInfoList(MallProductRuleInfo mallProductRuleInfo) - { - return mallProductRuleInfoMapper.selectMallProductRuleInfoList(mallProductRuleInfo); - } - - /** - * 新增商品规格 - * - * @param ruleRequest 商品规格 - * @return 结果 - */ - @Override - @Transactional - public int insertMallProductRuleInfo(RuleRequest ruleRequest) - { - ruleRequest.setCreateBy(String.valueOf(SecurityUtils.getUserId())); - ruleRequest.setCreateTime(DateUtils.getNowDate()); - int i = mallProductRuleInfoMapper.insertMallProductRuleInfo(ruleRequest); - if (i == 0){ - return i; - } - // 组装了一个Model 用来添加规格属性 - RuleModel ruleModel = new RuleModel(); - ruleModel.setRuleId(ruleRequest.getId()); - ruleModel.setRuleList(ruleRequest.getRuleList()); - ruleAttrInfoService.insertRuleModel(ruleModel); - return i; - - } - - /** - * 修改商品规格 - * - * @param ruleRequest 商品规格 - * @return 结果 - */ - @Override - public int updateMallProductRuleInfo(RuleRequest ruleRequest) - { - ruleRequest.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); - ruleRequest.setUpdateTime(DateUtils.getNowDate()); - int i = mallProductRuleInfoMapper.updateMallProductRuleInfo(ruleRequest); - if (i == 0){ - return i; - } - ruleAttrInfoService.deleteRuleAttrByRuleId(ruleRequest.getId()); - ruleAttrInfoService.insertRuleModel(ruleRequest.getId(), ruleRequest.getRuleList()); - return i; - } - - /** - * 批量删除商品规格 - * - * @param ids 需要删除的商品规格主键 - * @return 结果 - */ - @Override - @Transactional - public int deleteMallProductRuleInfoByIds(Long[] ids) - { - ruleAttrInfoService.deleteRuleAttrByRuleIds(ids); - return mallProductRuleInfoMapper.deleteMallProductRuleInfoByIds(ids); - } - - /** - * 删除商品规格信息 - * - * @param id 商品规格主键 - * @return 结果 - */ - @Override - public int deleteMallProductRuleInfoById(Long id) - { - return mallProductRuleInfoMapper.deleteMallProductRuleInfoById(id); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductSkuInfoServiceImpl.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductSkuInfoServiceImpl.java deleted file mode 100644 index 99fa234..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductSkuInfoServiceImpl.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.ruoyi.mall.product.service.impl; - -import java.util.List; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.core.utils.uuid.IdUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.mall.product.domain.model.SkuModel; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.mall.product.mapper.MallProductSkuInfoMapper; -import com.ruoyi.mall.product.domain.MallProductSkuInfo; -import com.ruoyi.mall.product.service.IMallProductSkuInfoService; - -/** - * 商品SKUService业务层处理 - * - * @author DongZeLiang - * @date 2022-09-19 - */ -@Service -public class MallProductSkuInfoServiceImpl implements IMallProductSkuInfoService -{ - @Autowired - private MallProductSkuInfoMapper mallProductSkuInfoMapper; - - /** - * 查询商品SKU - * - * @param id 商品SKU主键 - * @return 商品SKU - */ - @Override - public MallProductSkuInfo selectMallProductSkuInfoById(Long id) - { - return mallProductSkuInfoMapper.selectMallProductSkuInfoById(id); - } - - /** - * 查询商品SKU列表 - * - * @param mallProductSkuInfo 商品SKU - * @return 商品SKU - */ - @Override - public List selectMallProductSkuInfoList(MallProductSkuInfo mallProductSkuInfo) - { - return mallProductSkuInfoMapper.selectMallProductSkuInfoList(mallProductSkuInfo); - } - - /** - * 新增商品SKU - * - * @param mallProductSkuInfo 商品SKU - * @return 结果 - */ - @Override - public int insertMallProductSkuInfo(MallProductSkuInfo mallProductSkuInfo) - { - mallProductSkuInfo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); - mallProductSkuInfo.setCreateTime(DateUtils.getNowDate()); - return mallProductSkuInfoMapper.insertMallProductSkuInfo(mallProductSkuInfo); - } - - @Override - public int batchInsertProductSku (SkuModel skuModel) { - skuModel.getSkuInfoList().forEach(skuInfo -> { - skuInfo.setNumber(IdUtils.fastSimpleUUID()); - }); - return mallProductSkuInfoMapper.batchInsertProductSku(skuModel); - } - - /** - * 修改商品SKU - * - * @param mallProductSkuInfo 商品SKU - * @return 结果 - */ - @Override - public int updateMallProductSkuInfo(MallProductSkuInfo mallProductSkuInfo) - { - mallProductSkuInfo.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); - mallProductSkuInfo.setUpdateTime(DateUtils.getNowDate()); - return mallProductSkuInfoMapper.updateMallProductSkuInfo(mallProductSkuInfo); - } - - /** - * 批量删除商品SKU - * - * @param ids 需要删除的商品SKU主键 - * @return 结果 - */ - @Override - public int deleteMallProductSkuInfoByIds(Long[] ids) - { - return mallProductSkuInfoMapper.deleteMallProductSkuInfoByIds(ids); - } - - /** - * 删除商品SKU信息 - * - * @param id 商品SKU主键 - * @return 结果 - */ - @Override - public int deleteMallProductSkuInfoById(Long id) - { - return mallProductSkuInfoMapper.deleteMallProductSkuInfoById(id); - } - - @Override - public void deleteMallProductSkuInfoByProductId (Long productId) { - mallProductSkuInfoMapper.deleteMallProductSkuInfoByProductId(productId); - } - - @Override - public void deleteMallProductSkuInfoByProductIds (Long[] ids) { - mallProductSkuInfoMapper.deleteMallProductSkuInfoByProductIds(ids); - } -} diff --git a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductTypeInfoServiceImpl.java b/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductTypeInfoServiceImpl.java deleted file mode 100644 index 7a5933b..0000000 --- a/ruoyi-mall/ruoyi-mall-product/ruoyi-mall-product-server/src/main/java/com/ruoyi/mall/product/service/impl/MallProductTypeInfoServiceImpl.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.ruoyi.mall.product.service.impl; - -import java.util.List; - -import com.ruoyi.common.core.utils.DateUtils; -import com.ruoyi.common.security.utils.SecurityUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.mall.product.mapper.MallProductTypeInfoMapper; -import com.ruoyi.mall.product.domain.MallProductTypeInfo; -import com.ruoyi.mall.product.service.IMallProductTypeInfoService; - -/** - * 商品类型Service业务层处理 - * - * @author DongZeLiang - * @date 2022-09-16 - */ -@Service -public class MallProductTypeInfoServiceImpl implements IMallProductTypeInfoService -{ - @Autowired - private MallProductTypeInfoMapper mallProductTypeInfoMapper; - - /** - * 查询商品类型 - * - * @param id 商品类型主键 - * @return 商品类型 - */ - @Override - public MallProductTypeInfo selectMallProductTypeInfoById(Long id) - { - return mallProductTypeInfoMapper.selectMallProductTypeInfoById(id); - } - - /** - * 查询商品类型列表 - * - * @param mallProductTypeInfo 商品类型 - * @return 商品类型 - */ - @Override - public List selectMallProductTypeInfoList(MallProductTypeInfo mallProductTypeInfo) - { - List mallProductTypeInfos = mallProductTypeInfoMapper.selectMallProductTypeInfoList(mallProductTypeInfo); - if (mallProductTypeInfos == null || mallProductTypeInfos.size() == 0){ - return null; - } - for (MallProductTypeInfo productTypeInfo : mallProductTypeInfos) { - MallProductTypeInfo mallProductTypeParam = new MallProductTypeInfo(); - mallProductTypeParam.setParentId(productTypeInfo.getId()); - productTypeInfo.setChildren(this.selectMallProductTypeInfoList(mallProductTypeParam)); - } - return mallProductTypeInfos; - } - - /** - * 新增商品类型 - * - * @param mallProductTypeInfo 商品类型 - * @return 结果 - */ - @Override - public int insertMallProductTypeInfo(MallProductTypeInfo mallProductTypeInfo) - { - mallProductTypeInfo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); - mallProductTypeInfo.setCreateTime(DateUtils.getNowDate()); - return mallProductTypeInfoMapper.insertMallProductTypeInfo(mallProductTypeInfo); - } - - /** - * 修改商品类型 - * - * @param mallProductTypeInfo 商品类型 - * @return 结果 - */ - @Override - public int updateMallProductTypeInfo(MallProductTypeInfo mallProductTypeInfo) - { - mallProductTypeInfo.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); - mallProductTypeInfo.setUpdateTime(DateUtils.getNowDate()); - return mallProductTypeInfoMapper.updateMallProductTypeInfo(mallProductTypeInfo); - } - - /** - * 批量删除商品类型 - * - * @param ids 需要删除的商品类型主键 - * @return 结果 - */ - @Override - public int deleteMallProductTypeInfoByIds(Long[] ids) - { - return mallProductTypeInfoMapper.deleteMallProductTypeInfoByIds(ids); - } - - /** - * 删除商品类型信息 - * - * @param id 商品类型主键 - * @return 结果 - */ - @Override - public int deleteMallProductTypeInfoById(Long id) - { - return mallProductTypeInfoMapper.deleteMallProductTypeInfoById(id); - } - - -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/ProductSearch.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/ProductSearch.java deleted file mode 100644 index 157675f..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/ProductSearch.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.ruoyi.mall.search.domain; - -import com.ruoyi.common.core.annotation.Excel; -import io.swagger.annotations.ApiParam; - -/** - * @author DongZl - * @description: 搜索实体类 - * @Date 2022-10-15 上午 09:32 - */ -public class ProductSearch { - /** ID */ - private Long id; - - /** 商品名称 */ - private String name; - - /** 商品描述 */ - private String productDesc; - - /** 商品类型 */ - private String type; - private String typeName; - - - /** 商品主图 */ - private String img; - - /** 商品轮播图 */ - private String carouselImages; - - /** 商品评论数 */ - private Long commentCount; - - /** 商品收藏人气 */ - private Long collectCount; - - /** 品牌信息 */ - private String brand; - private String brandName; - - /** 商品状态 */ - private String status; - - /** 单位 */ - private String unit; - - /** 搜索关键字 */ - private String keywords; - - - public Long getId () { - return id; - } - - public void setId (Long id) { - this.id = id; - } - - public String getName () { - return name; - } - - public void setName (String name) { - this.name = name; - } - - public String getProductDesc () { - return productDesc; - } - - public void setProductDesc (String productDesc) { - this.productDesc = productDesc; - } - - public String getType () { - return type; - } - - public void setType (String type) { - this.type = type; - } - - public String getTypeName () { - return typeName; - } - - public void setTypeName (String typeName) { - this.typeName = typeName; - } - - public String getImg () { - return img; - } - - public void setImg (String img) { - this.img = img; - } - - public String getCarouselImages () { - return carouselImages; - } - - public void setCarouselImages (String carouselImages) { - this.carouselImages = carouselImages; - } - - public Long getCommentCount () { - return commentCount; - } - - public void setCommentCount (Long commentCount) { - this.commentCount = commentCount; - } - - public Long getCollectCount () { - return collectCount; - } - - public void setCollectCount (Long collectCount) { - this.collectCount = collectCount; - } - - public String getBrand () { - return brand; - } - - public void setBrand (String brand) { - this.brand = brand; - } - - public String getBrandName () { - return brandName; - } - - public void setBrandName (String brandName) { - this.brandName = brandName; - } - - public String getStatus () { - return status; - } - - public void setStatus (String status) { - this.status = status; - } - - public String getUnit () { - return unit; - } - - public void setUnit (String unit) { - this.unit = unit; - } - - public String getKeywords () { - return keywords; - } - - public void setKeywords (String keywords) { - this.keywords = keywords; - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/request/HotWordsReq.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/request/HotWordsReq.java deleted file mode 100644 index 8b82a2a..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/request/HotWordsReq.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.ruoyi.mall.search.domain.request; - -import lombok.Data; - -import java.util.Date; - -@Data -public class HotWordsReq { - private Integer id; - private String hotWords; - private Integer searchFrequency; - private Date lastTime; - -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/request/SearchReq.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/request/SearchReq.java deleted file mode 100644 index a38fdbe..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/domain/request/SearchReq.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.ruoyi.mall.search.domain.request; - -import com.ruoyi.common.core.constant.Constants; - -/** - * @author DongZl - * @description: 查询请求对象 - * @Date 2022-10-24 下午 03:07 - */ -public class SearchReq { - - /** - * 主键 - */ - private String keyWord; - - /** - * 字符集 - */ - private String ev = Constants.UTF8; - - /** - * 分页大小 - */ - private Integer pageSize = 5; - - /** - * 分页页数 - */ - private Integer pageNum = 1; - - public String getKeyWord () { - return keyWord; - } - - public void setKeyWord (String keyWord) { - this.keyWord = keyWord; - } - - public String getEv () { - return ev; - } - - public void setEv (String ev) { - this.ev = ev; - } - - public Integer getPageSize () { - return pageSize; - } - - public void setPageSize (Integer pageSize) { - this.pageSize = pageSize; - } - - public Integer getPageNum () { - return pageNum; - } - - public void setPageNum (Integer pageNum) { - this.pageNum = pageNum; - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/utils/SearchResultUtils.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/utils/SearchResultUtils.java deleted file mode 100644 index c22c2aa..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-common/src/main/java/com/ruoyi/mall/search/utils/SearchResultUtils.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.ruoyi.mall.search.utils; - -import com.alibaba.ttl.TransmittableThreadLocal; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author DongZl - * @description: 线程变量工具类 - * @Date 2022-10-24 下午 04:48 - */ -public class SearchResultUtils { - - private static final String LIST_NAME = "list"; - - private static final String TOTAL_NAME = "total"; - - private static final TransmittableThreadLocal> THREAD_LOCAL = new TransmittableThreadLocal<>(); - - private static Map get(){ - Map map = THREAD_LOCAL.get(); - if (map != null){ - return map; - } - THREAD_LOCAL.set(new HashMap<>()); - return THREAD_LOCAL.get(); - } - - /** - * 获取 集合 - * @return - * @param - */ - public static List getList(){ - return (List) get().get(LIST_NAME); - } - - /** - * 存储List - * @param list - */ - public static void setList(List list){ - get().put(LIST_NAME, list); - } - - /** - * 总条数 - * @return - * @param - */ - public static T getTotal(){ - return (T) get().get(TOTAL_NAME); - } - - /** - * 存储 - * @param total - */ - public static void setTotal(Object total){ - get().put(TOTAL_NAME, total); - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/pom.xml b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/pom.xml index 78b2e4f..5f23e89 100644 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/pom.xml +++ b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/pom.xml @@ -127,6 +127,10 @@ junit junit + + com.ruoyi + ruoyi-mall-search-remote + diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/RuoYiMallSearchApplication.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/RuoYiMallSearchApplication.java deleted file mode 100644 index d5f1e17..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/RuoYiMallSearchApplication.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.ruoyi.mall.search; - -import com.ruoyi.common.security.annotation.EnableCustomConfig; -import com.ruoyi.common.security.annotation.EnableRyFeignClients; -import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2; -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; - -/** - * @author DongZl - * @description: 搜索服务启动类 - * @Date 2022-10-14 上午 10:22 - */ -@EnableCustomConfig -@EnableCustomSwagger2 -@EnableRyFeignClients -@SpringBootApplication -@ComponentScan( value = "com.ruoyi.common") -@Slf4j -public class RuoYiMallSearchApplication { - - public static void main(String[] args) { - SpringApplication.run(RuoYiMallSearchApplication.class, args); - log.info("(♥◠‿◠)ノ゙ 商城 - 搜索模块启动成功 ლ(´ڡ`ლ)゙ "); - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/controller/SearchController.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/controller/SearchController.java deleted file mode 100644 index 6705583..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/controller/SearchController.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.ruoyi.mall.search.controller; - -import com.alibaba.fastjson2.JSONObject; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import com.ruoyi.mall.search.domain.request.SearchReq; -import com.ruoyi.mall.search.service.SearchService; -import com.ruoyi.mall.search.utils.SearchResultUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import java.util.List; - -/** - * @author DongZl - * @description: 搜索控制层 - * @Date 2022-10-24 下午 02:54 - */ -@Controller -@RequestMapping("/search") -public class SearchController { - - private final static Logger log = LoggerFactory.getLogger(SearchController.class); - - @Autowired - private SearchService searchService; - - /** - * 1、查询到数据 - * 2、指定模板 - * 3、渲染模板 - * 4、返回页面 - * - * @param searchReq - * @param model - * @return - */ - @GetMapping - public String search(SearchReq searchReq, Model model){ - log.info("搜索:[{}]", JSONObject.toJSONString(searchReq)); - if (StringUtils.isEmpty(searchReq.getKeyWord())){ - return "search"; - } - - searchService.search(searchReq); - - List list = SearchResultUtils.getList(); - Long total = SearchResultUtils.getTotal(); - log.info(JSONObject.toJSONString(list)); - model.addAttribute("dataList", list); - model.addAttribute("total", total); - model.addAttribute("searchReq",searchReq); - return "search"; - } - - @GetMapping("/suggestion") - public R suggestion(@RequestParam String keyWord){ - return R.ok(searchService.suggestion(keyWord)); - } - - -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/controller/TestController.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/controller/TestController.java deleted file mode 100644 index 8053ea6..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/controller/TestController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.ruoyi.mall.search.controller; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.mall.product.cache.ProductInfoCache; -import com.ruoyi.mall.product.domain.reponse.ProductDetailsResponse; -import com.ruoyi.mall.search.es.config.EsConfig; -import com.ruoyi.mall.search.sync.ShopItemSync; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; - -/** - * @author DongZl - * @description: 测试 - * @Date 2022-10-14 上午 11:17 - */ -@Controller -@RequestMapping("/test") -public class TestController { - - @Autowired - private ShopItemSync sync; - - @Autowired - private ProductInfoCache productInfoCache; - - @GetMapping - @ResponseBody - private R test(){ - sync.productSync(); - return R.ok(); - } - @GetMapping("/{id}") - @ResponseBody - private R get(@PathVariable Long id){ - ProductDetailsResponse productDetailsResponse = productInfoCache.get(id); - return R.ok(productDetailsResponse); - } - @GetMapping("/refreshData/{id}") - @ResponseBody - private R refreshData(@PathVariable Long id){ - return R.ok(productInfoCache.refreshData(id)); - } - - @GetMapping("/index") - public String index(Model model){ - model.addAttribute("test","你好"); - return "index"; - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/config/EsAddressConfig.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/config/EsAddressConfig.java deleted file mode 100644 index 52069b6..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/config/EsAddressConfig.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.ruoyi.mall.search.es.config; - -/** - * @author DongZl - * @description: Es连接地址 - * @Date 2022-10-14 下午 01:45 - */ -public class EsAddressConfig { - - private String host; - - private int port; - - public String getHost () { - return host; - } - - public void setHost (String host) { - this.host = host; - } - - public int getPort () { - return port; - } - - public void setPort (int port) { - this.port = port; - } - - @Override - public String toString () { - return "EsConfig{" + - "host='" + host + '\'' + - ", port=" + port + - '}'; - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/config/EsConfig.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/config/EsConfig.java deleted file mode 100644 index 4939e59..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/config/EsConfig.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.ruoyi.mall.search.es.config; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -/** - * @author DongZl - * @description: es配置 - * @Date 2022-10-14 上午 11:15 - */ -@ConfigurationProperties( - prefix = "es" -) -@Configuration -public class EsConfig implements Serializable { - - private List addressList = null; - - public List getAddressList () { - return addressList; - } - - public void setAddressList (List addressList) { - this.addressList = addressList; - } - - @Override - public String toString () { - return "EsConfig{" + - "addressList=" + addressList + - '}'; - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/instance/EsInstance.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/instance/EsInstance.java deleted file mode 100644 index fa05a1f..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/instance/EsInstance.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.ruoyi.mall.search.es.instance; - -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.mall.search.es.config.EsAddressConfig; -import com.ruoyi.mall.search.es.config.EsConfig; -import org.apache.http.HttpHost; -import org.elasticsearch.action.delete.DeleteRequest; -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.client.RestClient; -import org.elasticsearch.client.RestHighLevelClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; -import java.util.List; - -/** - * @author DongZl - * @description: Es实例化对象 - * @Date 2022-10-14 上午 11:26 - */ -@Component -public class EsInstance { - private static final Logger log = LoggerFactory.getLogger(EsInstance.class); - - /** - * ES实例对象 - */ - private RestHighLevelClient client = null; - - private EsConfig esConfig; - - public EsInstance (EsConfig esConfig) { - this.esConfig = esConfig; - } - - @PostConstruct - public void init(){ - long startTime = System.currentTimeMillis(); - try { - log.info("Es初始开始"); - List addressList = this.esConfig.getAddressList(); - int hostSize = addressList.size(); - HttpHost[] httpHosts = new HttpHost[hostSize]; - for (int index = 0 ; index < hostSize ; index ++) { - EsAddressConfig esAddressConfig = addressList.get(index); - log.info("实例化Es客户端程序地址:[{}],端口:[{}]", - esAddressConfig.getHost(), - esAddressConfig.getPort()); - httpHosts[index] = new HttpHost(esAddressConfig.getHost(), - esAddressConfig.getPort(), - "http"); - } - client = new RestHighLevelClient( - RestClient.builder(httpHosts)); - log.info("Es初始化成功 耗时:[{}MS]", System.currentTimeMillis() - startTime); - }catch (Exception e){ - log.error("Es初始化失败", e); - // 阻止程序启动 - throw e; - } - } - - public RestHighLevelClient getClient () { - return client; - } - - /** - * 获取索引操作对象 - * @param index - * @return 索引操作对象 - */ - public IndexRequest indexRequestBuilder(String index){ - if (StringUtils.isEmpty(index)){ - throw new ServiceException("Es 索引不可以为空"); - } - return new IndexRequest(index); - } - - /** - * 获取索引操作对象 - * @param index - * @return - */ - public DeleteRequest DeleteRequestBuilder(String index){ - if (StringUtils.isEmpty(index)){ - throw new ServiceException("Es 索引不可以为空"); - } - return new DeleteRequest(index); - } - - /** - * 索引搜索对象 - * @param index - * @return - */ - public SearchRequest SearchRequestBuilder(String index){ - if (StringUtils.isEmpty(index)){ - throw new ServiceException("Es 索引不可以为空"); - } - return new SearchRequest(index); - } - -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/service/EsDataService.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/service/EsDataService.java deleted file mode 100644 index 1a5f346..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/service/EsDataService.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.ruoyi.mall.search.es.service; - -import com.alibaba.fastjson.serializer.SerializerFeature; -import com.alibaba.fastjson2.JSONObject; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.reflect.ReflectUtils; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import com.ruoyi.mall.search.es.instance.EsInstance; -import org.elasticsearch.action.DocWriteResponse; -import org.elasticsearch.action.bulk.BulkItemResponse; -import org.elasticsearch.action.bulk.BulkRequest; -import org.elasticsearch.action.bulk.BulkResponse; -import org.elasticsearch.action.delete.DeleteRequest; -import org.elasticsearch.action.delete.DeleteResponse; -import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.action.update.UpdateResponse; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.rest.RestStatus; -import org.elasticsearch.xcontent.XContentType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.util.List; - -/** - * @author DongZl - * @description: Es操作数据 - * @Date 2022-10-14 下午 02:09 - */ -@Service -public class EsDataService { - - private static final Logger log = LoggerFactory.getLogger(EsDataService.class); - - - private final EsInstance clientInstance; - - public EsDataService (EsInstance clientInstance) { - this.clientInstance = clientInstance; - } - - /** - * 商品搜索 - * 1、索引的类型、结构 - * 2、同步数据(全量、增量) - * 3、搜索方式 - * 4、数据维护 - */ - /** - * 进行添加数据 - * @param index 索引 - * @param dataJson 数据json - * @return - */ - public boolean insertOrUpdate(String index , ProductInfoResponse dataJson){ - JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(dataJson)); - jsonObject.put("createTime", dataJson.getCreateTime().getTime()); - IndexRequest indexRequest = clientInstance.indexRequestBuilder(index).source( - jsonObject.toJSONString(), - XContentType.JSON - ); - try { - IndexResponse indexResponse = clientInstance.getClient().index( - indexRequest, RequestOptions.DEFAULT - ); - RestStatus status = indexResponse.status(); - if (status.getStatus() == RestStatus.OK.getStatus()){ - return true; - } - } catch (IOException e) { - log.info("索引数据添加异常:[{},{}]",index,dataJson); - throw new ServiceException(e.getMessage()); - } - return false; - } - - /** - * 批量数据 - * @param index - * @param dataList - * @return - */ - public boolean bulkInsertOrUpdate(String index , List dataList){ - BulkRequest bulkRequest = new BulkRequest(); - dataList.forEach( data -> bulkRequest.add( - clientInstance.indexRequestBuilder(index).source( - JSONObject.toJSONString(data), - XContentType.JSON - ).id(ReflectUtils.invokeGetter(data,"id").toString()) - )); - try { - BulkResponse bulkItemResponses = - clientInstance.getClient().bulk(bulkRequest, RequestOptions.DEFAULT); - BulkItemResponse[] bulkResponse = bulkItemResponses.getItems(); - for (BulkItemResponse bulkItemResponse : bulkResponse) { - DocWriteResponse itemResponse = bulkItemResponse.getResponse(); - switch (bulkItemResponse.getOpType()) { - case INDEX: - case CREATE: - IndexResponse indexResponse = (IndexResponse) itemResponse; - RestStatus createStatus = indexResponse.status(); - if (createStatus.getStatus() != RestStatus.CREATED.getStatus() - && createStatus.getStatus() != RestStatus.OK.getStatus() ){ - log.error("请求失败: 索引:[{}] , itemId:[{}]", - bulkItemResponse.getIndex(), - bulkItemResponse.getItemId()); - } - break; - case UPDATE: - UpdateResponse updateResponse = (UpdateResponse) itemResponse; - RestStatus updateStatus = updateResponse.status(); - if (updateStatus.getStatus() != RestStatus.OK.getStatus()){ - log.error("请求失败: 索引:[{}] , itemId:[{}]", - bulkItemResponse.getIndex(), - bulkItemResponse.getItemId()); - } - break; - case DELETE: - DeleteResponse deleteResponse = (DeleteResponse) itemResponse; - RestStatus deleteStatus = deleteResponse.status(); - if (deleteStatus.getStatus() != RestStatus.OK.getStatus()){ - log.error("请求失败: 索引:[{}] , itemId:[{}]", - bulkItemResponse.getIndex(), - bulkItemResponse.getItemId()); - } - } - } - } catch (IOException e) { - log.info("批量请求异常", e); - throw new ServiceException(e.getMessage()); - } - return true; - } - - /** - * 删除索引 - * @param index - * @param docId - * @return - */ - public boolean deleteByDocId(String index, String docId){ - DeleteRequest deleteRequest = clientInstance.DeleteRequestBuilder(index).id(docId); - try { - DeleteResponse deleteResponse = clientInstance.getClient().delete(deleteRequest, RequestOptions.DEFAULT); - RestStatus status = deleteResponse.status(); - if (status.getStatus() == RestStatus.OK.getStatus()){ - return true; - } - } catch (IOException e) { - log.error("文档删除出现异常 索引:[{}],文档:[{}]", index , docId, e); - throw new ServiceException(e.getMessage()); - } - return false; - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/service/EsIndexService.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/service/EsIndexService.java deleted file mode 100644 index 1e39028..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/es/service/EsIndexService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.ruoyi.mall.search.es.service; - -import org.springframework.stereotype.Service; - -/** - * @author DongZl - * @description: 索引能力 - * @Date 2022-10-14 下午 02:08 - */ -@Service -public class EsIndexService { - /** - * 判断索引是否存在、修改索引、创建索引、删除索引 - */ - -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/QueueConfig.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/QueueConfig.java deleted file mode 100644 index 359289b..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/QueueConfig.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ruoyi.mall.search.rabbit; - -import com.ruoyi.common.rabbit.enums.QueueEnum; -import org.springframework.amqp.core.Queue; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import static com.ruoyi.common.rabbit.enums.QueueEnum.TEST; - -/** - * @author DongZl - * @description: 队列配置 - * @Date 2022-10-21 下午 01:42 - */ -@Configuration -public class QueueConfig { - @Bean - public Queue myQueue() { - return new Queue(TEST.queueName(), true); - } - @Bean - public Queue productAddQueue() { - return new Queue(QueueEnum.PRODUCT_ADD.queueName(), true); - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/RabbitProductMsg.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/RabbitProductMsg.java deleted file mode 100644 index f2058bc..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/RabbitProductMsg.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.ruoyi.mall.search.rabbit; - -import com.ruoyi.common.rabbit.constant.QueueConstant; -import com.ruoyi.common.rabbit.domain.Message; -import com.ruoyi.common.rabbit.enums.QueueEnum; -import com.ruoyi.mall.search.service.SearchService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * @author DongZl - * @description: rabbit商品消息处理 - * @Date 2022-10-21 下午 02:48 - */ -@Component -public class RabbitProductMsg { - - /** - * 日志 - */ - private final static Logger log = LoggerFactory.getLogger(RabbitProductMsg.class); - - @Autowired - private SearchService searchService; - - /** - * 商品新增消息 - * @param message - */ - @RabbitListener( queues = QueueConstant.PRODUCT_ADD) - public void productAdd(Message message){ - log.info("消息队列:[{}],接受到消息:[{}]", QueueEnum.PRODUCT_ADD.queueStr(), - message); - searchService.syncProductInfo(message.getBody()); - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/RabbitTest.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/RabbitTest.java deleted file mode 100644 index 03561e8..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/rabbit/RabbitTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.ruoyi.mall.search.rabbit; - -import com.alibaba.fastjson2.JSONObject; -import com.ruoyi.common.rabbit.constant.QueueConstant; -import com.ruoyi.common.rabbit.domain.Message; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.context.annotation.Configuration; - -/** - * @author DongZl - * @description: rabbit测试 - * @Date 2022-10-21 下午 01:56 - */ -@Configuration -public class RabbitTest { - - /** - * 日志 - */ - private static final Logger log = LoggerFactory.getLogger(RabbitTest.class); - - /** - * 接受测试消息 - * @param msg - */ - @RabbitListener(queues = QueueConstant.TEST_NAME) - public void listen(Message msg) { - log.info(JSONObject.toJSONString(msg)); - } -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/service/SearchService.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/service/SearchService.java deleted file mode 100644 index 497c07f..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/service/SearchService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.mall.search.service; - -import com.ruoyi.mall.search.domain.request.SearchReq; - -/** - * @author DongZl - * @description: 搜索业务层 - * @Date 2022-10-21 下午 02:52 - */ -public interface SearchService { - - /** - * 通过商品ID同步商品信息 - * @param productId - */ - public void syncProductInfo(Long productId); - - void search (SearchReq searchReq); - - - Object suggestion(String keyWord); -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/service/impl/SearchServiceImpl.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/service/impl/SearchServiceImpl.java deleted file mode 100644 index f401206..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/service/impl/SearchServiceImpl.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.ruoyi.mall.search.service.impl; - -import com.alibaba.fastjson2.JSONObject; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.mall.product.domain.reponse.ProductInfoResponse; -import com.ruoyi.mall.product.remote.RemoteProductInfo; -import com.ruoyi.mall.search.domain.request.SearchReq; -import com.ruoyi.mall.search.es.instance.EsInstance; -import com.ruoyi.mall.search.es.service.EsDataService; -import com.ruoyi.mall.search.service.SearchService; -import com.ruoyi.mall.search.utils.SearchResultUtils; -import org.apache.lucene.search.TotalHits; -import org.elasticsearch.action.search.SearchRequest; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.RequestOptions; -import org.elasticsearch.common.text.Text; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.MatchQueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.SearchHits; -import org.elasticsearch.search.builder.SearchSourceBuilder; -import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; -import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * @author DongZl - * @description: 搜索业务实现类 - * @Date 2022-10-21 下午 02:53 - */ -@Service -public class SearchServiceImpl implements SearchService { - - private static final Logger log = LoggerFactory.getLogger(SearchServiceImpl.class); - - @Autowired - private RemoteProductInfo remoteProductInfo; - - @Autowired - private EsDataService esDataService; - - @Autowired - private EsInstance esInstance; - - @Override - public void syncProductInfo (Long productId) { - R resultInfo = remoteProductInfo.getResultInfo(productId); - esDataService.insertOrUpdate("shop_item", resultInfo.getData()); - log.info("商品:[{}]同步完成", productId); - } - - /** - * 搜索 - * - * @param searchReq - */ - @Override - public void search (SearchReq searchReq) { - if (StringUtils.isEmpty(searchReq.getKeyWord())){ - throw new ServiceException("搜索参数不可以为空"); - } - - SearchRequest searchRequest = esInstance.SearchRequestBuilder("shop_item"); - SearchSourceBuilder searchSourceBuilder = SearchSourceBuilder.searchSource(); - BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); - // 商品名称搜索 - MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery( - "name", searchReq.getKeyWord() - ); - boolQueryBuilder.must(matchQueryBuilder); - // 分页 - searchSourceBuilder.from((searchReq.getPageNum() - 1) * searchReq.getPageSize()); - searchSourceBuilder.size(searchReq.getPageSize()); - - searchSourceBuilder.query(boolQueryBuilder); - - HighlightBuilder highlightBuilder = new HighlightBuilder(); - highlightBuilder.field("name"); - highlightBuilder.preTags(""); - highlightBuilder.postTags(""); - searchSourceBuilder.highlighter(highlightBuilder); - searchRequest.source(searchSourceBuilder); - try { - SearchResponse searchResponse = esInstance.getClient().search(searchRequest, RequestOptions.DEFAULT); - SearchHits searchResponseHits = searchResponse.getHits(); - TotalHits totalHits = searchResponseHits.getTotalHits(); - // 若未查询到数量结果,直接进行返回 - if (totalHits.value != 0){ - SearchResultUtils.setTotal(totalHits.value); - } - List productInfoResponseList = new ArrayList<>(); - SearchHit[] searchHits = searchResponseHits.getHits(); - for (SearchHit searchHit : searchHits) { - // 源数据 - String sourceAsString = searchHit.getSourceAsString(); - ProductInfoResponse productInfoResponse = - JSONObject.parseObject(sourceAsString, ProductInfoResponse.class); - // 高亮 - Map highlightFields = - searchHit.getHighlightFields(); - if (highlightFields != null){ - HighlightField highlightField = highlightFields.get("name"); - if (highlightField != null){ - // 拼装 - Text[] fragments = highlightField.getFragments(); - StringBuilder sb = new StringBuilder(); - for (Text fragment : fragments) { - sb.append(fragment); - } - productInfoResponse.setName(sb.toString()); - } - } - productInfoResponseList.add(productInfoResponse); - } - SearchResultUtils.setList(productInfoResponseList); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public Object suggestion(String keyWord) { - return null; - } - - -} diff --git a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/sync/ShopItemSync.java b/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/sync/ShopItemSync.java deleted file mode 100644 index 0eeb94e..0000000 --- a/ruoyi-mall/ruoyi-mall-search/ruoyi-mall-search-server/src/main/java/com/ruoyi/mall/search/sync/ShopItemSync.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.ruoyi.mall.search.sync; - -import com.alibaba.fastjson2.JSONObject; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.mall.product.domain.MallProductInfo; -import com.ruoyi.mall.product.remote.RemoteProductInfo; -import com.ruoyi.mall.search.domain.ProductSearch; -import com.ruoyi.mall.search.es.service.EsDataService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author DongZl - * @description: 商品信息同步 - * @Date 2022-10-15 上午 08:32 - */ -@Component -public class ShopItemSync { - private static final Logger log = LoggerFactory.getLogger(ShopItemSync.class); - - private static int syncSize = 10; - - @Autowired - private RemoteProductInfo remoteProductInfo; - - @Autowired - private EsDataService esDataService; - - /** - * 同步商品信息 - */ - public void productSync(){ - long startTime = System.currentTimeMillis(); - log.info("商品搜索同步开始"); - // 获取商品总条数 - R resultCount = remoteProductInfo.count("内部请求",new MallProductInfo()); - log.info("远程调用商品总数结果:{}", JSONObject.toJSONString(resultCount)); - if (resultCount.isError()){ - log.error("查询商品总数失败,错误信息:{}",resultCount.getMsg()); - throw new ServiceException(StringUtils.format("查询商品总数失败,错误信息:{}",resultCount.getMsg())); - } - Long productCount = resultCount.getData(); - // 计算分页条数 - int productPage = (int) ((productCount / syncSize) + (productCount % syncSize == 0 ? 0 : 1)); - log.info("商品分段调用,分段条数:[{}]", productPage); - for (int productIndex = 0 ; productIndex < productPage ; productIndex++) { - log.info("第{}段同步开始", productIndex + 1); - MallProductInfo mallProductInfo = new MallProductInfo(); - TableDataInfo tableDataInfo = remoteProductInfo.syncList(syncSize, productIndex + 1, mallProductInfo); - List productSearchList = new ArrayList<>(); - List rows = tableDataInfo.getRows(); - for (Object row : rows) { - productSearchList.add(JSONObject.parseObject(JSONObject.toJSONString(row), ProductSearch.class)); - } - esDataService.bulkInsertOrUpdate("shop_item",productSearchList); - log.info("第{}段同步结束", productIndex + 1); - } - log.info("商品同步完成,耗时:[{}MS]", System.currentTimeMillis() - startTime); - } - -} diff --git a/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-common/src/main/java/com/ruoyi/mall/user/domain/CusUser.java b/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-common/src/main/java/com/ruoyi/mall/user/domain/CusUser.java index ebb45fb..09a9f2f 100644 --- a/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-common/src/main/java/com/ruoyi/mall/user/domain/CusUser.java +++ b/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-common/src/main/java/com/ruoyi/mall/user/domain/CusUser.java @@ -6,13 +6,6 @@ import lombok.Data; import java.util.Date; -/** - * @Author:sheyudie - * @Package:com.bawei.mall.user.domain - * @Project:mall_cloud - * @name:CusUser - * @Date:2024/6/27 15:31 - */ @ApiModel(description = "C端用户表") @Data public class CusUser { diff --git a/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/UserService.java b/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/UserService.java index e637f5d..ce78034 100644 --- a/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/UserService.java +++ b/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/UserService.java @@ -4,7 +4,7 @@ import com.ruoyi.mall.user.domain.CusUser; /** * @Author:sheyudie - * @Package:com.bawei.mall.user.service + * @Package:com.ruoyi.mall.user.service * @Project:mall_cloud * @name:UserService * @Date:2024/6/27 15:28 diff --git a/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/impl/UserServiceImpl.java b/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/impl/UserServiceImpl.java index c8b9f37..0d9ac63 100644 --- a/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/impl/UserServiceImpl.java +++ b/ruoyi-mall/ruoyi-mall-user/ruoyi-mall-user-service/src/main/java/com/ruoyi/mall/user/service/impl/UserServiceImpl.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Service; /** * @Author:sheyudie - * @Package:com.bawei.mall.user.service.impl + * @Package:com.ruoyi.mall.user.service.impl * @Project:mall_cloud * @name:UserServiceImpl * @Date:2024/6/27 15:28