Преглед изворни кода

增加辅材和供应商之间的维护关系

FengChaoYu пре 1 година
родитељ
комит
1a01acba99

+ 19 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/material/vender/WebsitVenderGoodsBean.java

@@ -0,0 +1,19 @@
+package com.gree.mall.manager.bean.material.vender;
+
+import com.gree.mall.manager.plus.entity.WebsitVenderGoods;
+import com.gree.mall.manager.plus.entity.WebsitVenderGoodsItem;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel
+public class WebsitVenderGoodsBean extends WebsitVenderGoods {
+
+    @ApiModelProperty(value = "商品明细")
+    private List<WebsitVenderGoodsItem> items;
+}

+ 84 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/material/vender/WebsitVenderGoodsRelaVO.java

@@ -0,0 +1,84 @@
+package com.gree.mall.manager.bean.material.vender;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.material.JudgeEnum;
+import com.gree.mall.manager.enums.material.StateEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@ApiModel
+@Data
+@ZfireField(tbName = "a")
+public class WebsitVenderGoodsRelaVO {
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "商户编号")
+    private String companyWechatId;
+
+    @ApiModelProperty(value = "商户名称")
+    private String companyWechatName;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "供应商编号")
+    private String venderId;
+
+    @ApiModelProperty(value = "供应商名称")
+    private String venderName;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "商品编号")
+    private String goodsId;
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
+    @ApiModelProperty(value = "进价")
+    private BigDecimal cost;
+
+    @ApiModelProperty(value = "状态")
+    private StateEnum relaStatus;
+
+    @ZfireField(tbName = "c", hide = true, colName = "parent_category_id")
+    @ApiModelProperty(value = "商品父类编号")
+    private String parentCategoryId;
+
+    @ZfireField(tbName = "c", colName = "parent_category_name")
+    @ApiModelProperty(value = "父类名称")
+    private String parentCategoryName;
+
+    @ZfireField(tbName = "b", hide = true)
+    @ApiModelProperty(value = "商品小类编号")
+    private String goodsCategoryId;
+
+    @ZfireField(tbName = "b", colName = "category_name")
+    @ApiModelProperty(value = "分类名称")
+    private String categoryName;
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "规格型号")
+    private String goodsSpecification;
+
+    @ZfireField(tbName = "b")
+    @ApiModelProperty(value = "库存单位")
+    private String goodsStockUnit;
+
+    @ZfireField(tbName = "b", hide = true)
+    @ApiModelProperty(value = "销售单位")
+    private String goodsSalesUnit;
+
+    @ZfireField(tbName = "b", hide = true)
+    @ApiModelProperty(value = "销售单位转换系数")
+    private BigDecimal goodsSalesConvertQty;
+
+    @ZfireField(tbName = "b", hide = true)
+    @ApiModelProperty(value = "辅材状态")
+    private StateEnum status;
+
+    @ZfireField(tbName = "b", hide = true)
+    @ApiModelProperty(value = "是否入师傅库存")
+    private JudgeEnum manageWorkerStock;
+}

+ 57 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/material/vender/WebsitVenderGoodsVO.java

@@ -0,0 +1,57 @@
+package com.gree.mall.manager.bean.material.vender;
+
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.ExamineStatusEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@ApiModel
+@Data
+@ZfireField(tbName = "a")
+public class WebsitVenderGoodsVO {
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "单号")
+    private String sheetId;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "商户编号")
+    private String companyWechatId;
+
+    @ApiModelProperty(value = "商户名称")
+    private String companyWechatName;
+
+    @ZfireField(hide = true)
+    @ApiModelProperty(value = "供应商编号")
+    private String venderId;
+
+    @ApiModelProperty(value = "供应商名称")
+    private String venderName;
+
+    @ApiModelProperty(value = "状态")
+    private ExamineStatusEnum status;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "修改人")
+    private String updateBy;
+
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "审核人")
+    private String confirmBy;
+
+    @ApiModelProperty(value = "审核时间")
+    private Date confirmTime;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+}

+ 18 - 0
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/MaterialMapper.java

@@ -8,6 +8,8 @@ import com.gree.mall.manager.bean.material.base.*;
 import com.gree.mall.manager.bean.material.manage.*;
 import com.gree.mall.manager.bean.material.stock.WebsitSalesCategoryVO;
 import com.gree.mall.manager.bean.material.stock.WebsitSalesGoodsVO;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsRelaVO;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsVO;
 import com.gree.mall.manager.bean.material.vender.WebsitVenderVO;
 import com.gree.mall.manager.zfire.bean.WebsitGoodsParamBean;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
@@ -199,4 +201,20 @@ public interface MaterialMapper {
     List<EnginPayManageGatherVO> enginPayManageGatherLastUpdate(@Param("companyWechatId") String companyWechatId, @Param("projectList") List<String> projectList);
 
     List<WorkerGoodsRelaExportBean> exportWorkerMaterialRela(@Param("companyWechatId") String companyWechatId);
+
+    /**
+     * 供应商供应商品列表
+     * @param page
+     * @param zfireParamBean
+     * @return
+     */
+    IPage<WebsitVenderGoodsVO> websitVenderGoodsPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);
+
+    /**
+     * 供应商商品关系列表
+     * @param page
+     * @param zfireParamBean
+     * @return
+     */
+    IPage<WebsitVenderGoodsRelaVO> websitVenderGoodsRalaPage(Page page, @Param("ex") ZfireParamBean zfireParamBean);
 }

+ 3 - 0
mall-server-api/src/main/java/com/gree/mall/manager/constant/Constant.java

@@ -18,6 +18,9 @@ public class Constant {
 
     public final static Integer PAGE_SIZE = 100000;
 
+    // 辅材编号前缀
+    public final static String FC = "FC";
+
     public class Ali {
         public final static String ACCESS_KEY_ID = "LTAI4GK1q4mnpCFbonMd1pji";
         public final static String ACCESS_KEY_SECERT = "E5LW0V1H8HBxqjKkExIxaXUgSyex6C";

+ 123 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/material/vender/VenderGoodsController.java

@@ -0,0 +1,123 @@
+package com.gree.mall.manager.controller.material.vender;
+
+import cn.hutool.core.lang.TypeReference;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsBean;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsRelaVO;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsVO;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.material.vender.VenderGoodsLogic;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+@Slf4j
+@RestController
+@Api(value = "供应商商品管理API", tags ={"供应商商品管理API"} )
+@RequestMapping(value = "/vender/goods", produces = "application/json; charset=utf-8")
+public class VenderGoodsController {
+
+    @Resource
+    VenderGoodsLogic venderGoodsLogic;
+
+    @ZfireList
+    @PostMapping("/list")
+    @ApiOperation(value = "供应商供应商品-列表")
+    public ResponseHelper<IPage<WebsitVenderGoodsVO>> page(
+            @RequestBody ZfireParamBean zfireParamBean
+    ) {
+        IPage<WebsitVenderGoodsVO> page = venderGoodsLogic.page(zfireParamBean);
+        return ResponseHelper.success(page, new TypeReference<WebsitVenderGoodsVO>() {});
+    }
+
+    @PostMapping("/list/export")
+    @ApiOperation("供应商供应商品-导出")
+    public void listExport(
+            @RequestBody ZfireParamBean zfireParamBean,
+            HttpServletRequest request,
+            HttpServletResponse response
+    ) throws Exception {
+        //2.查询要导出的内容
+        IPage<WebsitVenderGoodsVO> baseVOIPage = venderGoodsLogic.page(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(baseVOIPage.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+
+    @PostMapping("/detail")
+    @ApiOperation(value = "供应商供应商品-详情")
+    public ResponseHelper<WebsitVenderGoodsBean> detail(
+            @ApiParam(value = "id", required = true) @RequestParam String id
+    ) throws RemoteServiceException {
+        return ResponseHelper.success(venderGoodsLogic.detail(id));
+    }
+
+    @PostMapping("/add")
+    @ApiOperation(value = "供应商供应商品-添加")
+    public ResponseHelper add(
+            @RequestBody WebsitVenderGoodsBean bean
+    ) throws Exception {
+        venderGoodsLogic.add(bean);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/edit")
+    @ApiOperation(value = "供应商供应商品-编辑")
+    public ResponseHelper edit(
+            @RequestBody WebsitVenderGoodsBean bean
+    ) throws Exception {
+        venderGoodsLogic.edit(bean);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/confirm")
+    @ApiOperation(value = "供应商供应商品-审核")
+    public ResponseHelper confirm(
+            @RequestBody WebsitVenderGoodsBean bean
+    ) throws Exception {
+        venderGoodsLogic.confirm(bean);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/del")
+    @ApiOperation(value = "供应商供应商品-批量删除")
+    public ResponseHelper del(
+            @RequestBody List<String> ids
+    ) throws Exception {
+        venderGoodsLogic.del(ids);
+        return ResponseHelper.success();
+    }
+
+    @ZfireList
+    @PostMapping("/rela/list")
+    @ApiOperation(value = "供应商商品关系-列表")
+    public ResponseHelper<IPage<WebsitVenderGoodsRelaVO>> ralaPage(
+            @RequestBody ZfireParamBean zfireParamBean
+    ) {
+        IPage<WebsitVenderGoodsRelaVO> page = venderGoodsLogic.ralaPage(zfireParamBean);
+        return ResponseHelper.success(page, new TypeReference<WebsitVenderGoodsRelaVO>() {});
+    }
+
+    @PostMapping("/rela/list/export")
+    @ApiOperation("供应商商品关系-导出")
+    public void ralaListExport(
+            @RequestBody ZfireParamBean zfireParamBean,
+            HttpServletRequest request,
+            HttpServletResponse response
+    ) throws Exception {
+        //2.查询要导出的内容
+        IPage<WebsitVenderGoodsRelaVO> baseVOIPage = venderGoodsLogic.ralaPage(zfireParamBean);
+        //3.导出
+        FieldUtils.exportData(baseVOIPage.getRecords(), zfireParamBean.getExportFields(), request, response);
+    }
+}

+ 24 - 2
mall-server-api/src/main/java/com/gree/mall/manager/logic/common/CommonLogic.java

@@ -422,7 +422,7 @@ public class CommonLogic {
      * @param length 一般13 位
      * @return
      */
-    public  String generateNo(String start, String orderType, int length) {
+    public String generateNo(String start, String orderType, int length) {
         String dayFmt = DateUtil.format(new Date(), "yyMMdd");
         String tNumKey = Constant.RedisPrefix.ORDER_NUM + orderType + dayFmt;
         StringBuffer number = new StringBuffer();
@@ -436,7 +436,7 @@ public class CommonLogic {
         return number.toString();
     }
 
-    public String generateReqNo(String start, String orderType,int length) {
+    public String generateReqNo(String start, String orderType, int length) {
         String dayFmt = DateUtil.format(new Date(), "yyyyMMdd");
         String tNumKey = Constant.RedisPrefix.ORDER_NUM + orderType + dayFmt;
         StringBuffer number = new StringBuffer();
@@ -450,6 +450,28 @@ public class CommonLogic {
         return number.toString();
     }
 
+    /**
+     * 生成辅材编号
+     * @param companyId 商户编号
+     * @param start 前缀
+     * @param orderType 订单类型
+     * @param length 一般13 位
+     * @return
+     */
+    public String generateMaterialNo(String companyId, String start, String orderType, int length) {
+        String dayFmt = DateUtil.format(new Date(), "yyyy");
+        String tNumKey = Constant.RedisPrefix.ORDER_NUM + dayFmt + orderType + companyId;
+        StringBuilder number = new StringBuilder();
+        number.append(start);
+        number.append(dayFmt);
+        int ramainLen = length - number.toString().length();
+        //自增 填充位数
+        Object value = redisUtil.incr(tNumKey, 1);
+        redisUtil.expire(tNumKey, 24 * 60 * 60);
+        number.append(String.format("%0" + ramainLen + "d", Integer.parseInt(value.toString())));
+        return number.toString();
+    }
+
 
     /**
      * 获取跳往小程序的链接(带公众号openid)

+ 8 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/base/WebsitGoodsLogic.java

@@ -12,6 +12,7 @@ import com.gree.mall.manager.bean.material.base.WebsitGoodsBean;
 import com.gree.mall.manager.bean.material.base.WebsitGoodsMVO;
 import com.gree.mall.manager.bean.material.base.WebsitGoodsPVO;
 import com.gree.mall.manager.commonmapper.MaterialMapper;
+import com.gree.mall.manager.constant.Constant;
 import com.gree.mall.manager.enums.material.JudgeEnum;
 import com.gree.mall.manager.enums.material.NormTypeEnum;
 import com.gree.mall.manager.enums.material.StateEnum;
@@ -161,7 +162,9 @@ public class WebsitGoodsLogic {
         // 检查辅材名称、配件代码唯一
         this.checkMaterialUnique(goods);
 
-
+        if (goods.getGoodsType().equals(WebsitGoodsTypeEnum.M.getKey())) {
+            goods.setGoodsId(commonLogic.generateMaterialNo(goods.getCompanyWechatId(), Constant.FC, Constant.FC, 11));
+        }
         goods.insert();
     }
 
@@ -538,6 +541,10 @@ public class WebsitGoodsLogic {
                 this.checkMaterialUnique(goods);
             }
 
+            for (WebsitGoods goods : goodsList) {
+                goods.setGoodsId(commonLogic.generateMaterialNo(goods.getCompanyWechatId(), Constant.FC, Constant.FC, 11));
+            }
+
             websitGoodsService.saveBatch(goodsList);
         }
 

+ 176 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/vender/VenderGoodsLogic.java

@@ -0,0 +1,176 @@
+package com.gree.mall.manager.logic.material.vender;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsBean;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsRelaVO;
+import com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsVO;
+import com.gree.mall.manager.commonmapper.MaterialMapper;
+import com.gree.mall.manager.enums.ExamineStatusEnum;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.plus.entity.WebsitVenderGoods;
+import com.gree.mall.manager.plus.entity.WebsitVenderGoodsItem;
+import com.gree.mall.manager.plus.entity.WebsitVenderGoodsRela;
+import com.gree.mall.manager.plus.service.WebsitVenderGoodsItemService;
+import com.gree.mall.manager.plus.service.WebsitVenderGoodsRelaService;
+import com.gree.mall.manager.plus.service.WebsitVenderGoodsService;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class VenderGoodsLogic {
+
+    private final CommonLogic commonLogic;
+    private final MaterialMapper materialMapper;
+    private final WebsitVenderGoodsService websitVenderGoodsService;
+    private final WebsitVenderGoodsItemService websitVenderGoodsItemService;
+    private final WebsitVenderGoodsRelaService websitVenderGoodsRelaService;
+
+    public IPage<WebsitVenderGoodsVO> page(ZfireParamBean zfireParamBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        FieldUtils.materialParam(zfireParamBean, WebsitVenderGoodsVO.class, adminUser);
+        return materialMapper.websitVenderGoodsPage(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+    }
+
+    public WebsitVenderGoodsBean detail(String id) {
+        WebsitVenderGoods goods = websitVenderGoodsService.getById(id);
+        WebsitVenderGoodsBean bean = new WebsitVenderGoodsBean();
+
+        BeanUtils.copyProperties(goods, bean);
+        final List<WebsitVenderGoodsItem> items = websitVenderGoodsItemService.lambdaQuery()
+                .eq(WebsitVenderGoodsItem::getSheetId, goods.getSheetId())
+                .list();
+        bean.setItems(items);
+
+        return bean;
+    }
+
+    @Transactional
+    public void add(WebsitVenderGoodsBean bean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        bean.setSheetId(IdWorker.getIdStr());
+        this.checkParams(bean);
+
+        if (Objects.nonNull(adminUser.getAdminCompanyWechat())) {
+            bean.setCompanyWechatId(adminUser.getAdminCompanyWechat().getCompanyWechatId());
+            bean.setCompanyWechatName(adminUser.getAdminCompanyWechat().getCompanyName());
+        }
+
+        bean.setStatus(ExamineStatusEnum.SAVE.getKey())
+                .insert();
+        if (CollectionUtil.isNotEmpty(bean.getItems())) {
+            websitVenderGoodsItemService.saveBatch(bean.getItems());
+        }
+    }
+
+    private void checkParams(WebsitVenderGoodsBean bean) {
+        if (StringUtils.isBlank(bean.getVenderId())) {
+            throw new RemoteServiceException("请选择供应商");
+        }
+
+        if (CollectionUtil.isNotEmpty(bean.getItems())) {
+            for (int i = 0; i < bean.getItems().size(); i++) {
+                final WebsitVenderGoodsItem item = bean.getItems().get(i);
+                if (StringUtils.isBlank(item.getGoodsId())) {
+                    throw new RemoteServiceException("第" + (i+1) + "行, 辅材编号不能为空");
+                }
+                item.setSheetId(bean.getSheetId());
+            }
+        }
+    }
+
+    @Transactional
+    public void edit(WebsitVenderGoodsBean bean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        this.checkParams(bean);
+
+        bean.setStatus(ExamineStatusEnum.SAVE.getKey())
+                .updateById();
+
+        websitVenderGoodsItemService.lambdaUpdate()
+                .eq(WebsitVenderGoodsItem::getSheetId, bean.getSheetId())
+                .remove();
+        if (CollectionUtil.isNotEmpty(bean.getItems())) {
+            websitVenderGoodsItemService.saveBatch(bean.getItems());
+        }
+    }
+
+    @Transactional
+    public void confirm(WebsitVenderGoodsBean bean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        this.edit(bean);
+        bean.setStatus(ExamineStatusEnum.OK.getKey())
+                .setConfirmBy(adminUser.getNickName())
+                .setConfirmTime(DateUtil.date())
+                .updateById();
+
+        if (CollectionUtil.isNotEmpty(bean.getItems())) {
+            List<WebsitVenderGoodsRela> relaList = websitVenderGoodsRelaService.lambdaQuery()
+                    .eq(WebsitVenderGoodsRela::getCompanyWechatId, bean.getCompanyWechatId())
+                    .eq(WebsitVenderGoodsRela::getVenderId, bean.getVenderId())
+                    .in(WebsitVenderGoodsRela::getGoodsId, bean.getItems().stream()
+                            .map(WebsitVenderGoodsItem::getGoodsId)
+                            .collect(Collectors.toList()))
+                    .list();
+
+            Map<String, WebsitVenderGoodsRela> relaMap = relaList.stream().collect(Collectors.toMap(WebsitVenderGoodsRela::getGoodsId, Function.identity()));
+
+            List<WebsitVenderGoodsRela> goodsRelaList = new ArrayList<>();
+            for (WebsitVenderGoodsItem item : bean.getItems()) {
+                WebsitVenderGoodsRela goodsRela = relaMap.get(item.getGoodsId());
+                if (Objects.isNull(goodsRela)) {
+                    goodsRela = new WebsitVenderGoodsRela();
+                    goodsRela.setCompanyWechatId(bean.getCompanyWechatId())
+                            .setCompanyWechatName(bean.getCompanyWechatName())
+                            .setVenderId(bean.getVenderId())
+                            .setVenderName(bean.getVenderName())
+                            .setGoodsId(item.getGoodsId())
+                            .setGoodsName(item.getGoodsName())
+                            .setCost(item.getCost())
+                            .setRelaStatus(item.getStatus());
+                } else {
+                    goodsRela.setCost(item.getCost())
+                            .setRelaStatus(item.getStatus());
+                }
+
+                goodsRelaList.add(goodsRela);
+            }
+
+            websitVenderGoodsRelaService.saveOrUpdateBatch(goodsRelaList);
+        }
+    }
+
+    @Transactional
+    public void del(List<String> ids) {
+        websitVenderGoodsService.removeByIds(ids);
+        websitVenderGoodsItemService.lambdaUpdate()
+                .eq(WebsitVenderGoodsItem::getSheetId, ids)
+                .remove();
+    }
+
+    public IPage<WebsitVenderGoodsRelaVO> ralaPage(ZfireParamBean zfireParamBean) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        FieldUtils.materialParam(zfireParamBean, WebsitVenderGoodsRelaVO.class, adminUser);
+        return materialMapper.websitVenderGoodsRalaPage(new Page(zfireParamBean.getPageNum(), zfireParamBean.getPageSize()), zfireParamBean);
+    }
+}

+ 26 - 0
mall-server-api/src/main/resources/mapper/MaterialMapper.xml

@@ -395,4 +395,30 @@
         </where>
 
     </select>
+    <select id="websitVenderGoodsPage"
+            resultType="com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsVO">
+        SELECT
+            ${ex.selected}
+        FROM websit_vender_goods a
+            ${ex.query}
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
+
+    <select id="websitVenderGoodsRalaPage"
+            resultType="com.gree.mall.manager.bean.material.vender.WebsitVenderGoodsRelaVO">
+        SELECT
+            ${ex.selected}
+        FROM
+            websit_vender_goods_rela a
+            JOIN websit_goods b ON a.company_wechat_id = b.company_wechat_id AND a.goods_id = b.goods_id
+            LEFT JOIN websit_goods_category c ON b.goods_category_id = c.category_id
+        ${ex.query}
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
 </mapper>