Commit be97d966 authored by muhong's avatar muhong

新增修改 小程序相关接口

parent 66317b18
......@@ -5,12 +5,14 @@ import com.wwdz.ch.db.domain.Favorites;
import java.util.List;
public interface FavoritesManager {
int add(Favorites record);
public interface FavoritesDao {
int insert(Favorites record);
int delete(Long id);
int update(Favorites record);
Favorites info(Long id);
List<Favorites> listByUserId(Long userId);
PageInfo<Favorites> pageByUserId(Long userId, int page, int size);
boolean isExisted(Long id, Long userId, String title);
......
......@@ -5,11 +5,12 @@ import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import java.util.List;
public interface FavoritesItemsRelationManager {
int add(FavoritesItemsRelation record);
int batchAdd(List<FavoritesItemsRelation> list);
public interface FavoritesItemsRelationDao {
int insert(FavoritesItemsRelation record);
int batchInsert(List<FavoritesItemsRelation> list);
int deleteByFavoritesId(Long favoritesId, List<Long> favoritesIds);
int deleteByChosen(Long favoritesId, List<Long> itemIds);
List<FavoritesItemsRelation> listByFavoritesId(Long favoritesId, List<Long> favoritesIds);
FavoritesItemsRelation selectByUserIdItemId(Long userId, Long itemId);
PageInfo<FavoritesItemsRelation> pageByFavoritesId(Long favoritesId, int page, int size);
}
......@@ -25,4 +25,6 @@ public interface ItemManager {
Item findStandard(Integer cid);
long countByCid(Integer cid);
int insert(Item item);
}
......@@ -4,6 +4,7 @@ import com.wwdz.ch.db.domain.UserItemsRelation;
import java.util.List;
public interface UserItemsRelationManager {
public interface UserItemsRelationDao {
int insert(UserItemsRelation record);
List<UserItemsRelation> listByUserIds(Long userId, List<Long> userIds);
}
......@@ -5,7 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.wwdz.ch.db.mapper.FavoritesMapper;
import com.wwdz.ch.db.domain.Favorites;
import com.wwdz.ch.db.domain.FavoritesExample;
import com.wwdz.ch.db.dao.FavoritesManager;
import com.wwdz.ch.db.dao.FavoritesDao;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -15,12 +15,12 @@ import java.util.List;
import java.util.Objects;
@Repository
public class FavoritesManagerImpl implements FavoritesManager {
public class FavoritesDaoImpl implements FavoritesDao {
@Autowired
private FavoritesMapper favoritesMapper;
@Override
public int add(Favorites record) {
public int insert(Favorites record) {
return favoritesMapper.insert(record);
}
......@@ -40,7 +40,17 @@ public class FavoritesManagerImpl implements FavoritesManager {
FavoritesExample.Criteria criteria = example.createCriteria();
criteria.andIdEqualTo(id);
criteria.andDeletedEqualTo(false);
return favoritesMapper.selectByPrimaryKey(id);
return favoritesMapper.selectOneByExampleWithBLOBs(example);
}
@Override
public List<Favorites> listByUserId(Long userId) {
FavoritesExample example = new FavoritesExample();
FavoritesExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andDeletedEqualTo(false);
return favoritesMapper.selectByExampleWithBLOBs(example);
}
@Override
......@@ -50,7 +60,7 @@ public class FavoritesManagerImpl implements FavoritesManager {
criteria.andUserIdEqualTo(userId);
criteria.andDeletedEqualTo(false);
PageHelper.startPage(page, size);
List<Favorites> list = favoritesMapper.selectByExample(example);
List<Favorites> list = favoritesMapper.selectByExampleWithBLOBs(example);
return new PageInfo<>(list);
}
......
......@@ -5,7 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.wwdz.ch.db.mapper.FavoritesItemsRelationMapper;
import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.FavoritesItemsRelationExample;
import com.wwdz.ch.db.dao.FavoritesItemsRelationManager;
import com.wwdz.ch.db.dao.FavoritesItemsRelationDao;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -13,16 +13,16 @@ import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class FavoritesItemsRelationManagerImpl implements FavoritesItemsRelationManager {
public class FavoritesItemsRelationDaoImpl implements FavoritesItemsRelationDao {
@Autowired
private FavoritesItemsRelationMapper favoritesItemsRelationMapper;
@Override
public int add(FavoritesItemsRelation record) {
public int insert(FavoritesItemsRelation record) {
return favoritesItemsRelationMapper.insert(record);
}
@Override
public int batchAdd(List<FavoritesItemsRelation> list) {
public int batchInsert(List<FavoritesItemsRelation> list) {
return favoritesItemsRelationMapper.batchInsert(list);
}
@Override
......@@ -49,6 +49,16 @@ public class FavoritesItemsRelationManagerImpl implements FavoritesItemsRelation
JdbcHelper.ifPresent(favoritesIds, criteria::andFavoritesIdIn);
return favoritesItemsRelationMapper.selectByExample(example);
}
@Override
public FavoritesItemsRelation selectByUserIdItemId(Long userId, Long itemId) {
FavoritesItemsRelationExample example = new FavoritesItemsRelationExample();
FavoritesItemsRelationExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andItemIdEqualTo(itemId);
return favoritesItemsRelationMapper.selectOneByExample(example);
}
@Override
public PageInfo<FavoritesItemsRelation> pageByFavoritesId(Long favoritesId, int page, int size) {
FavoritesItemsRelationExample example = new FavoritesItemsRelationExample();
......
......@@ -114,4 +114,9 @@ public class ItemManagerImpl implements ItemManager {
criteria.andIsDeletedEqualTo(false);
return itemMapper.countByExample(example);
}
@Override
public int insert(Item item) {
return itemMapper.insert(item);
}
}
package com.wwdz.ch.db.dao.impl;
import com.wwdz.ch.db.dao.UserItemsRelationDao;
import com.wwdz.ch.db.mapper.UserItemsRelationMapper;
import com.wwdz.ch.db.domain.UserItemsRelation;
import com.wwdz.ch.db.domain.UserItemsRelationExample;
import com.wwdz.ch.db.dao.UserItemsRelationManager;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -11,10 +11,15 @@ import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class UserItemsRelationManagerImpl implements UserItemsRelationManager {
public class UserItemsRelationDaoImpl implements UserItemsRelationDao {
@Autowired
private UserItemsRelationMapper usersItemsRelationMapper;
@Override
public int insert(UserItemsRelation record) {
return usersItemsRelationMapper.insert(record);
}
@Override
public List<UserItemsRelation> listByUserIds(Long userId, List<Long> userIds) {
UserItemsRelationExample example = new UserItemsRelationExample();
......
......@@ -9,7 +9,7 @@ import java.util.Date;
/**
* @author shiyu
* @date 2023/07/21
* @date 2023/07/25
*/
@Data
public class Favorites implements Serializable {
......@@ -48,6 +48,11 @@ public class Favorites implements Serializable {
*/
private String description;
/**
* 排序
*/
private Integer sort;
/**
* 创建时间
*/
......@@ -80,6 +85,7 @@ public class Favorites implements Serializable {
sb.append(", userId=").append(userId);
sb.append(", title=").append(title);
sb.append(", description=").append(description);
sb.append(", sort=").append(sort);
sb.append(", addTime=").append(addTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", deleted=").append(deleted);
......@@ -105,6 +111,7 @@ public class Favorites implements Serializable {
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
&& (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
&& (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
&& (this.getSort() == null ? other.getSort() == null : this.getSort().equals(other.getSort()))
&& (this.getAddTime() == null ? other.getAddTime() == null : this.getAddTime().equals(other.getAddTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getDeleted() == null ? other.getDeleted() == null : this.getDeleted().equals(other.getDeleted()))
......@@ -119,6 +126,7 @@ public class Favorites implements Serializable {
result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
result = prime * result + ((getSort() == null) ? 0 : getSort().hashCode());
result = prime * result + ((getAddTime() == null) ? 0 : getAddTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getDeleted() == null) ? 0 : getDeleted().hashCode());
......@@ -149,6 +157,7 @@ public class Favorites implements Serializable {
userId("user_id", "userId", "BIGINT", false),
title("title", "title", "VARCHAR", false),
description("description", "description", "VARCHAR", false),
sort("sort", "sort", "INTEGER", false),
addTime("add_time", "addTime", "TIMESTAMP", false),
updateTime("update_time", "updateTime", "TIMESTAMP", false),
deleted("deleted", "deleted", "BIT", false),
......
......@@ -696,6 +696,138 @@ public class FavoritesExample {
return (Criteria) this;
}
public Criteria andSortIsNull() {
addCriterion("sort is null");
return (Criteria) this;
}
public Criteria andSortIsNotNull() {
addCriterion("sort is not null");
return (Criteria) this;
}
public Criteria andSortEqualTo(Integer value) {
addCriterion("sort =", value, "sort");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andSortEqualToColumn(Favorites.Column column) {
addCriterion(new StringBuilder("sort = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andSortNotEqualTo(Integer value) {
addCriterion("sort <>", value, "sort");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andSortNotEqualToColumn(Favorites.Column column) {
addCriterion(new StringBuilder("sort <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andSortGreaterThan(Integer value) {
addCriterion("sort >", value, "sort");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andSortGreaterThanColumn(Favorites.Column column) {
addCriterion(new StringBuilder("sort > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andSortGreaterThanOrEqualTo(Integer value) {
addCriterion("sort >=", value, "sort");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andSortGreaterThanOrEqualToColumn(Favorites.Column column) {
addCriterion(new StringBuilder("sort >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andSortLessThan(Integer value) {
addCriterion("sort <", value, "sort");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andSortLessThanColumn(Favorites.Column column) {
addCriterion(new StringBuilder("sort < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andSortLessThanOrEqualTo(Integer value) {
addCriterion("sort <=", value, "sort");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andSortLessThanOrEqualToColumn(Favorites.Column column) {
addCriterion(new StringBuilder("sort <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andSortIn(List<Integer> values) {
addCriterion("sort in", values, "sort");
return (Criteria) this;
}
public Criteria andSortNotIn(List<Integer> values) {
addCriterion("sort not in", values, "sort");
return (Criteria) this;
}
public Criteria andSortBetween(Integer value1, Integer value2) {
addCriterion("sort between", value1, value2, "sort");
return (Criteria) this;
}
public Criteria andSortNotBetween(Integer value1, Integer value2) {
addCriterion("sort not between", value1, value2, "sort");
return (Criteria) this;
}
public Criteria andAddTimeIsNull() {
addCriterion("add_time is null");
return (Criteria) this;
......
package com.wwdz.ch.db.domain;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import lombok.Data;
/**
* @author shiyu
* @date 2023/07/21
* @date 2023/07/25
*/
@Data
public class FavoritesItemsRelation implements Serializable {
......@@ -18,7 +19,12 @@ public class FavoritesItemsRelation implements Serializable {
private Long favoritesId;
/**
* 钱币id
* 用户id
*/
private Long userId;
/**
* 商品id
*/
private Long itemId;
......@@ -36,6 +42,7 @@ public class FavoritesItemsRelation implements Serializable {
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", favoritesId=").append(favoritesId);
sb.append(", userId=").append(userId);
sb.append(", itemId=").append(itemId);
sb.append(", addTime=").append(addTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
......@@ -56,6 +63,7 @@ public class FavoritesItemsRelation implements Serializable {
}
FavoritesItemsRelation other = (FavoritesItemsRelation) that;
return (this.getFavoritesId() == null ? other.getFavoritesId() == null : this.getFavoritesId().equals(other.getFavoritesId()))
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
&& (this.getItemId() == null ? other.getItemId() == null : this.getItemId().equals(other.getItemId()))
&& (this.getAddTime() == null ? other.getAddTime() == null : this.getAddTime().equals(other.getAddTime()));
}
......@@ -65,6 +73,7 @@ public class FavoritesItemsRelation implements Serializable {
final int prime = 31;
int result = 1;
result = prime * result + ((getFavoritesId() == null) ? 0 : getFavoritesId().hashCode());
result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
result = prime * result + ((getItemId() == null) ? 0 : getItemId().hashCode());
result = prime * result + ((getAddTime() == null) ? 0 : getAddTime().hashCode());
return result;
......@@ -79,6 +88,7 @@ public class FavoritesItemsRelation implements Serializable {
*/
public enum Column {
favoritesId("favorites_id", "favoritesId", "BIGINT", false),
userId("user_id", "userId", "BIGINT", false),
itemId("item_id", "itemId", "BIGINT", false),
addTime("add_time", "addTime", "TIMESTAMP", false);
......
......@@ -280,6 +280,138 @@ public class FavoritesItemsRelationExample {
return (Criteria) this;
}
public Criteria andUserIdIsNull() {
addCriterion("user_id is null");
return (Criteria) this;
}
public Criteria andUserIdIsNotNull() {
addCriterion("user_id is not null");
return (Criteria) this;
}
public Criteria andUserIdEqualTo(Long value) {
addCriterion("user_id =", value, "userId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites_items_relation
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andUserIdEqualToColumn(FavoritesItemsRelation.Column column) {
addCriterion(new StringBuilder("user_id = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andUserIdNotEqualTo(Long value) {
addCriterion("user_id <>", value, "userId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites_items_relation
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andUserIdNotEqualToColumn(FavoritesItemsRelation.Column column) {
addCriterion(new StringBuilder("user_id <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andUserIdGreaterThan(Long value) {
addCriterion("user_id >", value, "userId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites_items_relation
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andUserIdGreaterThanColumn(FavoritesItemsRelation.Column column) {
addCriterion(new StringBuilder("user_id > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
addCriterion("user_id >=", value, "userId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites_items_relation
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andUserIdGreaterThanOrEqualToColumn(FavoritesItemsRelation.Column column) {
addCriterion(new StringBuilder("user_id >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andUserIdLessThan(Long value) {
addCriterion("user_id <", value, "userId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites_items_relation
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andUserIdLessThanColumn(FavoritesItemsRelation.Column column) {
addCriterion(new StringBuilder("user_id < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andUserIdLessThanOrEqualTo(Long value) {
addCriterion("user_id <=", value, "userId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table favorites_items_relation
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andUserIdLessThanOrEqualToColumn(FavoritesItemsRelation.Column column) {
addCriterion(new StringBuilder("user_id <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andUserIdIn(List<Long> values) {
addCriterion("user_id in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotIn(List<Long> values) {
addCriterion("user_id not in", values, "userId");
return (Criteria) this;
}
public Criteria andUserIdBetween(Long value1, Long value2) {
addCriterion("user_id between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andUserIdNotBetween(Long value1, Long value2) {
addCriterion("user_id not between", value1, value2, "userId");
return (Criteria) this;
}
public Criteria andItemIdIsNull() {
addCriterion("item_id is null");
return (Criteria) this;
......
......@@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
*/
@SpringBootApplication(scanBasePackages = { "com.wwdz.ch.db", "com.wwdz.ch.core",
"com.wwdz.ch.wx" })
@MapperScan({ "com.wwdz.ch.db.dao", "com.wwdz.ch.db.dao.ex" })
@MapperScan({ "com.wwdz.ch.db.mapper", "com.wwdz.ch.db.mapper.ex" })
@EnableTransactionManagement
@EnableScheduling
public class Application {
......
package com.wwdz.ch.wx.entity.request;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.List;
@Data
public class FavoritesItemRequestDto implements Entity {
private Long favoritesId;
private List<Long> itemIds;
private Long userId;
}
......@@ -15,26 +15,34 @@ import java.util.List;
@Data
public class FavoritesRequestDto implements Entity {
// 收藏册id
@NotNull(groups = {Update.class, Select.class}, message = "id不能为空")
private Long id;
// 收藏册标题
@NotBlank(groups = {Insert.class, Update.class}, message = "标题不能为空")
@Length(groups = {Insert.class, Update.class}, max = 20, message = "标题字数不能超过20个字符")
private String title;
// 收藏册描述
@Length(groups = {Insert.class, Update.class}, max = 200, message = "描述字数不能超过200个字符")
private String description;
// 收藏册图片,用;分隔
private String images;
// 用户id
@NotNull(groups = {Insert.class, Update.class, Page.class, Delete.class}, message = "用户id不能为空")
private Long userId;
// 当前页
@NotNull(groups = Page.class, message = "当前页不能为空")
private Integer page;
// 页面大小
@NotNull(groups = Page.class, message = "页面大小不能为空")
private Integer size;
// 收藏册id列表
private List<Long> ids;
}
package com.wwdz.ch.wx.entity.request;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.List;
@Data
public class ItemRequestDto implements Entity {
// 藏品id
private Long id;
// 用户id
private Long userId;
// 收藏册id
private Long favoritesId;
// 藏品id列表
private List<Long> itemIds;
// 原收藏册id
private Long beforeFavoritesId;
// 现收藏册id
private Long afterFavoritesId;
// 分类id
private Integer cid;
// 藏品标题
private String name;
// 藏品图片或视频地址,用;分隔
private String images;
// 藏品详细信息
private String detail;
// 藏品价格
private String price;
}
package com.wwdz.ch.wx.entity.vo;
import lombok.Data;
@Data
public class ItemResponseVo {
private Long id;
private Integer cid;
private String categoryName;
private String name;
private String images;
private String price;
private String detail;
private Integer sourceType;
private Integer isCollected;
private Long favoritesId;
}
package com.wwdz.ch.wx.service;
public interface CategoryService {
}
package com.wwdz.ch.wx.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.wx.entity.request.FavoritesItemRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto;
public interface FavoritesService {
Result addDefault(FavoritesRequestDto dto);
Result page(FavoritesRequestDto dto);
Result list(FavoritesRequestDto dto);
Result add(FavoritesRequestDto dto);
Result update(FavoritesRequestDto dto);
......@@ -17,5 +20,7 @@ public interface FavoritesService {
Result batchDelete(FavoritesRequestDto dto);
Result removeItem(FavoritesItemRequestDto dto);
Result removeItem(ItemRequestDto dto);
Result moveItem(ItemRequestDto dto);
}
package com.wwdz.ch.wx.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
public interface ItemService {
Result add(ItemRequestDto dto);
Result info(ItemRequestDto dto);
Result collect(ItemRequestDto dto);
}
package com.wwdz.ch.wx.service.impl;
import com.wwdz.ch.wx.service.CategoryService;
import org.springframework.stereotype.Service;
@Service
public class CategoryImpl implements CategoryService {
}
package com.wwdz.ch.wx.service.impl;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.UserItemsRelationDao;
import com.wwdz.ch.db.domain.Favorites;
import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.UserItemsRelation;
import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dao.FavoritesItemsRelationManager;
import com.wwdz.ch.db.dao.FavoritesManager;
import com.wwdz.ch.db.dao.FavoritesItemsRelationDao;
import com.wwdz.ch.db.dao.FavoritesDao;
import com.wwdz.ch.db.dao.ItemManager;
import com.wwdz.ch.db.dao.UserItemsRelationManager;
import com.wwdz.ch.wx.entity.request.FavoritesItemRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto;
import com.wwdz.ch.wx.service.FavoritesService;
import org.apache.commons.collections.CollectionUtils;
......@@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
......@@ -30,14 +31,37 @@ public class FavoritesServiceImpl implements FavoritesService {
private static final Logger logger = LoggerFactory.getLogger(FavoritesServiceImpl.class);
@Autowired
private FavoritesManager favoritesManager;
private FavoritesDao favoritesManager;
@Autowired
private FavoritesItemsRelationManager favoritesItemsRelationManager;
private FavoritesItemsRelationDao favoritesItemsRelationManager;
@Autowired
private UserItemsRelationManager userItemsRelationManager;
private UserItemsRelationDao userItemsRelationManager;
@Autowired
private ItemManager itemManager;
@Transactional(rollbackFor = Exception.class)
@Override
public Result addDefault(FavoritesRequestDto dto) {
try {
Favorites favorites = new Favorites();
favorites.setUserId(dto.getUserId());
favorites.setTitle("默认收藏册");
favorites.setDescription("");
favorites.setImages("");
Date date = new Date();
favorites.setAddTime(date);
favorites.setUpdateTime(date);
favorites.setDeleted(false);
favorites.setSort(1);
favoritesManager.insert(favorites);
return Result.success();
} catch (Exception e) {
logger.error("新建默认收藏册失败,原因:" + e.getMessage(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.failed(-1, "新建默认收藏册失败");
}
}
@Override
public Result page(FavoritesRequestDto dto) {
try {
......@@ -48,6 +72,16 @@ public class FavoritesServiceImpl implements FavoritesService {
}
}
@Override
public Result list(FavoritesRequestDto dto) {
try {
return Result.success(favoritesManager.listByUserId(dto.getUserId()));
} catch (Exception e) {
logger.error("获取收藏册列表失败,原因:" + e.getMessage(), e);
return Result.failed(-1, "获取收藏册列表失败");
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public Result add(FavoritesRequestDto dto) {
......@@ -66,7 +100,8 @@ public class FavoritesServiceImpl implements FavoritesService {
favorites.setAddTime(date);
favorites.setUpdateTime(date);
favorites.setDeleted(false);
favoritesManager.add(favorites);
favorites.setSort(0);
favoritesManager.insert(favorites);
return Result.success();
} catch (Exception e) {
logger.error("新增收藏册失败,原因:" + e.getMessage(), e);
......@@ -170,7 +205,7 @@ public class FavoritesServiceImpl implements FavoritesService {
@Transactional(rollbackFor = Exception.class)
@Override
public Result removeItem(FavoritesItemRequestDto dto) {
public Result removeItem(ItemRequestDto dto) {
try {
// 批量删除收藏册下用户创建的钱币
List<UserItemsRelation> usersItemsList = userItemsRelationManager.listByUserIds(dto.getUserId(), null);
......@@ -193,4 +228,32 @@ public class FavoritesServiceImpl implements FavoritesService {
return Result.failed("收藏册取消收藏失败");
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public Result moveItem(ItemRequestDto dto) {
try {
// 删除原收藏册和藏品关联记录
favoritesItemsRelationManager.deleteByChosen(dto.getBeforeFavoritesId(), dto.getItemIds());
// 新增新收藏册和藏品关联记录
Date now = new Date();
List<FavoritesItemsRelation> list = new ArrayList<>();
for (Long itemId : dto.getItemIds()) {
FavoritesItemsRelation record = new FavoritesItemsRelation();
record.setFavoritesId(dto.getAfterFavoritesId());
record.setItemId(itemId);
record.setAddTime(now);
list.add(record);
}
if (CollectionUtils.isNotEmpty(list)) {
favoritesItemsRelationManager.batchInsert(list);
}
return Result.success();
} catch (Exception e) {
logger.error("移动藏品失败,原因:" + e.getMessage(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.failed("移动藏品失败");
}
}
}
package com.wwdz.ch.wx.service.impl;
import com.wwdz.ch.core.consts.CommonEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.CategoryManager;
import com.wwdz.ch.db.dao.FavoritesItemsRelationDao;
import com.wwdz.ch.db.dao.ItemManager;
import com.wwdz.ch.db.dao.UserItemsRelationDao;
import com.wwdz.ch.db.domain.Category;
import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.UserItemsRelation;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.vo.ItemResponseVo;
import com.wwdz.ch.wx.service.ItemService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.Date;
import java.util.Objects;
@Service
public class ItemServiceImpl implements ItemService {
private static final Logger logger = LoggerFactory.getLogger(ItemServiceImpl.class);
@Autowired
private ItemManager itemManager;
@Autowired
private UserItemsRelationDao userItemsRelationManager;
@Autowired
private FavoritesItemsRelationDao favoritesItemsRelationManager;
@Autowired
private CategoryManager categoryManager;
@Transactional(rollbackFor = Exception.class)
@Override
public Result add(ItemRequestDto dto) {
try {
// 新增藏品记录
Item item = new Item();
item.setName(dto.getName());
item.setCid(dto.getCid());
item.setIsOnSale(false);
item.setIsStd(false);
item.setSort(100);
item.setImages(dto.getImages());
item.setPrice(Long.parseLong(dto.getPrice()) * 100);
item.setDetail(dto.getDetail());
Date now = new Date();
item.setCreateTime(now);
item.setUpdateTime(now);
item.setSourceType(CommonEnum.SourceTypeEnum.USER_UPLOAD.getCode());
item.setIsDeleted(false);
itemManager.insert(item);
// 新增用户和藏品关联记录
UserItemsRelation userItemsRelation = new UserItemsRelation();
userItemsRelation.setUserId(dto.getUserId());
userItemsRelation.setItemId(item.getId());
userItemsRelationManager.insert(userItemsRelation);
// 新增收藏册和藏品关联记录
FavoritesItemsRelation favoritesItemsRelation = new FavoritesItemsRelation();
favoritesItemsRelation.setFavoritesId(dto.getFavoritesId());
favoritesItemsRelation.setItemId(item.getId());
favoritesItemsRelation.setAddTime(now);
favoritesItemsRelationManager.insert(favoritesItemsRelation);
return Result.success();
} catch (Exception e) {
logger.error("发布藏品失败,原因:" + e.getMessage(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.failed("发布藏品失败");
}
}
@Override
public Result info(ItemRequestDto dto) {
try {
Item item = itemManager.findDetails(dto.getId());
if (null == item.getId()) {
return Result.failed("数据异常,该藏品不存在");
}
ItemResponseVo itemResponseVo = new ItemResponseVo();
itemResponseVo.setId(item.getId());
itemResponseVo.setName(item.getName());
itemResponseVo.setImages(item.getImages());
itemResponseVo.setDetail(item.getDetail());
itemResponseVo.setCid(item.getCid());
Category category = categoryManager.findById(item.getCid());
if (Objects.nonNull(category)) {
itemResponseVo.setCategoryName(category.getName());
}
itemResponseVo.setPrice(String.valueOf(item.getPrice() / 100));
itemResponseVo.setSourceType(item.getSourceType());
FavoritesItemsRelation favoritesItemsRelation = favoritesItemsRelationManager.selectByUserIdItemId(dto.getUserId(), item.getId());
if (Objects.nonNull(favoritesItemsRelation)) {
itemResponseVo.setIsCollected(1);
itemResponseVo.setFavoritesId(favoritesItemsRelation.getFavoritesId());
}
return Result.success(itemResponseVo);
} catch (Exception e) {
logger.error("查看藏品详情失败,原因:" + e.getMessage(), e);
return Result.failed("查看藏品详情失败");
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public Result collect(ItemRequestDto dto) {
try {
Item item = itemManager.findDetails(dto.getId());
if (null == item.getId()) {
return Result.failed("数据异常,该藏品不存在");
}
return Result.success();
} catch (Exception e) {
logger.error("收藏藏品失败,原因:" + e.getMessage(), e);
return Result.failed("收藏藏品失败");
}
}
}
......@@ -2,7 +2,7 @@ package com.wwdz.ch.wx.web;
import com.github.pagehelper.Page;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.wx.entity.request.FavoritesItemRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto;
import com.wwdz.ch.wx.service.FavoritesService;
import com.xxdxxs.support.Delete;
......@@ -72,9 +72,12 @@ public class WxFavoritesController {
return favoritesService.batchDelete(dto);
}
@ApiOperation(value = "移除藏品")
@ApiOperation(value = "取消收藏")
@PostMapping("/removeItem")
public Result removeItem(@RequestBody FavoritesItemRequestDto dto) {
public Result removeItem(@RequestBody ItemRequestDto dto) {
if (Objects.isNull(dto.getUserId())) {
return Result.failed("用户id不能为空");
}
if (Objects.isNull(dto.getFavoritesId())) {
return Result.failed("收藏册不能为空");
}
......@@ -83,4 +86,19 @@ public class WxFavoritesController {
}
return favoritesService.removeItem(dto);
}
@ApiOperation(value = "移动藏品")
@PostMapping("/moveItem")
public Result moveItem(@RequestBody ItemRequestDto dto) {
if (Objects.isNull(dto.getBeforeFavoritesId())) {
return Result.failed("原收藏册不能为空");
}
if (Objects.isNull(dto.getAfterFavoritesId())) {
return Result.failed("现收藏册不能为空");
}
if (CollectionUtils.isEmpty(dto.getItemIds())) {
return Result.failed("请选择藏品");
}
return favoritesService.moveItem(dto);
}
}
package com.wwdz.ch.wx.web;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/wx/item")
public class WxItemController {
private static final Logger logger = LoggerFactory.getLogger(WxItemController.class);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment