From 981ab89e118ff058c1a2cae39185fe2c08289c79 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 29 Jun 2021 17:03:09 +0800
Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop
---
gc-shop/src/main/java/com/xzx/gc/shop/dto/GoodsSearchDto.java | 11 +++
gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSearchMapper.java | 14 ++++
gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java | 29 +++++++--
gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java | 3 +
gc-core/src/main/java/com/xzx/gc/entity/ScoreGoodsSearch.java | 28 +++++++++
gc-shop/src/main/resources/mapper/shop/ScoreGoodsSearchMapper.xml | 14 ++++
gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java | 24 +++++++
gc-shop/src/main/java/com/xzx/gc/shop/vo/GoodsSearchVo.java | 20 ++++++
8 files changed, 135 insertions(+), 8 deletions(-)
diff --git a/gc-core/src/main/java/com/xzx/gc/entity/ScoreGoodsSearch.java b/gc-core/src/main/java/com/xzx/gc/entity/ScoreGoodsSearch.java
new file mode 100644
index 0000000..cbf4a91
--- /dev/null
+++ b/gc-core/src/main/java/com/xzx/gc/entity/ScoreGoodsSearch.java
@@ -0,0 +1,28 @@
+package com.xzx.gc.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+@Data
+@Table(name = "xzx_score_goods_search")
+public class ScoreGoodsSearch {
+
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ private Long id;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createdTime;
+
+ private String userId;
+
+ private String contents;
+
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java
index 5689033..4f7147b 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java
@@ -6,16 +6,11 @@
import com.xzx.gc.common.request.BaseController;
import com.xzx.gc.model.JsonResult;
import com.xzx.gc.service.BaseAccountService;
-import com.xzx.gc.shop.dto.AddGoodsOrderDto;
-import com.xzx.gc.shop.dto.XcxGoodsListDto;
-import com.xzx.gc.shop.dto.XcxScoreDetailsDto;
+import com.xzx.gc.shop.dto.*;
import com.xzx.gc.shop.service.GoodsService;
import com.xzx.gc.shop.service.OrderService;
import com.xzx.gc.shop.service.ScoreDetailsService;
-import com.xzx.gc.shop.vo.GoodsCategoryVo;
-import com.xzx.gc.shop.vo.XcxGoodsDetailVo;
-import com.xzx.gc.shop.vo.XcxGoodsListVo;
-import com.xzx.gc.shop.vo.XcxScoreDetailsVo;
+import com.xzx.gc.shop.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
@@ -51,6 +46,8 @@
)
@PostMapping(value = "/goods/goodsList")
public JsonResult<PageInfo<XcxGoodsListVo>> goodsList(@RequestBody XcxGoodsListDto xcxGoodsListDto, HttpServletRequest request) {
+ String userId = getUserId(request);
+ xcxGoodsListDto.setUserId(userId);
return JsonResult.success(goodsService.findGoodsListInPage(xcxGoodsListDto));
}
@@ -63,4 +60,22 @@
return JsonResult.success(goodsService.findGoodsDetails(id));
}
+ @ApiOperation("商品搜索历史记录")
+ @ApiResponses(
+ @ApiResponse(code = 200, message = "success", response = GoodsSearchVo.class)
+ )
+ @PostMapping(value = "/goods/goodsSearch")
+ public JsonResult<List<GoodsSearchVo>> goodsSearch(@RequestBody GoodsSearchDto goodsSearchDto, HttpServletRequest request) {
+ String userId = getUserId(request);
+ goodsSearchDto.setUserId(userId);
+ return JsonResult.success(goodsService.goodsSearch(goodsSearchDto));
+ }
+
+ @ApiOperation("商品搜索历史记录--删除")
+ @PostMapping(value = "/goods/delGoodsSearch/{id}")
+ public Result<String> delGoodsSearch (@PathVariable("id") Long id, HttpServletRequest request) {
+ goodsService.delGoodsSearch(id, getUserId(request));
+ return Result.success();
+ }
+
}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/GoodsSearchDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/GoodsSearchDto.java
new file mode 100644
index 0000000..315ffba
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/GoodsSearchDto.java
@@ -0,0 +1,11 @@
+package com.xzx.gc.shop.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class GoodsSearchDto {
+
+ @ApiModelProperty(hidden = true)
+ private String userId;
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java
index 94f72da..ecd5d62 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxGoodsListDto.java
@@ -32,6 +32,9 @@
@ApiModelProperty(value="每页显示记录数")
private int pageSize=10;
+ @ApiModelProperty(hidden = true)
+ private String userId;
+
@ApiModelProperty(value = "排序 1-综合 2-销量 3-价格")
private int sort = 1;
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSearchMapper.java b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSearchMapper.java
new file mode 100644
index 0000000..44f4713
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsSearchMapper.java
@@ -0,0 +1,14 @@
+package com.xzx.gc.shop.mapper;
+
+import com.xzx.gc.entity.ScoreGoodsSearch;
+import com.xzx.gc.shop.dto.GoodsSearchDto;
+import com.xzx.gc.shop.vo.GoodsSearchVo;
+import com.xzx.gc.util.GcMapper;
+
+import java.util.List;
+
+public interface ScoreGoodsSearchMapper extends GcMapper<ScoreGoodsSearch> {
+
+ List<GoodsSearchVo> goodsSearch(GoodsSearchDto goodsSearchDto);
+
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
index d66a17b..e8c8c03 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
@@ -3,9 +3,11 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageHelper;
@@ -42,6 +44,8 @@
ScoreGoodsImagesMapper scoreGoodsImagesMapper;
@Resource
ScoreGoodsStyleMapper scoreGoodsStyleMapper;
+ @Resource
+ ScoreGoodsSearchMapper scoreGoodsSearchMapper;
@Autowired
private MqUtil mqUtil;
@@ -313,7 +317,13 @@
PageHelper.startPage(xcxGoodsListDto.getPageNo(), xcxGoodsListDto.getPageSize());
List<XcxGoodsListVo> data = scoreGoodsMapper.selectXcxGoodsList(xcxGoodsListDto);
-
+ if(StrUtil.isNotEmpty(xcxGoodsListDto.getName())){
+ ScoreGoodsSearch scoreGoodsSearch = new ScoreGoodsSearch();
+ scoreGoodsSearch.setUserId(xcxGoodsListDto.getUserId());
+ scoreGoodsSearch.setContents(xcxGoodsListDto.getName());
+ scoreGoodsSearch.setCreatedTime(new DateTime());
+ scoreGoodsSearchMapper.insert(scoreGoodsSearch);
+ }
return new PageInfo<>(data);
}
@@ -341,4 +351,16 @@
}
return data;
}
+
+ public List<GoodsSearchVo> goodsSearch(GoodsSearchDto goodsSearchDto) {
+ return scoreGoodsSearchMapper.goodsSearch(goodsSearchDto);
+ }
+
+ public void delGoodsSearch(Long id, String userId) {
+ Example exampleSearch = new Example(ScoreGoodsSearch.class);
+ Example.Criteria criteriaSearch = exampleSearch.createCriteria();
+ criteriaSearch.andEqualTo("id",id);
+ criteriaSearch.andEqualTo("userId",userId);
+ scoreGoodsSearchMapper.deleteByExample(exampleSearch);
+ }
}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/vo/GoodsSearchVo.java b/gc-shop/src/main/java/com/xzx/gc/shop/vo/GoodsSearchVo.java
new file mode 100644
index 0000000..232c297
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/vo/GoodsSearchVo.java
@@ -0,0 +1,20 @@
+package com.xzx.gc.shop.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "GoodsSearchVo", description = "小程序分类接口返回参数类")
+public class GoodsSearchVo {
+
+ private Long id;
+
+ private String userId;
+
+ @ApiModelProperty(value = "内容")
+ private String contents;
+
+ @ApiModelProperty(value = "创建时间")
+ private String createTime;
+}
diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsSearchMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsSearchMapper.xml
new file mode 100644
index 0000000..534851d
--- /dev/null
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsSearchMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xzx.gc.shop.mapper.ScoreGoodsSearchMapper">
+
+ <select id="goodsSearch" resultType="com.xzx.gc.shop.vo.GoodsSearchVo">
+ select a.id id,
+ a.user_id userId,
+ date_format(a.CREATED_TIME,'%Y-%m-%d') createTime,
+ a.contents contents
+ from xzx_score_goods_search a
+ where a.user_id=#{record.userId}
+ </select>
+
+</mapper>
--
Gitblit v1.9.1