From ff2cb393a7f486bffff31555f30325ba6fbb42f9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 19 九月 2023 15:01:23 +0800
Subject: [PATCH] 修改

---
 server/company/src/main/java/com/doumee/api/business/GoodsController.java               |    4 
 server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java          |    2 
 server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java     |   24 +------
 company_admin/src/views/business/category.vue                                           |   25 +++++++
 server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java |   21 +-----
 company_admin/src/components/business/OperaCategoryWindow.vue                           |   15 ++++
 company_admin/src/views/business/brand.vue                                              |   31 +++++++++-
 server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java     |    1 
 company_admin/.env.development                                                          |    4 +
 company_admin/src/views/business/goods.vue                                              |   24 +++++++
 server/service/src/main/resources/mappers/CateParamSelectMapper.xml                     |    2 
 server/company/src/main/java/com/doumee/api/business/BaseGoodsController.java           |    2 
 12 files changed, 104 insertions(+), 51 deletions(-)

diff --git a/company_admin/.env.development b/company_admin/.env.development
index cb02b78..d53d032 100644
--- a/company_admin/.env.development
+++ b/company_admin/.env.development
@@ -3,6 +3,8 @@
 
 # VUE_APP_API = 'https://dmtest.ahapp.net/preselect_interface/'
 
-VUE_APP_API = 'http://192.168.0.35:10012/'
+VUE_APP_API = 'http://192.168.0.15:10022/'
+
+# VUE_APP_API = 'https://dmtest.ahapp.net/preselect_web_interface/'
 
 # VUE_APP_API = 'https://dmtest.ahapp.net/preselect_interface/'
\ No newline at end of file
diff --git a/company_admin/src/components/business/OperaCategoryWindow.vue b/company_admin/src/components/business/OperaCategoryWindow.vue
index 7b28532..decc097 100644
--- a/company_admin/src/components/business/OperaCategoryWindow.vue
+++ b/company_admin/src/components/business/OperaCategoryWindow.vue
@@ -9,7 +9,7 @@
       <h3 style="margin: 20px 0 10px 0;">鍩烘湰淇℃伅</h3>
       <el-form :model="form" ref="form" :rules="rules">
         <el-form-item label="绫诲埆鏉ユ簮" prop="type">
-          <el-radio-group v-model="form.type" @change="changeRadio">
+          <el-radio-group v-model="form.type" :disabled="form.id ? true : false" @change="changeRadio">
             <el-radio :label="1">浠庡钩鍙板簱閫夋嫨</el-radio>
             <el-radio :label="0">浼佷笟鑷缓</el-radio>
           </el-radio-group>
@@ -65,6 +65,7 @@
                 v-model="scope.row.isselect"
                 active-color="#13ce66"
                 inactive-color="#ff4949"
+                @change="changeIsselect($event, scope.row)"
                 :active-value="1"
                 :inactive-value="0">
               </el-switch>
@@ -187,6 +188,18 @@
       })
     },
     methods: {
+      changeIsselect(e, item) {
+        let num = 0
+        this.form.tableData.forEach(row => {
+          if (row.isselect === 1) {
+            num += 1
+          }
+        })
+        if (num > 2) {
+          item.isselect = 0
+          this.$message.warning({ message: '鍙兘璁剧疆涓や釜閫夐」' })
+        }
+      },
       addItem() {
         this.form.tableData.push({ name: '', isselect: 0, isshow: 1 })
       },
diff --git a/company_admin/src/views/business/brand.vue b/company_admin/src/views/business/brand.vue
index eb27ae8..4657dc0 100644
--- a/company_admin/src/views/business/brand.vue
+++ b/company_admin/src/views/business/brand.vue
@@ -5,6 +5,16 @@
         <el-form-item label="鍝佺墝鍚嶇О" prop="name">
           <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ搧鐗屽悕绉�" @keypress.enter.native="search"></el-input>
         </el-form-item>
+        <el-form-item label="绫诲瀷" prop="type">
+          <el-select v-model="searchForm.type" clearable placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in typeList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
         <section>
           <el-button type="primary" @click="search">鎼滅储</el-button>
           <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:brand:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> -->
@@ -35,6 +45,12 @@
                 fit="cover"></el-image>
             </template>
           </el-table-column>
+          <el-table-column prop="categoryName" label="绫诲瀷" min-width="100px">
+            <template slot-scope="{row}">
+              <span v-if="row.type == 0">鑷缓</span>
+              <span v-else>鎷夊彇</span>
+            </template>
+          </el-table-column>
           <el-table-column prop="sortnum" label="鎺掑簭鐮�(鍗囧簭)" min-width="100px"></el-table-column>
           <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
           <el-table-column
@@ -44,8 +60,10 @@
             fixed="right"
           >
             <template slot-scope="{row}">
-              <el-button type="text" @click="edit(row)" icon="el-icon-edit" v-permissions="['business:brand:update']">缂栬緫</el-button>
-              <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:brand:delete']">鍒犻櫎</el-button>
+              <template v-if="row.type == 0">
+                <el-button type="text" @click="edit(row)" icon="el-icon-edit" v-permissions="['business:brand:update']">缂栬緫</el-button>
+                <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:brand:delete']">鍒犻櫎</el-button>
+              </template>
             </template>
           </el-table-column>
         </el-table>
@@ -74,8 +92,13 @@
       return {
         // 鎼滅储
         searchForm: {
-          name: ''
-        }
+          name: '',
+          type: ''
+        },
+        typeList: [
+          { name: '鑷缓', id: 0 },
+          { name: '鎷夊彇', id: 1 }
+        ]
       }
     },
     created () {
diff --git a/company_admin/src/views/business/category.vue b/company_admin/src/views/business/category.vue
index 9833d20..a4314ff 100644
--- a/company_admin/src/views/business/category.vue
+++ b/company_admin/src/views/business/category.vue
@@ -5,6 +5,16 @@
         <el-form-item label="绫诲埆鍚嶇О" prop="name">
           <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ョ被鍒悕绉�" @keypress.enter.native="search"></el-input>
         </el-form-item>
+        <el-form-item label="绫诲瀷" prop="type">
+          <el-select v-model="searchForm.type" clearable placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in typeList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
         <section>
           <el-button type="primary" @click="search">鎼滅储</el-button>
           <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:category:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> -->
@@ -35,6 +45,12 @@
             </template>
           </el-table-column>
           <el-table-column prop="name" label="绫诲埆鍚嶇О" min-width="100px"></el-table-column>
+          <el-table-column prop="categoryName" label="绫诲瀷" min-width="100px">
+            <template slot-scope="{row}">
+              <span v-if="row.type == 0">鑷缓</span>
+              <span v-else>鎷夊彇</span>
+            </template>
+          </el-table-column>
           <el-table-column prop="sortnum" label="鎺掑簭鐮�(鍗囧簭)" min-width="100px"></el-table-column>
           <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
           <el-table-column prop="status" label="鐘舵��" min-width="100px">
@@ -87,8 +103,13 @@
       return {
         // 鎼滅储
         searchForm: {
-          name: ''
-        }
+          name: '',
+          type: ''
+        },
+        typeList: [
+          { name: '鑷缓', id: 0 },
+          { name: '鎷夊彇', id: 1 }
+        ]
       }
     },
     created () {
diff --git a/company_admin/src/views/business/goods.vue b/company_admin/src/views/business/goods.vue
index 869907a..1b081e2 100644
--- a/company_admin/src/views/business/goods.vue
+++ b/company_admin/src/views/business/goods.vue
@@ -42,6 +42,17 @@
           </el-select>
           <!-- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" @keypress.enter.native="search"></el-input> -->
         </el-form-item>
+        <el-form-item label="绫诲瀷" prop="type">
+          <el-select v-model="searchForm.type" clearable placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in typeList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+          <!-- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" @keypress.enter.native="search"></el-input> -->
+        </el-form-item>
         <section>
           <el-button type="primary" @click="search">鎼滅储</el-button>
           <el-button @click="reset">閲嶇疆</el-button>
@@ -87,6 +98,12 @@
           </el-table-column>
           <el-table-column prop="brandName" label="鍝佺墝" min-width="100px"></el-table-column>
           <el-table-column prop="categoryName" label="绫诲埆" min-width="100px"></el-table-column>
+          <el-table-column prop="categoryName" label="绫诲瀷" min-width="100px">
+            <template slot-scope="{row}">
+              <span v-if="row.type == 0">鑷缓</span>
+              <span v-else>鎷夊彇</span>
+            </template>
+          </el-table-column>
           <el-table-column label="鎸囧浠凤紙鍏冿級" min-width="100px">
             <template slot-scope="{row}">
               <span v-if="row.type == 0">{{ row.zdPrice }}</span>
@@ -155,7 +172,8 @@
           name: '',
           status: '',
           categoryId: '',
-          brandId: ''
+          brandId: '',
+          type: ''
         },
         ids: '',
         categoryList: [],
@@ -163,6 +181,10 @@
         statusList: [
           { name: '鍚敤', id: 0 },
           { name: '绂佺敤', id: 1 }
+        ],
+        typeList: [
+          { name: '鑷缓', id: 0 },
+          { name: '鎷夊彇', id: 1 }
         ]
       }
     },
diff --git a/server/company/src/main/java/com/doumee/api/business/BaseGoodsController.java b/server/company/src/main/java/com/doumee/api/business/BaseGoodsController.java
index c530726..94eb4c0 100644
--- a/server/company/src/main/java/com/doumee/api/business/BaseGoodsController.java
+++ b/server/company/src/main/java/com/doumee/api/business/BaseGoodsController.java
@@ -37,7 +37,7 @@
     @PostMapping("/page")
 //    @RequiresPermissions("business:basegoods:query")
     public ApiResponse<PageData<BaseGoods>> findPage (@RequestBody PageWrap<BaseGoods> pageWrap) {
-        return ApiResponse.success(baseGoodsService.findPage(pageWrap));
+        return ApiResponse.success(baseGoodsService.findCompanyPage(pageWrap));
     }
 
 }
diff --git a/server/company/src/main/java/com/doumee/api/business/GoodsController.java b/server/company/src/main/java/com/doumee/api/business/GoodsController.java
index 835b91e..42a7b24 100644
--- a/server/company/src/main/java/com/doumee/api/business/GoodsController.java
+++ b/server/company/src/main/java/com/doumee/api/business/GoodsController.java
@@ -54,7 +54,7 @@
     @PreventRepeat
     @ApiOperation("浼佷笟鏂板缓鍟嗗搧")
     @PostMapping("/companyCreate")
-//    @RequiresPermissions("business:goods:create")
+    @RequiresPermissions("business:goods:create")
     public ApiResponse companyCreate(@RequestBody Goods goods) {
         goodsService.companyCreate(goods);
         cateParamSelectService.dealCateParamSelect();
@@ -139,7 +139,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
     })
-//    @RequiresPermissions("business:goods:create")
+    @RequiresPermissions("business:goods:create")
     public ApiResponse<Integer> importExcel (@ApiParam(value = "file") MultipartFile file) {
         Integer val = goodsService.importBatch(file);
         cateParamSelectService.dealCateParamSelect();
diff --git a/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java b/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java
index 753912f..6119a63 100644
--- a/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java
+++ b/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java
@@ -133,7 +133,7 @@
      * @param pageWrap 鍒嗛〉瀵硅薄
      * @return PageData<BaseGoods>
      */
-    PageData<BaseGoods> findCompanyPage(PageWrap<BaseGoods> pageWrap,Integer companyId);
+    PageData<BaseGoods> findCompanyPage(PageWrap<BaseGoods> pageWrap);
 
     /**
      * 鏉′欢缁熻
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
index a4f7709..3447930 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
@@ -373,21 +373,8 @@
 
 
     @Override
-    public PageData<BaseGoods> findCompanyPage(PageWrap<BaseGoods> pageWrap ,Integer companyId) {
-
-        //鏌ヨ浼佷笟宸茬粡瀛樺湪鐨勫晢鍝�
-        List<Integer> collect = new ArrayList<>();
-        if(Objects.nonNull(companyId)){
-            QueryWrapper<Goods> goodsQuery = new QueryWrapper<>();
-            goodsQuery.lambda().eq(Goods::getIsdeleted,Constants.ZERO)
-                    .eq(Goods::getCompanyId,companyId)
-                    .isNotNull(Goods::getGoodsId);
-            List<Goods> goods = goodsMapper.selectList(goodsQuery);
-            if (CollectionUtils.isEmpty(goods)){
-                 collect = goods.stream().map(s -> s.getGoodsId()).collect(Collectors.toList());
-            }
-        }
-
+    public PageData<BaseGoods> findCompanyPage(PageWrap<BaseGoods> pageWrap) {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         pageWrap.getModel().setIsdeleted(Constants.ZERO);
         IPage<BaseGoods> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<BaseGoods> queryWrapper = new MPJLambdaWrapper<>();
@@ -404,8 +391,7 @@
                 .eq(pageWrap.getModel().getCategoryId()!=null,BaseGoods::getCategoryId, pageWrap.getModel().getCategoryId())
                 .eq(pageWrap.getModel().getBrandId()!=null,BaseGoods::getBrandId, pageWrap.getModel().getBrandId())
                 .eq(pageWrap.getModel().getStatus()!=null,BaseGoods::getStatus, pageWrap.getModel().getStatus())
-                .notIn(!CollectionUtils.isEmpty(collect),BaseGoods::getId, collect);
-
+                .notExists(user.getType().equals(Constants.UserType.COMPANY.getKey())," select 1 from goods g where g.GOODS_ID = t.id and g.TYPE = 1  and  g.company_id = "+user.getCompanyId()+"  ");
         queryWrapper.orderByDesc(Goods::getId);
         PageData<BaseGoods> pageData =PageData.from(baseGoodsJoinMapper.selectJoinPage(page,BaseGoods.class,queryWrapper));
         String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
@@ -477,6 +463,7 @@
 
                 QueryWrapper<Brand> brandQuery = new QueryWrapper<>();
                 brandQuery.lambda()
+                        .eq(Brand::getType,Constants.ONE)
                         .eq(Brand::getName,s.getBrandName());
                 brandQuery.lambda()
                         .eq(Brand::getIsdeleted,Constants.ZERO);
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
index 2af9103..02f664f 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
@@ -197,6 +197,7 @@
                     .or().eq(Brand::getType,Constants.ONE)
             );
         }
+        queryWrapper.lambda().orderByAsc(Brand::getType);
         queryWrapper.lambda().orderByAsc(Brand::getSortnum);
         IPage<Brand> brandIPage = brandMapper.selectPage(page, queryWrapper);
         String prefixUrl = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
index 238da11..bb7ec36 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -207,9 +207,9 @@
                         .eq("ISDELETED",Constants.ZERO)
                         .eq("STATUS",Constants.ZERO)
                         .last(" limit 1 "));
-                if(Objects.isNull(cateParam)){
-                    throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浼佷笟鍒嗙被鏁版嵁鍚屾寮傚父璇疯仈绯荤鐞嗗憳");
-                }
+//                if(Objects.isNull(cateParam)){
+//                    throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"浼佷笟鍒嗙被鏁版嵁鍚屾寮傚父璇疯仈绯荤鐞嗗憳");
+//                }
                 GoodsParam goodsParam = new GoodsParam();
                 goodsParam.setCreator(user.getId());
                 goodsParam.setCreateDate(new Date());
@@ -219,24 +219,8 @@
                 goodsParam.setGoodsId(goods.getId());
                 goodsParam.setVal(bgParam.getVal());
                 goodsParam.setName(bgParam.getName());
-                goodsParam.setPramaId(cateParam.getId());
+                goodsParam.setPramaId(Objects.isNull(cateParam)?null:cateParam.getId());
                 goodsParamMapper.insert(goodsParam);
-
-                //瀛樺偍 cate_param_select 鏌ヨ鏄惁宸插瓨鍦�
-//                if(cateParamSelectMapper.selectCount(new QueryWrapper<CateParamSelect>()
-//                        .eq("PARAM_ID",goodsParam.getPramaId()).eq("NAME",goodsParam.getName()))<=Constants.ZERO){
-//                    CateParamSelect cateParamSelect = new CateParamSelect();
-//                    cateParamSelect.setCreator(user.getId());
-//                    cateParamSelect.setCreateDate(new Date());
-//                    cateParamSelect.setName(goodsParam.getVal());
-//                    cateParamSelect.setIsdeleted(Constants.ZERO);
-//                    cateParamSelect.setStatus(Constants.ZERO);
-//                    cateParamSelect.setParamId(goodsParam.getPramaId());
-//                    cateParamSelect.setCategoryId(goods.getCategoryId());
-//                    cateParamSelect.setStatus(Constants.ZERO);
-//                    cateParamSelectMapper.insert(cateParamSelect);
-//                };
-
             }
         }
     }
diff --git a/server/service/src/main/resources/mappers/CateParamSelectMapper.xml b/server/service/src/main/resources/mappers/CateParamSelectMapper.xml
index f11a72c..04acf37 100644
--- a/server/service/src/main/resources/mappers/CateParamSelectMapper.xml
+++ b/server/service/src/main/resources/mappers/CateParamSelectMapper.xml
@@ -7,7 +7,7 @@
         INSERT INTO `cate_param_select`
             (`CREATOR`, `CREATE_DATE`, `EDITOR`, `EDIT_DATE`, `ISDELETED`, `REMARK`, `NAME`, `PARAM_ID`, `CATEGORY_ID`,
              `STATUS`, `SORTNUM`)
-            select #{userId} , now(),null , null , 0 , null , a.VAL , a.PRAMA_ID , b.CATEGORY_ID , 0 , null  from goods_param a  inner join goods  b on a.GOODS_ID = b.ID
+            select DISTINCT #{userId} , now(),null , null , 0 , null , a.VAL , a.PRAMA_ID , b.CATEGORY_ID , 0 , null  from goods_param a  inner join goods  b on a.GOODS_ID = b.ID
                 and a.PRAMA_ID is not null AND a.VAL is not null
                 and a.ISDELETED = 0
                 and a.`STATUS` = 0

--
Gitblit v1.9.3