Browse Source

【品牌供应商】-- 新增品牌供应商删除申请功能;增加审核删除申请操作

wangyc 8 years ago
parent
commit
cf2e3e67ee

+ 11 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/controller/VendorListSubmitController.java

@@ -61,6 +61,17 @@ public class VendorListSubmitController {
         return vendorListSubmitService.save(vendorListSubmit);
     }
 
+    /**
+     * 删除供应商申请
+     * @param id 供应商id
+     * @return
+     */
+    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
+    public VendorListSubmit delete(@PathVariable("id") Long id) {
+        logger.log("品牌-供应商申请", "删除品牌供应商申请", "供应商id:" + id);
+        return vendorListSubmitService.delete(id);
+    }
+
     /**
      * 更新供应商申请
      * @param vendorListSubmit

+ 34 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/modal/VendorListSubmit.java

@@ -120,6 +120,15 @@ public class VendorListSubmit implements Serializable {
     @Column(name = "vls_status")
     private Integer status;
 
+    /**
+     * 申请操作类型
+     * DELETED(112, "删除")
+     * PRELIMINARY(818, "新增")
+     * ACTIVE(815, "更新")
+     */
+    @Column(name = "vls_type")
+    private Integer type;
+
     /**
      * 来源品牌--供应商id,以判断是否更新
      */
@@ -286,6 +295,14 @@ public class VendorListSubmit implements Serializable {
         this.status = status;
     }
 
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
     public Long getVendorid() {
         return vendorid;
     }
@@ -325,4 +342,21 @@ public class VendorListSubmit implements Serializable {
     public void setAuditer(UserBaseInfo auditer) {
         this.auditer = auditer;
     }
+
+    public VendorListSubmit() {
+    }
+
+    public VendorListSubmit(VendorList vendorList) {
+        this.vendorName = vendorList.getVendorName();
+        this.img = vendorList.getImg();
+        this.license = vendorList.getLicense();
+        this.area = vendorList.getArea();
+        this.detailAddress = vendorList.getDetailAddress();
+        this.tel = vendorList.getTel();
+        this.fax = vendorList.getFax();
+        this.website = vendorList.getWebsite();
+        this.storeuuid = vendorList.getStoreuuid();
+        this.email = vendorList.getEmail();
+        this.branduuid = vendorList.getBranduuid();
+    }
 }

+ 7 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/service/VendorListSubmitService.java

@@ -28,6 +28,13 @@ public interface VendorListSubmitService {
      */
     VendorListSubmit save(VendorListSubmit vendorListSubmit);
 
+    /**
+     * 删除供应商申请
+     * @param id 供应商id
+     * @return
+     */
+    VendorListSubmit delete(Long id);
+
     /**
      * 更新供应商
      * @param vendorListSubmit

+ 55 - 15
src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/VendorListSubmitServiceImpl.java

@@ -18,6 +18,13 @@ import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
@@ -30,14 +37,6 @@ import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
 /**
  * Created by wangyc on 2017/11/27.
  *
@@ -96,6 +95,25 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
         vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
         vendorListSubmit.setUpdatetime(new Date());
         vendorListSubmit.setStatus(Status.SUBMITTED.value());
+        // 设置操作类型为新增
+        vendorListSubmit.setType(Status.PRELIMINARY.value());
+        return vendorListSubmitDao.save(vendorListSubmit);
+    }
+
+    @Override
+    public VendorListSubmit delete(Long id) {
+        VendorList oldVendor = vendorListDao.findOne(id);
+        if (oldVendor == null) {
+            throw new IllegalOperatorException("此供应商信息不存在,请确认后再进行操作");
+        }
+
+        VendorListSubmit vendorListSubmit = new VendorListSubmit(oldVendor);
+        vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
+        vendorListSubmit.setUpdatetime(new Date());
+        vendorListSubmit.setVendorid(oldVendor.getId());
+        vendorListSubmit.setStatus(Status.SUBMITTED.value());
+        // 设置操作类型为删除
+        vendorListSubmit.setType(Status.DELETED.value());
         return vendorListSubmitDao.save(vendorListSubmit);
     }
 
@@ -110,6 +128,8 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
         vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
         vendorListSubmit.setUpdatetime(new Date());
         vendorListSubmit.setStatus(Status.SUBMITTED.value());
+        // 设置操作类型为更新
+        vendorListSubmit.setType(Status.ACTIVE.value());
         vendorListSubmit.setId(null);
         return vendorListSubmitDao.save(vendorListSubmit);
     }
@@ -123,16 +143,35 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
         vendorListSubmit.setAudittime(new Date());
         vendorListSubmitDao.save(vendorListSubmit);
 
-        VendorList vendorList = new VendorList(vendorListSubmit);
-        if (vendorListSubmit.getVendorid() != null) { // 若为更新则更新之前的供应商信息
-            VendorList oldVendorList = vendorListDao.findOne(vendorListSubmit.getVendorid());
-            if (oldVendorList != null)
-                vendorList.setId(oldVendorList.getId());
+        // 删除申请,删除原供应商信息
+        if (Status.DELETED.value() != vendorListSubmit.getType()) {
+            // 检测关联供应商信息有效性
+            checkVendorid(vendorListSubmit);
+            vendorListDao.delete(vendorListSubmit.getVendorid());
+        } else {
+            VendorList vendorList = new VendorList(vendorListSubmit);
+            // 若为更新则更新之前的供应商信息
+            if (Status.ACTIVE.value() == vendorListSubmit.getType()) {
+                // 检测关联供应商信息有效性
+                checkVendorid(vendorListSubmit);
+                vendorList.setId(vendorListSubmit.getVendorid());
+            }
+            vendorListDao.save(vendorList);
         }
-        vendorListDao.save(vendorList);
+
         return vendorListSubmit;
     }
 
+    /**
+     * 检测关联供应商信息有效性
+     * @param vendorListSubmit 供应商申请
+     */
+    private void checkVendorid(VendorListSubmit vendorListSubmit) {
+        if (vendorListSubmit.getVendorid() == null || vendorListDao.findOne(vendorListSubmit.getVendorid()) == null) {
+            throw new IllegalOperatorException("原供应商信息不存在,请重新确认后再进行操作");
+        }
+    }
+
     @Override
     public VendorListSubmit unaudit(Long id) {
         VendorListSubmit vendorListSubmit = vendorListSubmitDao.findOne(id);
@@ -317,7 +356,8 @@ public class VendorListSubmitServiceImpl implements VendorListSubmitService {
                 vendorListSubmit.setUpdateruu(SystemSession.getUser().getUserUU());
                 vendorListSubmit.setUpdatetime(new Date());
                 vendorListSubmit.setStatus(Status.SUBMITTED.value());
-
+                // 设置操作类型为新增
+                vendorListSubmit.setType(Status.PRELIMINARY.value());
                 vendorListSubmitList.add(vendorListSubmit);
             }
         }