From 25835dde83a66dcf135226134fe9f70a2c3bb289 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 10 十二月 2024 18:07:51 +0800
Subject: [PATCH] 镜架管理

---
 manage/src/main/java/com/jilongda/manage/controller/TModelController.java |  141 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 139 insertions(+), 2 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/controller/TModelController.java b/manage/src/main/java/com/jilongda/manage/controller/TModelController.java
index c0eab4b..c9a945e 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TModelController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TModelController.java
@@ -1,9 +1,24 @@
 package com.jilongda.manage.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.jilongda.common.basic.ApiResult;
+import com.jilongda.common.basic.PageInfo;
+import com.jilongda.manage.dto.TModelDTO;
+import com.jilongda.manage.model.TModel;
+import com.jilongda.manage.query.TModelQuery;
+import com.jilongda.manage.service.TModelService;
+import com.jilongda.manage.vo.TModelVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -13,9 +28,131 @@
  * @author 无关风月
  * @since 2024-12-09
  */
+@Api(tags = "镜架型号表")
 @RestController
 @RequestMapping("/t-model")
 public class TModelController {
 
+    @Autowired
+    private TModelService modelService;
+
+    /**
+     * 获取镜架型号列表
+     */
+    @ApiOperation(value = "获取镜架型号分页列表")
+    @PostMapping(value = "/pageList")
+    public ApiResult<PageInfo<TModelVO>> pageList(@RequestBody TModelQuery query) {
+        return ApiResult.success(modelService.pageList(query));
+    }
+
+    /**
+     * 通过品牌查询型号列表
+     */
+    @ApiOperation(value = "通过品牌id查询型号列表")
+    @GetMapping(value = "/getListByBrandId")
+    public ApiResult<List<TModel>> pageList(@RequestParam Integer brandId) {
+        List<TModel> list = modelService.list(Wrappers.lambdaQuery(TModel.class)
+                .eq(TModel::getBrandId, brandId)
+                .groupBy(TModel::getName));
+        return ApiResult.success(list);
+    }
+
+    /**
+     * 通过型号查询色号列表
+     */
+    @ApiOperation(value = "通过型号查询色号列表")
+    @GetMapping(value = "/getListByName")
+    public ApiResult<List<TModel>> pageList(@RequestParam String name) {
+        List<TModel> list = modelService.list(Wrappers.lambdaQuery(TModel.class)
+                .eq(TModel::getName, name));
+        return ApiResult.success(list);
+    }
+
+    /**
+     * 添加镜架型号
+     */
+    @ApiOperation(value = "添加镜架型号")
+    @PostMapping(value = "/add")
+    public ApiResult<String> add(@Validated @RequestBody TModelDTO dto) {
+        List<String> colorList = dto.getColorList();
+        List<TModel> models = new ArrayList<>();
+        for (String s : colorList) {
+            TModel model = new TModel();
+            BeanUtils.copyProperties(dto, model);
+            model.setColor(s);
+            models.add(model);
+        }
+        modelService.saveBatch(models);
+        return ApiResult.success();
+    }
+
+    @ApiOperation(value = "修改镜架型号")
+    @PostMapping(value = "/update")
+    public ApiResult<String> update(@RequestBody TModelDTO dto) {
+
+        modelService.remove(Wrappers.lambdaQuery(TModel.class)
+                .eq(TModel::getName,dto.getName()));
+
+        List<String> colorList = dto.getColorList();
+        List<TModel> models = new ArrayList<>();
+        for (String s : colorList) {
+            TModel model = new TModel();
+            BeanUtils.copyProperties(dto, model);
+            model.setColor(s);
+            models.add(model);
+        }
+        modelService.saveBatch(models);
+        return ApiResult.success();
+    }
+
+    /**
+     * 镜架型号上下架
+     */
+    @ApiOperation(value = "镜架型号上下架--列表使用")
+    @GetMapping(value = "/upAndDown")
+    public ApiResult<Boolean> upAndDown(@RequestParam String name,
+                                   @RequestParam Integer status) {
+        return ApiResult.success(modelService.upAndDown(name,status));
+    }
+
+    /**
+     * 镜架型号上下架
+     */
+    @ApiOperation(value = "镜架型号上下架--修改界面使用")
+    @GetMapping(value = "/upAndDownColor")
+    public ApiResult<Boolean> upAndDownColor(@RequestParam String name,
+                                        @RequestParam String color,
+                                        @RequestParam Integer status) {
+        return ApiResult.success(modelService.upAndDownColor(name,color,status));
+    }
+
+    @ApiOperation(value = "删除镜架型号")
+    @DeleteMapping(value = "/deleteByName")
+    public ApiResult<String> deleteById(@RequestParam String name) {
+        modelService.remove(Wrappers.lambdaQuery(TModel.class)
+                .eq(TModel::getName, name));
+        return ApiResult.success();
+    }
+
+    @ApiOperation(value = "批量删除镜架型号")
+    @DeleteMapping(value = "/deleteByNames")
+    public ApiResult<String> deleteByIds(@RequestBody List<String> names) {
+        modelService.remove(Wrappers.lambdaQuery(TModel.class)
+                .in(TModel::getName, names));
+        return ApiResult.success();
+    }
+
+    @ApiOperation(value = "查询镜架型号详情")
+    @GetMapping(value = "/getDetailByName")
+    public ApiResult<TModelVO> getDetailById(@RequestParam String name) {
+        List<TModel> models = modelService.list(Wrappers.lambdaQuery(TModel.class)
+                .eq(TModel::getName, name));
+        TModelVO modelVO = new TModelVO();
+        BeanUtils.copyProperties(models.get(0), modelVO);
+        List<String> colorList = models.stream().map(TModel::getColor).collect(Collectors.toList());
+        modelVO.setColorList(colorList);
+        return ApiResult.success(modelVO);
+    }
+    
 }
 

--
Gitblit v1.7.1