src/main/java/com/mzl/flower/domain/CategoryConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mzl/flower/domain/CategoryConfigDO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mzl/flower/domain/CategoryConfigSync.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mzl/flower/mapper/CategoryConfigMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mzl/flower/service/customer/CategoryConfigService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mzl/flower/service/customer/CategoryConfigServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/mzl/flower/web/customer/CategoryConfigController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/mzl/flower/domain/CategoryConfig.java
对比新文件 @@ -0,0 +1,15 @@ package com.mzl.flower.domain; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class CategoryConfig { private Integer id; private String name; private Integer order; private Boolean isEnabled; } src/main/java/com/mzl/flower/domain/CategoryConfigDO.java
对比新文件 @@ -0,0 +1,29 @@ package com.mzl.flower.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.mzl.flower.base.BaseAutoEntity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor @TableName("category_config") public class CategoryConfigDO extends BaseAutoEntity { @TableField("user_id") private String userId; @TableField("category_id") private Integer categoryId; private String name; @TableField("`order`") private Integer order; @TableField("is_enabled") private Boolean isEnabled; } src/main/java/com/mzl/flower/domain/CategoryConfigSync.java
对比新文件 @@ -0,0 +1,15 @@ package com.mzl.flower.domain; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class CategoryConfigSync { private String userId; private List<CategoryConfig> categories; } src/main/java/com/mzl/flower/mapper/CategoryConfigMapper.java
对比新文件 @@ -0,0 +1,27 @@ package com.mzl.flower.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mzl.flower.domain.CategoryConfigDO; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface CategoryConfigMapper extends BaseMapper<CategoryConfigDO> { // @Insert("INSERT INTO category_config( user_id, category_id, name, `order`, is_enabled) " + "VALUES( #{userId}, #{categoryId}, #{name}, #{order}, #{isEnabled})") // void insert(CategoryConfigDO categoryConfigDO); // // @Update("UPDATE category_config SET name = #{name}, `order` = #{order}, " + "is_enabled = #{isEnabled} WHERE id = #{id}") // void update(CategoryConfigDO categoryConfigDO); // @Select("SELECT * FROM category_config WHERE id = #{id}") // CategoryConfigDO findById(Long id); @Select("SELECT * FROM category_config WHERE user_id = #{userId}") List<CategoryConfigDO> findByUserId(String userId); @Delete("DELETE FROM category_config WHERE user_id = #{userId}") void deleteByUserId(String userId); } src/main/java/com/mzl/flower/service/customer/CategoryConfigService.java
对比新文件 @@ -0,0 +1,11 @@ package com.mzl.flower.service.customer; import com.mzl.flower.domain.CategoryConfig; import com.mzl.flower.domain.CategoryConfigSync; import java.util.List; public interface CategoryConfigService { void saveOrUpdateCategoryConfig(CategoryConfigSync categoryConfigSync); List<CategoryConfig> getCategoryConfigsByUserId(String userId); } src/main/java/com/mzl/flower/service/customer/CategoryConfigServiceImpl.java
对比新文件 @@ -0,0 +1,67 @@ package com.mzl.flower.service.customer; import com.mzl.flower.domain.CategoryConfig; import com.mzl.flower.domain.CategoryConfigDO; import com.mzl.flower.domain.CategoryConfigSync; import com.mzl.flower.mapper.CategoryConfigMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @Service public class CategoryConfigServiceImpl implements CategoryConfigService { @Autowired private CategoryConfigMapper categoryConfigMapper; @Override @Transactional public void saveOrUpdateCategoryConfig(CategoryConfigSync categoryConfigSync) { if (categoryConfigSync == null || categoryConfigSync.getUserId() == null) { throw new IllegalArgumentException("用户ID不能为空"); } // 先删除该用户之前的所有分类配置 categoryConfigMapper.deleteByUserId(categoryConfigSync.getUserId()); // 然后插入新的分类配置 if (categoryConfigSync.getCategories() != null && !categoryConfigSync.getCategories().isEmpty()) { for (CategoryConfig clientCategory : categoryConfigSync.getCategories()) { CategoryConfigDO dbCategory = new CategoryConfigDO(); dbCategory.setUserId(categoryConfigSync.getUserId()); dbCategory.setCategoryId(clientCategory.getId()); dbCategory.setName(clientCategory.getName()); dbCategory.setOrder(clientCategory.getOrder()); dbCategory.setIsEnabled(clientCategory.getIsEnabled()); categoryConfigMapper.insert(dbCategory); } } } @Override public List<CategoryConfig> getCategoryConfigsByUserId(String userId) { if (userId == null) { throw new IllegalArgumentException("用户ID不能为空"); } List<CategoryConfigDO> dbCategories = categoryConfigMapper.findByUserId(userId); if (dbCategories == null || dbCategories.isEmpty()) { return new ArrayList<>(); } List<CategoryConfig> clientCategories = new ArrayList<>(); for (CategoryConfigDO dbCategory : dbCategories) { CategoryConfig clientCategory = new CategoryConfig(); clientCategory.setId(dbCategory.getCategoryId()); clientCategory.setName(dbCategory.getName()); clientCategory.setOrder(dbCategory.getOrder()); clientCategory.setIsEnabled(dbCategory.getIsEnabled()); clientCategories.add(clientCategory); } return clientCategories; } } src/main/java/com/mzl/flower/web/customer/CategoryConfigController.java
对比新文件 @@ -0,0 +1,27 @@ package com.mzl.flower.web.customer; import com.mzl.flower.domain.CategoryConfig; import com.mzl.flower.domain.CategoryConfigSync; import com.mzl.flower.service.customer.CategoryConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/api/categoryConfig") public class CategoryConfigController { @Autowired private CategoryConfigService categoryConfigService; @PostMapping("/saveOrUpdate") public void saveOrUpdateCategoryConfig(@RequestBody CategoryConfigSync categoryConfigSync) { categoryConfigService.saveOrUpdateCategoryConfig(categoryConfigSync); } @GetMapping("/getByUserId/{userId}") public List<CategoryConfig> getCategoryConfigsByUserId(@PathVariable String userId) { return categoryConfigService.getCategoryConfigsByUserId(userId); } }