jiangping
2023-09-19 ff2cb393a7f486bffff31555f30325ba6fbb42f9
修改
已修改12个文件
155 ■■■■■ 文件已修改
company_admin/.env.development 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company_admin/src/components/business/OperaCategoryWindow.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company_admin/src/views/business/brand.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company_admin/src/views/business/category.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company_admin/src/views/business/goods.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/BaseGoodsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/GoodsController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/resources/mappers/CateParamSelectMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/'
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 })
      },
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 () {
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 () {
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 }
        ]
      }
    },
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));
    }
}
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();
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);
    /**
     * 条件统计
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);
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()
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);
//                };
            }
        }
    }
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