提交 ed39f37c authored 作者: zgy's avatar zgy

完成各级商品分类查询子类目,商品收藏,查看收藏接口等

上级 42803220
package com.diaoyun.zion.chinafrica.controller;
import autovalue.shaded.org.objectweb$.asm.$ClassReader;
import com.diaoyun.zion.chinafrica.entity.TbCfStationItemEntity;
import com.diaoyun.zion.chinafrica.service.TbCfStationItemService;
import com.diaoyun.zion.master.base.Result;
......@@ -88,4 +89,71 @@ public class TbCfStationItemController {
return tbCfStationItemService.searchItems(name);
}
/**
* 查询一级分类的二级类目
*
* @param categoryId
* @return
*/
@ApiOperation("查询一级分类的二级类目")
@GetMapping("/queryCategoryTwoByCid/{categoryId}")
public Result queryCategoryTwoByCid(@ApiParam(value = "一级分类ID") @PathVariable("categoryId") String categoryId) {
return tbCfStationItemService.queryCategoryTwoByCid(categoryId);
}
/**
* 查询二级分类下的品名
*
* @param categoryTwoId
* @return
*/
@ApiOperation("查询二级分类下的品名")
@GetMapping("/queryDescriptionByCTwoId/{categoryTwoId}")
public Result queryDescriptionByCTwoId(@ApiParam(value = "二级分类ID") @PathVariable("categoryTwoId") String categoryTwoId) {
return tbCfStationItemService.queryDescriptionByCTwoId(categoryTwoId);
}
/**
* 通过品名查询商品
*
* @param descriptionId
* @return
*/
@ApiOperation("通过品名查询商品")
@GetMapping("/queryItemByDescription/{descriptionId}")
public Result queryItemByDescription(@ApiParam(value = "二级分类ID") @PathVariable("descriptionId") String descriptionId) {
return tbCfStationItemService.queryItemByDescription(descriptionId);
}
/**
* 商品收藏
*
* @param userId
* @param itemId
* @return
*/
@ApiOperation("商品收藏")
@GetMapping("/itemCollection/{userId}/{itemId}")
public Result itemCollection(@ApiParam(value = "用户ID") @PathVariable("userId") String userId,
@ApiParam(value = "商品ID") @PathVariable("itemId") String itemId) {
return tbCfStationItemService.itemCollection(userId, itemId);
}
/**
* 用户的收藏商品
*
* @param userId
* @return
*/
@ApiOperation("用户的收藏商品")
@GetMapping("/queryCollectionByUserId/{userId}")
public Result queryCollectionByUserId(@ApiParam(value = "用户ID") @PathVariable("userId") String userId) {
return tbCfStationItemService.queryCollectionByUserId(userId);
}
}
package com.diaoyun.zion.chinafrica.dao;
import com.diaoyun.zion.chinafrica.entity.TbCfDescripitonEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfGoodstwotypeEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity;
import com.diaoyun.zion.master.dao.BaseDao;
import java.util.List;
/**
* Dao
*
......@@ -11,4 +15,8 @@ import com.diaoyun.zion.master.dao.BaseDao;
*/
public interface TbCfGoodstypeDao extends BaseDao<TbCfGoodstypeEntity> {
List<TbCfGoodstwotypeEntity> queryCategoryTwo(String cid);
List<TbCfDescripitonEntity> queryDescription(String ctwoid);
}
package com.diaoyun.zion.chinafrica.dao;
import com.diaoyun.zion.chinafrica.entity.TbCfItemCollectionEntity;
import com.diaoyun.zion.master.dao.BaseDao;
import java.util.List;
/**
* Dao
*
* @author lipengjun
* @date 2019-12-31 12:09:48
*/
public interface TbCfItemCollectionDao extends BaseDao<TbCfItemCollectionEntity> {
List<String> queryCollectionByUserId(String userId);
}
......@@ -29,7 +29,20 @@ public interface TbCfStationItemDao extends BaseDao<TbCfStationItemEntity> {
*/
List<TbCfStationItemEntity> getGoodsTypeList(String categoryId);
/**
* 搜索商品
*
* @param name
* @return
*/
List<TbCfStationItemEntity> searchItems(String name);
/**
* 根据品名查询商品
*
* @param descriptionId
* @return
*/
List<TbCfStationItemEntity> queryItemByDescription(String descriptionId);
}
package com.diaoyun.zion.chinafrica.entity;
import java.io.Serializable;
/**
* 实体
* 表名 tb_cf_descripiton
*
* @author lipengjun
* @date 2019-10-16 11:32:22
*/
public class TbCfDescripitonEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 品名Id
*/
private String descripitionId;
/**
* 品名名字
*/
private String descripitionName;
/**
* 海关编码
*/
private String descripitionCode;
/**
* 一级分类Id
*/
private String goodstypeId;
/**
* 二级分类Id
*/
private String goodstwotypeId;
/**
* 设置:品名Id
*/
public void setDescripitionId(String descripitionId) {
this.descripitionId = descripitionId;
}
/**
* 获取:品名Id
*/
public String getDescripitionId() {
return descripitionId;
}
/**
* 设置:品名名字
*/
public void setDescripitionName(String descripitionName) {
this.descripitionName = descripitionName;
}
/**
* 获取:品名名字
*/
public String getDescripitionName() {
return descripitionName;
}
/**
* 设置:海关编码
*/
public void setDescripitionCode(String descripitionCode) {
this.descripitionCode = descripitionCode;
}
/**
* 获取:海关编码
*/
public String getDescripitionCode() {
return descripitionCode;
}
/**
* 设置:一级分类Id
*/
public void setGoodstypeId(String goodstypeId) {
this.goodstypeId = goodstypeId;
}
/**
* 获取:一级分类Id
*/
public String getGoodstypeId() {
return goodstypeId;
}
/**
* 设置:二级分类Id
*/
public void setGoodstwotypeId(String goodstwotypeId) {
this.goodstwotypeId = goodstwotypeId;
}
/**
* 获取:二级分类Id
*/
public String getGoodstwotypeId() {
return goodstwotypeId;
}
}
package com.diaoyun.zion.chinafrica.entity;
import java.io.Serializable;
/**
* 实体
* 表名 tb_cf_goodstwotype
*
* @author lipengjun
* @date 2019-10-15 15:06:31
*/
public class TbCfGoodstwotypeEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 商品二级分类Id
*/
private String goodstwotypeId;
/**
* 商品二级分类标题
*/
private String goodstwotypeTitle;
/**
* 商品一级分类id
*/
private String goodstypeId;
/**
* 设置:商品二级分类Id
*/
public void setGoodstwotypeId(String goodstwotypeId) {
this.goodstwotypeId = goodstwotypeId;
}
/**
* 获取:商品二级分类Id
*/
public String getGoodstwotypeId() {
return goodstwotypeId;
}
/**
* 设置:商品二级分类标题
*/
public void setGoodstwotypeTitle(String goodstwotypeTitle) {
this.goodstwotypeTitle = goodstwotypeTitle;
}
/**
* 获取:商品二级分类标题
*/
public String getGoodstwotypeTitle() {
return goodstwotypeTitle;
}
/**
* 设置:商品一级分类id
*/
public void setGoodstypeId(String goodstypeId) {
this.goodstypeId = goodstypeId;
}
/**
* 获取:商品一级分类id
*/
public String getGoodstypeId() {
return goodstypeId;
}
}
package com.diaoyun.zion.chinafrica.entity;
import java.io.Serializable;
import java.util.Date;
/**
* 实体
* 表名 tb_cf_item_collection
*
* @author lipengjun
* @date 2019-12-31 12:09:48
*/
public class TbCfItemCollectionEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 用户
*/
private String userId;
/**
* 商品
*/
private String itemId;
/**
* 删除
*/
private Integer delFlag;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 设置:ID
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取:ID
*/
public String getId() {
return id;
}
/**
* 设置:用户
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* 获取:用户
*/
public String getUserId() {
return userId;
}
/**
* 设置:商品
*/
public void setItemId(String itemId) {
this.itemId = itemId;
}
/**
* 获取:商品
*/
public String getItemId() {
return itemId;
}
/**
* 设置:删除
*/
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
/**
* 获取:删除
*/
public Integer getDelFlag() {
return delFlag;
}
/**
* 设置:创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取:创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置:更新时间
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
/**
* 获取:更新时间
*/
public Date getUpdateTime() {
return updateTime;
}
}
......@@ -75,6 +75,16 @@ public class TbCfStationItemEntity implements Serializable {
*/
private String itemDescritionId;
private Long itemCollectionNum;
public Long getItemCollectionNum() {
return itemCollectionNum;
}
public void setItemCollectionNum(Long itemCollectionNum) {
this.itemCollectionNum = itemCollectionNum;
}
/**
* 设置:商品id
*/
......@@ -179,6 +189,8 @@ public class TbCfStationItemEntity implements Serializable {
public String getItemImg() {
return itemImg;
}
/**
* 设置:浏览人数
*/
......
......@@ -111,4 +111,46 @@ public interface TbCfStationItemService {
* @return
*/
Result searchItems(String name);
/**
* 查询一级分类的二级类目
*
* @param categoryId
* @return
*/
Result queryCategoryTwoByCid(String categoryId);
/**
* 查询二级分类下的品名
*
* @param categoryTwoId
* @return
*/
Result queryDescriptionByCTwoId(String categoryTwoId);
/**
* 通过品名查询商品
*
* @param descriptionId
* @return
*/
Result queryItemByDescription(String descriptionId);
/**
* 商品收藏
*
* @param userId
* @param itemId
* @return
*/
Result itemCollection(String userId, String itemId);
/**
* 用户收藏的商品
*
* @param userId
* @return
*/
Result queryCollectionByUserId(String userId);
}
package com.diaoyun.zion.chinafrica.service.impl;
import com.diaoyun.zion.chinafrica.dao.TbCfGoodstypeDao;
import com.diaoyun.zion.chinafrica.dao.TbCfItemDescDao;
import com.diaoyun.zion.chinafrica.dao.TbCfItemSkusDao;
import com.diaoyun.zion.chinafrica.dao.TbCfStationItemDao;
import com.diaoyun.zion.chinafrica.dao.*;
import com.diaoyun.zion.chinafrica.entity.*;
import com.diaoyun.zion.chinafrica.service.TbCfStationItemService;
import com.diaoyun.zion.master.base.Result;
......@@ -15,10 +12,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.github.pagehelper.page.PageMethod.startPage;
......@@ -41,6 +35,9 @@ public class TbCfStationItemServiceImpl implements TbCfStationItemService {
@Autowired
private TbCfItemSkusDao tbCfItemSkusDao;
@Autowired
private TbCfItemCollectionDao tbCfItemCollectionDao;
@Override
public TbCfStationItemEntity queryObject(String itemId) {
return tbCfStationItemDao.queryObject(itemId);
......@@ -173,10 +170,6 @@ public class TbCfStationItemServiceImpl implements TbCfStationItemService {
public Result searchItems(String name) {
Result result = new Result();
try {
if (StringUtils.isBlank(name)) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage("Search keywords cannot be empty!");
return result;
}
List<TbCfStationItemEntity> itemList = tbCfStationItemDao.searchItems(name.trim());
result.setData(itemList).setMessage(ResultCodeEnum.SUCCESS.getDesc());
} catch (Exception e) {
......@@ -185,4 +178,118 @@ public class TbCfStationItemServiceImpl implements TbCfStationItemService {
return result;
}
/**
* 查询一级分类的二级类目
*
* @param categoryId
* @return
*/
@Override
public Result queryCategoryTwoByCid(String categoryId) {
Result result = new Result();
try {
List<TbCfGoodstwotypeEntity> categoryTwoList = tbCfGoodstypeDao.queryCategoryTwo(categoryId);
result.setData(categoryTwoList).setMessage(ResultCodeEnum.SUCCESS.getDesc());
} catch (Exception e) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage(ResultCodeEnum.QUERY_ERROR.getDesc());
}
return result;
}
/**
* 查询二级分类下的品名
*
* @param categoryTwoId
* @return
*/
@Override
public Result queryDescriptionByCTwoId(String categoryTwoId) {
Result result = new Result();
try {
List<TbCfDescripitonEntity> descriptionList = tbCfGoodstypeDao.queryDescription(categoryTwoId);
result.setData(descriptionList).setMessage(ResultCodeEnum.SUCCESS.getDesc());
} catch (Exception e) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage(ResultCodeEnum.QUERY_ERROR.getDesc());
}
return result;
}
/**
* 通过品名查询商品
*
* @param descriptionId
* @return
*/
@Override
public Result queryItemByDescription(String descriptionId) {
Result result = new Result();
try {
List<TbCfStationItemEntity> itemList = tbCfStationItemDao.queryItemByDescription(descriptionId);
result.setData(itemList).setMessage(ResultCodeEnum.SUCCESS.getDesc());
} catch (Exception e) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage(ResultCodeEnum.QUERY_ERROR.getDesc());
}
return result;
}
/**
* 商品收藏
*
* @param userId
* @param itemId
* @return
*/
@Override
public Result itemCollection(String userId, String itemId) {
Result result = new Result();
try {
TbCfStationItemEntity item = tbCfStationItemDao.queryObject(itemId);
if (item != null) {
Long count = item.getItemCollectionNum();
if (null == count) {
count = 0L;
}
item.setItemCollectionNum(++count);
tbCfStationItemDao.update(item);
}
TbCfItemCollectionEntity collectionEntity = new TbCfItemCollectionEntity();
collectionEntity.setId(IdUtil.createIdbyUUID());
collectionEntity.setUserId(userId);
collectionEntity.setItemId(itemId);
collectionEntity.setDelFlag(1);
collectionEntity.setCreateTime(new Date());
collectionEntity.setUpdateTime(new Date());
tbCfItemCollectionDao.save(collectionEntity);
result.setMessage("Collection of success!");
} catch (Exception e) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage(ResultCodeEnum.QUERY_ERROR.getDesc());
}
return result;
}
/**
* 用户收藏的商品
*
* @param userId
* @return
*/
@Override
public Result queryCollectionByUserId(String userId) {
Result result = new Result();
Map<String, Object> map = new HashMap<>();
try {
List<String> itemIds = tbCfItemCollectionDao.queryCollectionByUserId(userId);
List<TbCfStationItemEntity> itemList = new ArrayList<>();
for (String item : itemIds) {
TbCfStationItemEntity itemEntity = tbCfStationItemDao.queryObject(item);
itemList.add(itemEntity);
}
map.put("collectionItems", itemList);
result.setData(map).setMessage(ResultCodeEnum.SUCCESS.getDesc());
} catch (Exception e) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage(ResultCodeEnum.QUERY_ERROR.getDesc());
}
return result;
}
}
......@@ -10,7 +10,7 @@
<result property="goodstypeUrl" column="goodstype_url"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
select
`goodstype_id`,
`goodstype_title`,
......@@ -20,39 +20,39 @@
where goodstype_id = #{id}
</select>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
select
`goodstype_id`,
`goodstype_title`,
`goodstype_sort`,
`goodstype_url`
from tb_cf_goodstype
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
select
`goodstype_id`,
`goodstype_title`,
`goodstype_sort`,
`goodstype_url`
from tb_cf_goodstype
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
<otherwise>
order by goodstype_sort asc
</otherwise>
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_goodstype
WHERE 1=1
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_goodstype
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
insert into tb_cf_goodstype(
`goodstype_id`,
`goodstype_title`,
......@@ -64,26 +64,31 @@
#{goodstypeSort},
#{goodstypeUrl})
</insert>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
update tb_cf_goodstype
<set>
<if test="goodstypeTitle != null">`goodstype_title` = #{goodstypeTitle}, </if>
<if test="goodstypeSort != null">`goodstype_sort` = #{goodstypeSort}</if>
<if test="goodstypeUrl != null">`goodstype_url` = #{goodstypeUrl}</if>
</set>
where goodstype_id = #{goodstypeId}
</update>
<delete id="delete">
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstypeEntity">
update tb_cf_goodstype
<set>
<if test="goodstypeTitle != null">`goodstype_title` = #{goodstypeTitle},</if>
<if test="goodstypeSort != null">`goodstype_sort` = #{goodstypeSort}</if>
<if test="goodstypeUrl != null">`goodstype_url` = #{goodstypeUrl}</if>
</set>
where goodstype_id = #{goodstypeId}
</update>
<delete id="delete">
delete from tb_cf_goodstype where goodstype_id = #{value}
</delete>
<delete id="deleteBatch">
delete from tb_cf_goodstype where goodstype_id in
<foreach item="goodstypeId" collection="array" open="(" separator="," close=")">
#{goodstypeId}
</foreach>
</delete>
<delete id="deleteBatch">
delete from tb_cf_goodstype where goodstype_id in
<foreach item="goodstypeId" collection="array" open="(" separator="," close=")">
#{goodstypeId}
</foreach>
</delete>
<select id="queryCategoryTwo" resultType="com.diaoyun.zion.chinafrica.entity.TbCfGoodstwotypeEntity">
select * from tb_cf_goodstwotype where goodstype_id=#{cid}
</select>
<select id="queryDescription" resultType="com.diaoyun.zion.chinafrica.entity.TbCfDescripitonEntity">
select * from tb_cf_descripiton where goodstwotype_id=#{ctwoid}
</select>
</mapper>
\ No newline at end of file
<?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.diaoyun.zion.chinafrica.dao.TbCfItemCollectionDao">
<resultMap type="com.diaoyun.zion.chinafrica.entity.TbCfItemCollectionEntity" id="tbCfItemCollectionMap">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="itemId" column="item_id"/>
<result property="delFlag" column="del_flag"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemCollectionEntity">
select
`id`,
`user_id`,
`item_id`,
`del_flag`,
`create_time`,
`update_time`
from tb_cf_item_collection
where id = #{id}
</select>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemCollectionEntity">
select
`id`,
`user_id`,
`item_id`,
`del_flag`,
`create_time`,
`update_time`
from tb_cf_item_collection
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryCollectionByUserId" resultType="string">
select
item_id
from tb_cf_item_collection
where user_id=#{userId}
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_item_collection
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemCollectionEntity">
insert into tb_cf_item_collection(
`id`,
`user_id`,
`item_id`,
`del_flag`,
`create_time`,
`update_time`)
values(
#{id},
#{userId},
#{itemId},
#{delFlag},
#{createTime},
#{updateTime})
</insert>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemCollectionEntity">
update tb_cf_item_collection
<set>
<if test="userId != null">`user_id` = #{userId},</if>
<if test="itemId != null">`item_id` = #{itemId},</if>
<if test="delFlag != null">`del_flag` = #{delFlag},</if>
<if test="createTime != null">`create_time` = #{createTime},</if>
<if test="updateTime != null">`update_time` = #{updateTime}</if>
</set>
where id = #{id}
</update>
<delete id="delete">
delete from tb_cf_item_collection where id = #{value}
</delete>
<delete id="deleteBatch">
delete from tb_cf_item_collection where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
......@@ -213,5 +213,24 @@
from tb_cf_station_item
where enable_flag=1 and item_category = #{categoryId} order by item_num desc limit 0,4
</select>
<select id="queryItemByDescription" resultType="com.diaoyun.zion.chinafrica.entity.TbCfStationItemEntity">
select
`item_id`,
`item_code`,
`item_name`,
`item_brief`,
`item_category`,
`item_price`,
`item_url`,
`item_img`,
`item_num`,
`platform_code`,
`platform_name`,
`enable_flag`,
`create_time`,
`item_categorytwo`,
`item_descrition_id`
from tb_cf_station_item
where enable_flag=1 and item_descrition_id =#{descritionId}
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论