Browse Source

商品线上分账号/供应商线上分帐号

zhijiezhao 3 years ago
parent
commit
ba72f2d6e8

+ 5 - 0
src/main/java/com/caimei/modules/product/dao/ProductNewDao.java

@@ -3,6 +3,7 @@ package com.caimei.modules.product.dao;
 import com.caimei.modules.product.entity.Product;
 import com.caimei.modules.product.entity.ProductParameters;
 import com.caimei.modules.product.entity.ProductStatusRecord;
+import com.caimei.modules.user.entity.SplitCode;
 import com.caimei.po.ProductImage;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
@@ -56,4 +57,8 @@ public interface ProductNewDao extends CrudDao<Product> {
     void insertStatusRecord(ProductStatusRecord statusRecord);
 
     List<ProductStatusRecord> findAllStatusRemarks(Integer productId);
+
+    List<SplitCode> findSplitCode(Integer shopID);
+
+    String findSplitCodeByProduct(Integer productID);
 }

+ 9 - 0
src/main/java/com/caimei/modules/product/entity/Product.java

@@ -82,6 +82,7 @@ public class Product extends DataEntity<Product> {
     private String recommendType; //相关推荐类型 0自动选择; 1手动推荐
     private Integer combinationID;//商品组合Id
     private String productDetail; //普通机构商品详情1同资质机构商品详情,2用普通机构商品详情
+    private String splitCode; //  该商品分账商户号
     //-----------------  虚拟字段 ----
     private boolean customClass = false;  //是否有自定义分类
     private String brandName;//品牌名称
@@ -211,6 +212,14 @@ public class Product extends DataEntity<Product> {
      */
     private Integer searchType;
 
+    public String getSplitCode() {
+        return splitCode;
+    }
+
+    public void setSplitCode(String splitCode) {
+        this.splitCode = splitCode;
+    }
+
     public String getProductDescribe() {
         return productDescribe;
     }

+ 3 - 1
src/main/java/com/caimei/modules/product/service/ProductService.java

@@ -383,7 +383,9 @@ public class ProductService extends CrudService<ProductDao, Product> {
             }
         }
         product.setQualificationImg(res);
-
+//        if(StringUtils.isNotBlank(product.getSplitCode())&&"0".equals(product.getSplitCode())){
+//            product.setSplitCode(null);
+//        }
         productDao.updateByPrimaryKeySelective(product);
         ProductDetailInfo queryProductDetailInfo = productDao.queryProductDetailInfo(product.getProductID());
         if (queryProductDetailInfo != null) {

+ 4 - 0
src/main/java/com/caimei/modules/product/web/ProductNewController.java

@@ -11,6 +11,7 @@ import com.caimei.modules.product.entity.*;
 import com.caimei.modules.product.service.*;
 import com.caimei.modules.user.entity.CmPageModules;
 import com.caimei.modules.user.entity.CmUserOrganize;
+import com.caimei.modules.user.entity.SplitCode;
 import com.caimei.modules.user.service.CmUserOrganizeService;
 import com.caimei.po.ProductImage;
 import com.caimei.po.ProductLadderPrice;
@@ -294,10 +295,13 @@ public class ProductNewController extends BaseController {
         // 添加相关参数
         List<ProductParameters> productParams = productNewService.getProductParams(product.getProductID());
         product.setProductParametersList(productParams);
+        product.setSplitCode(productNewDao.findSplitCodeByProduct(product.getProductID()));
         //若供应商税率为空,初始化为与机构税率一致
         if (product.getSupplierTaxPoint() == null) {
             product.setSupplierTaxPoint(product.getTaxPoint());
         }
+        List<SplitCode> splitCodeList = productNewDao.findSplitCode(product.getShopID());
+        model.addAttribute("splitCodeList",splitCodeList);
         model.addAttribute("combinationList", combinationList);
         model.addAttribute("brandList", brandList);
         model.addAttribute("classify", classify);

+ 7 - 0
src/main/java/com/caimei/modules/user/dao/NewCmShopDao.java

@@ -2,6 +2,7 @@ package com.caimei.modules.user.dao;
 
 import com.caimei.modules.cibe.entity.ShopCert;
 import com.caimei.modules.user.entity.NewCmShop;
+import com.caimei.modules.user.entity.SplitCode;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import org.apache.ibatis.annotations.Param;
@@ -30,4 +31,10 @@ public interface NewCmShopDao extends CrudDao<NewCmShop> {
 
     // 退还可用余额
     void backAbleRebateAmount(@Param("balancePayFee") Double balancePayFee, @Param("shopID")  Integer shopID);
+
+    void deleteSplitCode(Integer shopID);
+
+    void insertSplitCode(SplitCode splitCode);
+
+    List<SplitCode> findSplitCode(Integer shopID);
 }

+ 6 - 5
src/main/java/com/caimei/modules/user/entity/NewCmShop.java

@@ -6,6 +6,7 @@ import org.hibernate.validator.constraints.Length;
 import javax.validation.constraints.NotNull;
 import java.beans.Transient;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 用户模块重构-供应商信息Entity
@@ -76,7 +77,7 @@ public class NewCmShop extends DataEntity<NewCmShop> {
     private String productionLicense;//生产许可
     private String sanitationPermit;//卫生许可
     private String taxPermit;//税务许可
-    private String commercialCode; //分账方,子商户商编
+    private List<SplitCode> splitCodes; //分账方,子商户商编
     private String socialCreditCode; //统一社会信用代码
 
     /**
@@ -989,12 +990,12 @@ public class NewCmShop extends DataEntity<NewCmShop> {
         this.source = source;
     }
 
-    public String getCommercialCode() {
-        return commercialCode;
+    public List<SplitCode> getSplitCodes() {
+        return splitCodes;
     }
 
-    public void setCommercialCode(String commercialCode) {
-        this.commercialCode = commercialCode;
+    public void setSplitCodes(List<SplitCode> splitCodes) {
+        this.splitCodes = splitCodes;
     }
 
     public String getSocialCreditCode() {

+ 33 - 0
src/main/java/com/caimei/modules/user/entity/SplitCode.java

@@ -0,0 +1,33 @@
+package com.caimei.modules.user.entity;
+
+import com.thinkgem.jeesite.common.persistence.DataEntity;
+
+public class SplitCode extends DataEntity<SplitCode> {
+    private String splitCode;//分账商户号
+    private String codeRemark;//账户备注
+    private Integer shopId; //供应商ID
+
+    public String getSplitCode() {
+        return splitCode;
+    }
+
+    public void setSplitCode(String splitCode) {
+        this.splitCode = splitCode;
+    }
+
+    public String getCodeRemark() {
+        return codeRemark;
+    }
+
+    public void setCodeRemark(String codeRemark) {
+        this.codeRemark = codeRemark;
+    }
+
+    public Integer getShopId() {
+        return shopId;
+    }
+
+    public void setShopId(Integer shopId) {
+        this.shopId = shopId;
+    }
+}

+ 195 - 176
src/main/java/com/caimei/modules/user/service/NewCmShopService.java

@@ -2,12 +2,14 @@ package com.caimei.modules.user.service;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 import com.caimei.dfs.image.beens.ImageUploadInfo;
 import com.caimei.modules.cibe.entity.ShopCert;
 import com.caimei.modules.common.utils.UploadUtils;
 import com.caimei.modules.sys.utils.UploadImageUtils;
 import com.caimei.modules.user.dao.CmUserDao;
+import com.caimei.modules.user.entity.SplitCode;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.utils.Encodes;
 import com.thinkgem.jeesite.common.utils.StringUtils;
@@ -24,6 +26,7 @@ import com.caimei.modules.user.dao.NewCmShopDao;
 
 /**
  * 用户模块重构-供应商信息Service
+ *
  * @author zcp
  * @version 2018-05-21
  */
@@ -31,239 +34,255 @@ import com.caimei.modules.user.dao.NewCmShopDao;
 @Transactional(readOnly = true)
 public class NewCmShopService extends CrudService<NewCmShopDao, NewCmShop> {
 
-	@Autowired
-	private NewCmShopDao newCmShopDao;
-	@Autowired
-	private CmUserDao cmUserDao;
+    @Autowired
+    private NewCmShopDao newCmShopDao;
+    @Autowired
+    private CmUserDao cmUserDao;
 
-	public NewCmShop get(String id) {
-		return super.get(id);
-	}
+    public NewCmShop get(String id) {
+        return super.get(id);
+    }
 
-	public List<NewCmShop> findList(NewCmShop newCmShop) {
-		return super.findList(newCmShop);
-	}
+    public List<NewCmShop> findList(NewCmShop newCmShop) {
+        return super.findList(newCmShop);
+    }
 
-	public Page<NewCmShop> findPage(Page<NewCmShop> page, NewCmShop newCmShop) {
-		return super.findPage(page, newCmShop);
-	}
+    public Page<NewCmShop> findPage(Page<NewCmShop> page, NewCmShop newCmShop) {
+        return super.findPage(page, newCmShop);
+    }
 
-@Transactional(readOnly = false)
-	public void updateUserAudit(String auditStatus, String auditNote, String auditTime, String manufacturerStatus, Integer userId,String validFlag){
-		cmUserDao.updateUserAudit(auditStatus,auditNote,auditTime,manufacturerStatus,userId,validFlag);
-	}
+    @Transactional(readOnly = false)
+    public void updateUserAudit(String auditStatus, String auditNote, String auditTime, String manufacturerStatus, Integer userId, String validFlag) {
+        cmUserDao.updateUserAudit(auditStatus, auditNote, auditTime, manufacturerStatus, userId, validFlag);
+    }
 
-@Transactional(readOnly = false)
-	public void updateShopStatus(String status,Integer userID){
-		cmUserDao.updateShopStatus(status,userID);
-	}
+    @Transactional(readOnly = false)
+    public void updateShopStatus(String status, Integer userID) {
+        cmUserDao.updateShopStatus(status, userID);
+    }
 
-@Transactional(readOnly = false)
-	public void updateShopAudit(String auditStatus, String auditNote, String auditTime,String name, String manufacturerStatus, Integer shopId){
-		cmUserDao.updateShopAudit(auditStatus,auditNote,auditTime,name,manufacturerStatus,shopId);
-	}
+    @Transactional(readOnly = false)
+    public void updateShopAudit(String auditStatus, String auditNote, String auditTime, String name, String manufacturerStatus, Integer shopId) {
+        cmUserDao.updateShopAudit(auditStatus, auditNote, auditTime, name, manufacturerStatus, shopId);
+    }
 
-	public NewCmShop getShopcert(NewCmShop newCmShop){
-		Integer shopId = newCmShop.getShopID();
-		// 荣誉证书
-		List<ShopCert> shopcert = newCmShopDao.getShopcert(shopId,"1");
-		if(CollectionUtils.isNotEmpty(shopcert) && shopcert.size() > 0){
-			if(shopcert.size() == 1){
-				newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
-			}
-			if(shopcert.size() == 2){
-				newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
-				newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
-			}
-			if(shopcert.size() == 3){
-				newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
-				newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
-				newCmShop.setHonorCertificate3(shopcert.get(2).getImage());
-			}
-			if(shopcert.size() == 4){
-				newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
-				newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
-				newCmShop.setHonorCertificate3(shopcert.get(2).getImage());
-				newCmShop.setHonorCertificate4(shopcert.get(3).getImage());
-			}
-			if(shopcert.size() >= 5){
-				newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
-				newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
-				newCmShop.setHonorCertificate3(shopcert.get(2).getImage());
-				newCmShop.setHonorCertificate4(shopcert.get(3).getImage());
-				newCmShop.setHonorCertificate5(shopcert.get(4).getImage());
-			}
-		}
+    public NewCmShop getShopcert(NewCmShop newCmShop) {
+        Integer shopId = newCmShop.getShopID();
+        // 荣誉证书
+        List<ShopCert> shopcert = newCmShopDao.getShopcert(shopId, "1");
+        if (CollectionUtils.isNotEmpty(shopcert) && shopcert.size() > 0) {
+            if (shopcert.size() == 1) {
+                newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
+            }
+            if (shopcert.size() == 2) {
+                newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
+                newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
+            }
+            if (shopcert.size() == 3) {
+                newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
+                newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
+                newCmShop.setHonorCertificate3(shopcert.get(2).getImage());
+            }
+            if (shopcert.size() == 4) {
+                newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
+                newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
+                newCmShop.setHonorCertificate3(shopcert.get(2).getImage());
+                newCmShop.setHonorCertificate4(shopcert.get(3).getImage());
+            }
+            if (shopcert.size() >= 5) {
+                newCmShop.setHonorCertificate1(shopcert.get(0).getImage());
+                newCmShop.setHonorCertificate2(shopcert.get(1).getImage());
+                newCmShop.setHonorCertificate3(shopcert.get(2).getImage());
+                newCmShop.setHonorCertificate4(shopcert.get(3).getImage());
+                newCmShop.setHonorCertificate5(shopcert.get(4).getImage());
+            }
+        }
 
-		List<ShopCert> shopcert2 = newCmShopDao.getShopcert(shopId,"2");
-		if(CollectionUtils.isNotEmpty(shopcert2) && shopcert2.size() > 0){
-			newCmShop.setProductionLicense(shopcert2.get(0).getImage());
-		}
+        List<ShopCert> shopcert2 = newCmShopDao.getShopcert(shopId, "2");
+        if (CollectionUtils.isNotEmpty(shopcert2) && shopcert2.size() > 0) {
+            newCmShop.setProductionLicense(shopcert2.get(0).getImage());
+        }
 
-		List<ShopCert> shopcert3 = newCmShopDao.getShopcert(shopId,"3");
-		if(CollectionUtils.isNotEmpty(shopcert3) && shopcert3.size() > 0){
-			newCmShop.setProductCertificate(shopcert3.get(0).getImage());
-		}
+        List<ShopCert> shopcert3 = newCmShopDao.getShopcert(shopId, "3");
+        if (CollectionUtils.isNotEmpty(shopcert3) && shopcert3.size() > 0) {
+            newCmShop.setProductCertificate(shopcert3.get(0).getImage());
+        }
 
-		List<ShopCert> shopcert5 = newCmShopDao.getShopcert(shopId,"5");
-		if(CollectionUtils.isNotEmpty(shopcert5) && shopcert5.size() > 0){
-			newCmShop.setSanitationPermit(shopcert5.get(0).getImage());
-		}
+        List<ShopCert> shopcert5 = newCmShopDao.getShopcert(shopId, "5");
+        if (CollectionUtils.isNotEmpty(shopcert5) && shopcert5.size() > 0) {
+            newCmShop.setSanitationPermit(shopcert5.get(0).getImage());
+        }
 
-		List<ShopCert> shopcert6 = newCmShopDao.getShopcert(shopId,"6");
-		if(CollectionUtils.isNotEmpty(shopcert6) && shopcert6.size() > 0){
-			newCmShop.setTaxPermit(shopcert6.get(0).getImage());
-		}
-		return newCmShop;
-	}
+        List<ShopCert> shopcert6 = newCmShopDao.getShopcert(shopId, "6");
+        if (CollectionUtils.isNotEmpty(shopcert6) && shopcert6.size() > 0) {
+            newCmShop.setTaxPermit(shopcert6.get(0).getImage());
+        }
+        //分帐号查询
+        List<SplitCode> splitCodes = newCmShopDao.findSplitCode(newCmShop.getShopID());
+        if (null != splitCodes && splitCodes.size() > 0) {
+            newCmShop.setSplitCodes(splitCodes);
+        }
+        return newCmShop;
+    }
 
-	@Transactional(readOnly = false)
-	public void update(NewCmShop newCmShop){
-	    // 供应商logo
-		String logo = newCmShop.getLogo();
-		if(StringUtils.isNotEmpty(logo)){
-			logo = getImageUrl(logo);
-			newCmShop.setLogo(logo);
-		}
-		// 营业执照
+    @Transactional(readOnly = false)
+    public void update(NewCmShop newCmShop) {
+        // 供应商logo
+        String logo = newCmShop.getLogo();
+        if (StringUtils.isNotEmpty(logo)) {
+            logo = getImageUrl(logo);
+            newCmShop.setLogo(logo);
+        }
+        // 营业执照
         String businessLicenseImage = newCmShop.getBusinessLicenseImage();
         if (StringUtils.isNotEmpty(businessLicenseImage)) {
-			businessLicenseImage = getImageUrl(businessLicenseImage);
+            businessLicenseImage = getImageUrl(businessLicenseImage);
             newCmShop.setBusinessLicenseImage(businessLicenseImage);
         }
         // 供应商基础信息保存
-		newCmShopDao.update(newCmShop);
-		//清除所有供应商证书再保存
-		newCmShopDao.deleteCert(newCmShop.getShopID());
-		// 1、荣誉证书
-		String honorCertificate1 = newCmShop.getHonorCertificate1();
-		String honorCertificate2 = newCmShop.getHonorCertificate2();
-		String honorCertificate3 = newCmShop.getHonorCertificate3();
-		String honorCertificate4 = newCmShop.getHonorCertificate4();
-		String honorCertificate5 = newCmShop.getHonorCertificate5();
-		// 2、生产许可
-		String productionLicense = newCmShop.getProductionLicense();
-		// 3、产品证书
-		String productCertificate = newCmShop.getProductCertificate();
-		///5、卫生许可
-		String sanitationPermit = newCmShop.getSanitationPermit();
-		// 6、税务许可
-		String taxPermit = newCmShop.getTaxPermit();
-		if(StringUtils.isNotEmpty(honorCertificate1)){
-			honorCertificate1 = getImageUrl(honorCertificate1);
-			ShopCert shopCert = new ShopCert();
+        newCmShopDao.update(newCmShop);
+        //清除所有供应商证书再保存
+        newCmShopDao.deleteCert(newCmShop.getShopID());
+        // 1、荣誉证书
+        String honorCertificate1 = newCmShop.getHonorCertificate1();
+        String honorCertificate2 = newCmShop.getHonorCertificate2();
+        String honorCertificate3 = newCmShop.getHonorCertificate3();
+        String honorCertificate4 = newCmShop.getHonorCertificate4();
+        String honorCertificate5 = newCmShop.getHonorCertificate5();
+        // 2、生产许可
+        String productionLicense = newCmShop.getProductionLicense();
+        // 3、产品证书
+        String productCertificate = newCmShop.getProductCertificate();
+        ///5、卫生许可
+        String sanitationPermit = newCmShop.getSanitationPermit();
+        // 6、税务许可
+        String taxPermit = newCmShop.getTaxPermit();
+        if (StringUtils.isNotEmpty(honorCertificate1)) {
+            honorCertificate1 = getImageUrl(honorCertificate1);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("1");//
             shopCert.setName("荣誉证书");
             shopCert.setImage(honorCertificate1);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(honorCertificate2)){
-			honorCertificate2 = getImageUrl(honorCertificate2);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(honorCertificate2)) {
+            honorCertificate2 = getImageUrl(honorCertificate2);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("1");//
             shopCert.setName("荣誉证书");
             shopCert.setImage(honorCertificate2);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(honorCertificate3)){
-			honorCertificate3 = getImageUrl(honorCertificate3);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(honorCertificate3)) {
+            honorCertificate3 = getImageUrl(honorCertificate3);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("1");//
             shopCert.setName("荣誉证书");
             shopCert.setImage(honorCertificate3);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(honorCertificate4)){
-			honorCertificate4 = getImageUrl(honorCertificate4);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(honorCertificate4)) {
+            honorCertificate4 = getImageUrl(honorCertificate4);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("1");//
             shopCert.setName("荣誉证书");
             shopCert.setImage(honorCertificate4);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(honorCertificate5)){
-			honorCertificate5 = getImageUrl(honorCertificate5);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(honorCertificate5)) {
+            honorCertificate5 = getImageUrl(honorCertificate5);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("1");//
             shopCert.setName("荣誉证书");
             shopCert.setImage(honorCertificate5);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(productionLicense)){
-			productionLicense = getImageUrl(productionLicense);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(productionLicense)) {
+            productionLicense = getImageUrl(productionLicense);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("2");
             shopCert.setName("生产经营证书");
             shopCert.setImage(productionLicense);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(productCertificate)){
-			productCertificate = getImageUrl(productCertificate);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(productCertificate)) {
+            productCertificate = getImageUrl(productCertificate);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("3");
             shopCert.setName("产品证书");
             shopCert.setImage(productCertificate);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(sanitationPermit)){
-			sanitationPermit = getImageUrl(sanitationPermit);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(sanitationPermit)) {
+            sanitationPermit = getImageUrl(sanitationPermit);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("5");
             shopCert.setName("卫生许可");
             shopCert.setImage(sanitationPermit);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-		if(StringUtils.isNotEmpty(taxPermit)){
-			taxPermit = getImageUrl(taxPermit);
-			ShopCert shopCert = new ShopCert();
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (StringUtils.isNotEmpty(taxPermit)) {
+            taxPermit = getImageUrl(taxPermit);
+            ShopCert shopCert = new ShopCert();
             shopCert.setShopID(newCmShop.getShopID());
             shopCert.setShopCertTypeID("6");
             shopCert.setName("税务许可");
             shopCert.setImage(taxPermit);
-			newCmShopDao.saveShopcert(shopCert);
-		}
-
-	}
-
-	/**
-	 * 获取商品图片服务器全路径
-	 * @param imageUrl
-	 * @return
-	 */
-	public String getImageUrl(String imageUrl){
-		 String photoServer = Global.getConfig("photoServer");//获取文件服务器地址
-            ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
-            if(StringUtils.isNotBlank(imageUrl) && !imageUrl.startsWith("http:") && !imageUrl.startsWith("https:")){
-                imageUrl= Encodes.urlDecode(imageUrl);
-                String realPath = UploadImageUtils.getAbsolutePath(imageUrl);
-                int pointerIndex = realPath.lastIndexOf(".");
-                try {
-                    saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex,realPath);
-                    imageUrl = photoServer + saveImageSerivce.getSource();
-                } catch (Exception e) {
-                    logger.error("图片上传错误:"+e.toString(),e);
+            newCmShopDao.saveShopcert(shopCert);
+        }
+        if (null != newCmShop.getSplitCodes() && newCmShop.getSplitCodes().size() > 0) {
+            //删除旧分帐号
+            newCmShopDao.deleteSplitCode(newCmShop.getShopID());
+            for (SplitCode splitCode : newCmShop.getSplitCodes()) {
+                if(StringUtils.isNotBlank(splitCode.getSplitCode())){
+                    splitCode.setShopId(newCmShop.getShopID());
+                    //增加新分帐号
+                    newCmShopDao.insertSplitCode(splitCode);
                 }
             }
-            return imageUrl;
-	}
+        }
+    }
+
+    /**
+     * 获取商品图片服务器全路径
+     *
+     * @param imageUrl
+     * @return
+     */
+    public String getImageUrl(String imageUrl) {
+        String photoServer = Global.getConfig("photoServer");//获取文件服务器地址
+        ImageUploadInfo saveImageSerivce = new ImageUploadInfo();
+        if (StringUtils.isNotBlank(imageUrl) && !imageUrl.startsWith("http:") && !imageUrl.startsWith("https:")) {
+            imageUrl = Encodes.urlDecode(imageUrl);
+            String realPath = UploadImageUtils.getAbsolutePath(imageUrl);
+            int pointerIndex = realPath.lastIndexOf(".");
+            try {
+                saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath);
+                imageUrl = photoServer + saveImageSerivce.getSource();
+            } catch (Exception e) {
+                logger.error("图片上传错误:" + e.toString(), e);
+            }
+        }
+        return imageUrl;
+    }
 
 
-	@Transactional(readOnly = false)
-	public void save(NewCmShop newCmShop) {
-		super.save(newCmShop);
-	}
+    @Transactional(readOnly = false)
+    public void save(NewCmShop newCmShop) {
+        super.save(newCmShop);
+    }
 
-	@Transactional(readOnly = false)
-	public void delete(NewCmShop newCmShop) {
-		super.delete(newCmShop);
-	}
+    @Transactional(readOnly = false)
+    public void delete(NewCmShop newCmShop) {
+        super.delete(newCmShop);
+    }
 
 }

+ 1 - 0
src/main/resources/mappings/modules/product/ProductMapper.xml

@@ -1608,6 +1608,7 @@
 			<if test="trainingFee != null">
 				trainingFee = #{trainingFee},
 			</if>
+				splitCode = #{splitCode}
 		</set>
 		where productID = #{productID}
 	</update>

+ 8 - 0
src/main/resources/mappings/modules/product/ProductNewMapper.xml

@@ -741,6 +741,14 @@
         ORDER BY
           addTime DESC
     </select>
+    <select id="findSplitCode" resultType="com.caimei.modules.user.entity.SplitCode">
+        select shopId,commercialCode as splitCode,codeDetail as codeRemark
+        from cm_shop_splitcode
+        where shopId=#{shopID}
+    </select>
+    <select id="findSplitCodeByProduct" resultType="java.lang.String">
+        select splitCode from product where productID = #{productID}
+    </select>
 
 </mapper>
 

+ 14 - 5
src/main/resources/mappings/modules/user/NewCmShopMapper.xml

@@ -54,7 +54,6 @@
 		a.rebateAmount AS "rebateAmount",
 		a.bankAccountName AS "bankAccountName",
 		a.bankName AS "bankName",
-		a.commercialCode AS "commercialCode",
 		a.socialCreditCode AS "socialCreditCode",
 		u.email,
 		u.source AS "source",
@@ -149,6 +148,11 @@
 			</otherwise>
 		</choose>
 	</select>
+	<select id="findSplitCode" resultType="com.caimei.modules.user.entity.SplitCode">
+		select shopId,commercialCode as splitCode,codeDetail as codeRemark
+		from cm_shop_splitcode
+		where shopId = #{shopID}
+	</select>
 
 	<insert id="saveShopcert" parameterType="com.caimei.modules.cibe.entity.ShopCert" keyProperty="shopCertID" useGeneratedKeys="true">
         INSERT INTO `shopcert` (
@@ -257,7 +261,11 @@
 			#{socialCreditCode}
 		)
 	</insert>
-
+	<insert id="insertSplitCode">
+		insert into cm_shop_splitcode
+		(shopId, commercialCode, codeDetail)
+		values (#{shopId},#{splitCode},#{codeRemark})
+	</insert>
 	<update id="update">
 		UPDATE shop
 		<set>
@@ -376,9 +384,6 @@
 			<if test="bankName != null">
 				bankName=#{bankName},
 			</if>
-			<if test="commercialCode != null">
-				commercialCode = #{commercialCode},
-			</if>
 			<if test="socialCreditCode != null">
 				socialCreditCode = #{socialCreditCode}
 			</if>
@@ -395,6 +400,10 @@
 		DELETE FROM shopcert
 		WHERE shopID = #{shopID}
 	</delete>
+	<delete id="deleteSplitCode">
+		delete from cm_shop_splitcode
+		where shopId = #{shopID}
+	</delete>
 
 	<update id="updateAbleRebateAmount" parameterType="NewCmShop">
 		update shop set ableRebateAmount = #{ableRebateAmount} where shopID = #{shopID}

+ 9 - 0
src/main/webapp/WEB-INF/views/modules/product-new/productEdit.jsp

@@ -443,6 +443,15 @@
                 </span>
             </td>
         </tr>
+        <tr>
+            <th><span class="red">*</span>线上分账账号:</th>
+            <td colspan="3">
+                <form:select path="splitCode" class="input-small">
+                    <form:option value="" label="采美"/>
+                    <form:options items="${splitCodeList}" itemLabel="splitCode" itemValue="splitCode" htmlEscape="false"/>
+                </form:select>
+            </td>
+        </tr>
         <tr id="taxPointDiv">
             <th><span class="red">*</span>机构税率:</th>
             <td>

+ 56 - 7
src/main/webapp/WEB-INF/views/modules/user/newCmShopForm.jsp

@@ -46,6 +46,7 @@
 			})
 		}
 
+
 		// 初始化主营内容数据
         $(function () {
 			var html = '';
@@ -379,8 +380,6 @@ function loadProvince() {
     $.ajax({
         type:'Get',
         success:function (date) {
-
-
         }
     });
 }
@@ -675,7 +674,6 @@ function loadTown(curTown) {
 								<form:option value="0" label="未缴纳"/>
 						</form:select>
 					</td>
-
 					<td >&nbsp;&nbsp;
 						<span class="maintenanceDate1">
 							<span><b>缴纳时间:</b></span>
@@ -683,13 +681,33 @@ function loadTown(curTown) {
 							onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
 						</span>
 					</td>
-                    <td >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                    <span><b>线上分账商户号:</b></span>
-                    <form:input path="commercialCode" htmlEscape="false" placeholder="请输入8位商户号" maxlength="8" class="input-xlarge"/>
-                    </td>
             	</tr>
 			</table>
 		</div>
+		<div class="control-group">
+			<tr>
+				<th><b>分账商户号:</b></th>
+				<td colspan="3" class="params">
+					<div id="addParamsItems">
+							<%--相关参数层--%>
+						<input type="hidden" value="${fn:length(newCmShop.splitCodes)}"
+							   id="productParametersLength">
+						<c:forEach items="${newCmShop.splitCodes}" var="item" varStatus="varIndex">
+							<div id="paramsItem" class="paramsItem">
+								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<form:input path="splitCodes[${varIndex.index}].splitCode" id="paramsName"
+											maxlength="8" placeholder="请输入分帐商户号" class="input-small"/>
+								<form:input path="splitCodes[${varIndex.index}].codeRemark" id="paramsContent"
+											maxlength="10" placeholder="请输入账户备注"
+											class="input-small"/>
+								<span type="button" style="cursor: pointer;color: #0B61A4"
+									  onclick="deleteParams(this)">删除</span>
+							</div>
+						</c:forEach>
+					</div>
+					&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button class="addParams" onclick="return false">添加参数</button>
+				</td>
+			</tr>
+		</div>
 		<div class="control-group">
 			<b>公司基本信息</b>
 			<table style="border-collapse: separate; border-spacing: 10px; ">
@@ -1030,5 +1048,36 @@ function loadTown(curTown) {
 			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
 		</div>
 	</form:form>
+
+
+<script>
+
+	var productParametersIndex = $('#productParametersLength').val() - 1;
+	$(".addParams").click(function () {
+		var val = $("#paramsName").val();
+		// alertx("+++++"+val.length)         splitCodes[${varIndex.index}].splitCode
+		productParametersIndex++;
+		var html = '<div id="paramsItem" class="paramsItem">';
+		html += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="splitCodes[' + [productParametersIndex] + '].splitCode" id="splitCode" maxlength="8" placeholder="请输入分帐商户号" type="text" class="input-small"/>&nbsp;';
+		html += '<input name="splitCodes[' + [productParametersIndex] + '].codeRemark" id="codeRemark" maxlength="10" placeholder="请输入账户备注"  type="text"   class="input-small"/>&nbsp;';
+		html += '<span type="button" style="cursor: pointer;color: #0B61A4" onclick="deleteParams(this)"">删除</span>';
+		html += '</div>';
+		$("#addParamsItems").append(html).show();
+		var paramsItemLength = $('.paramsItem').length;
+		if (paramsItemLength === 30) {
+			$(this).hide();
+			return
+		}
+	});
+
+	//删除相关参数
+	function deleteParams(paramsThis) {
+		$(paramsThis).parent().remove();
+		var paramsItemLength = $('.paramsItem').length;
+		if (paramsItemLength < 50) {
+			$('.addParams').show();
+		}
+	}
+</script>
 </body>
 </html>