Browse Source

品类编码规则修改

anderx 8 years ago
parent
commit
4c6a49277d

+ 9 - 3
src/main/java/com/goafanti/admin/controller/AdminVarietiesApiController.java

@@ -16,7 +16,7 @@ import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.utils.StringUtils;
 @RestController
-@RequestMapping("api/admin/Varieties")
+@RequestMapping("open/api/admin/Varieties")
 public class AdminVarietiesApiController extends CertifyApiController{
 	@Resource
 	private AdminVarietiesService adminVarietiesService;
@@ -43,9 +43,11 @@ public class AdminVarietiesApiController extends CertifyApiController{
 			res.getError().add(buildError( "品类层级不能大于3", "品类层级不能大于3")); 
 			return res;
 		}
-		
+		if (adminVarietiesService.getCountSon(superId)>99) {
+			res.getError().add(buildError( "品类下级最多存在99个", "品类下级最多存在99个")); 
+			return res;
+		}
 		res.setData(adminVarietiesService.insert(cname,superId));
-		
 		return res;
 		
 	}
@@ -102,6 +104,10 @@ public class AdminVarietiesApiController extends CertifyApiController{
 			res.getError().add(buildError( "品类层级不能超过三级", "品类层级不能超过三级"));
 			return res;
 		}
+		if (adminVarietiesService.getCountSon(superId)>99) {
+			res.getError().add(buildError( "品类下级最多存在99个", "品类下级最多存在99个")); 
+			return res;
+		}
 		res.setData(adminVarietiesService.updateVarietoes(id, cname, superId, status, varietiesLogo));
 		return res; 
 	}

+ 15 - 10
src/main/java/com/goafanti/admin/service/impl/AdminVarietiesServiceImpl.java

@@ -33,16 +33,22 @@ public class AdminVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesM
 		buv.setCname(cname);
 		buv.setSuperId(superId);
 		buv.setDeleteSign(0);
-		String str=businessVarietiesMapper.getCid(superId);
-		int i=Integer.valueOf(businessVarietiesMapper.getCount(superId));
-		int w=i+1;
-			if(w<10){
-				buv.setCid(str+"0"+w);
-			}else {
-				buv.setCid(str+w);
-			
+		String str=businessVarietiesMapper.getCidMax(superId);
+		String scid=businessVarietiesMapper.getCid(superId);
+		if (null==str) {
+			buv.setCid(scid+"01");	
+		}else {
+			int i=Integer.valueOf(str.substring(str.length()-2, str.length()));
+			 i=(i%99)+1;
+				String s;
+				if (i<10) {
+					s=str.substring(0,str.length()-2)+"0"+i;
+				}else {
+					s=str.substring(0,str.length()-2)+i;
+				}
+				buv.setCid(s);
 		}
-		
+		System.out.println("========================cid:"+buv.getCid());
 		//判断是否数据库这个ID已经存在
 		String n=businessVarietiesMapper.ThanCid(buv.getCid());
 		while(StringUtils.isNotBlank(n)) {
@@ -158,7 +164,6 @@ public class AdminVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesM
 		bs.setLayer(bs.getCid().length()/2-1);
 		bs.setUpdateTime(new Date());
 		bs.setStatus(status);
-		System.out.println("---------------------------"+varietiesLogo);
 		bs.setVarietiesLogo(varietiesLogo);
 		return businessVarietiesMapper.updateByPrimaryKey(bs);
 	}

+ 2 - 0
src/main/java/com/goafanti/common/dao/BusinessVarietiesMapper.java

@@ -119,4 +119,6 @@ public interface BusinessVarietiesMapper {
 	int getLayer(String superId);
 
 	List<VarietiesBo> getVarieties();
+
+	String getCidMax(String superId);
 }

+ 6 - 0
src/main/java/com/goafanti/common/mapper/BusinessVarietiesMapper.xml

@@ -496,4 +496,10 @@
 	and b.layer=1
   	</select>
   	
+  	<select id="getCidMax" resultType="Integer">
+  		select max(cid)
+  from business_varieties
+ where super_id=#{superId,jdbcType=VARCHAR}
+  	</select>
+  	
 </mapper>