Просмотр исходного кода

业务品种管理接口增加

anderx лет назад: 8
Родитель
Сommit
0faf6d05bc

+ 3 - 1
.gitignore

@@ -4,4 +4,6 @@
 .settings
 /.externalToolBuilders/
 /bin/
-/build/
+/build/
+/generatorConfig.xml
+/.gitignore

+ 2 - 1
generatorConfig.xml

@@ -8,6 +8,7 @@
     <javaModelGenerator targetPackage="com.goafanti.common.model" targetProject="AFT" />
     <sqlMapGenerator targetPackage="com.goafanti.common.mapper" targetProject="AFT" />
     <javaClientGenerator targetPackage="com.goafanti.common.dao" targetProject="AFT" type="XMLMAPPER" />
-    <table schema="aft" tableName="business_varieties"/>
+    <table schema="aft" tableName="project_size"/>
+    <table schema="aft" tableName="business_project"/>
   </context>
 </generatorConfiguration>

+ 21 - 0
src/main/java/com/goafanti/admin/bo/BusinessVarietiesBo.java

@@ -3,6 +3,10 @@ package com.goafanti.admin.bo;
 
 import java.util.Date;
 
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import com.goafanti.common.constant.AFTConstants;
+
 public class BusinessVarietiesBo {
 	/*分类ID*/
 	private String id;
@@ -26,6 +30,9 @@ public class BusinessVarietiesBo {
 	private String status;
 	/*上级品类*/
 	private String superName;
+	/*创建人*/
+	private String createName;
+	
 	public String getSuperName() {
 		return superName;
 	}
@@ -47,6 +54,14 @@ public class BusinessVarietiesBo {
 	public Date getCreateTime() {
 		return createTime;
 	}
+	// 创建时间
+	public String getCreateTimeFormattedDate() {
+		if (this.createTime == null) {
+				return null;
+			} else {
+				return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDDHHMMSS);
+			}
+		}	
 	public void setCreateTime(Date createTime) {
 		this.createTime = createTime;
 	}
@@ -92,6 +107,12 @@ public class BusinessVarietiesBo {
 	public void setStatus(String status) {
 		this.status = status;
 	}
+	public String getCreateName() {
+		return createName;
+	}
+	public void setCreateName(String createName) {
+		this.createName = createName;
+	}
 	
 	
 }

+ 55 - 20
src/main/java/com/goafanti/admin/controller/AdminVarietiesApiController.java

@@ -29,13 +29,18 @@ public class AdminVarietiesApiController extends BaseController{
 	public Result addVarieties(String cname,String superId) {
 		Result res=new Result();
 		if (StringUtils.isBlank(cname)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "品类名称为空", "品类名称"));
 			return res;
 		}
 		if (StringUtils.isBlank(superId)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "上级用户为空", "上级用户"));
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "上级品类为空", "上级品类"));
+			return res;
+		}
+		if (0<(adminVarietiesService.isBeing(cname))) {
+			res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "品类名称已存在", "品类名称"));
 			return res;
 		}
+		
 		res.setData(adminVarietiesService.insert(cname,superId));
 		
 		return res;
@@ -44,20 +49,12 @@ public class AdminVarietiesApiController extends BaseController{
 	/**
 	 * 搜索品类
 	 */
-	@RequestMapping(value="/vtList" ,method=RequestMethod.GET)
-	public Result vtList(String cname,String super_id,Integer layer,
-			String status,String pageNo, String pageSize) {
+	@RequestMapping(value="/vtList" ,method=RequestMethod.POST)
+	public Result vtList(String cname,String superId,Integer layer,
+			String status,Integer pageNo, Integer pageSize) {
 		Result res = new Result();
-        Integer pNo = 1;
-        Integer pSize = 10;
-        if (StringUtils.isNumeric(pageSize)) {
-            pSize = Integer.parseInt(pageSize);
-        }
-        if (StringUtils.isNumeric(pageNo)) {
-            pNo = Integer.parseInt(pageNo);
-        }
-        res.setData(adminVarietiesService.listVarieties(cname, super_id, layer,
-        		status, pNo, pSize));
+        res.setData(adminVarietiesService.listVarieties(cname, superId, layer,
+        		status, pageNo, pageSize));
 		return res;
 	}
 	/**
@@ -72,7 +69,7 @@ public class AdminVarietiesApiController extends BaseController{
 		
 	}
 	/**
-	 * 编辑品类
+	 * 获取品类详情
 	 */
 	@RequestMapping(value="/detailVarieties" ,method=RequestMethod.GET)
 	public Result detailVarieties(String  id) {
@@ -80,10 +77,48 @@ public class AdminVarietiesApiController extends BaseController{
 		res.setData(adminVarietiesService.editVarieties(id));
 		return res;
 	}
-	/*@SuppressWarnings("unchecked")
+	/**
+	 * 保存编辑信息
+	 */
 	@RequestMapping(value = "/editVarieties", method = RequestMethod.POST)
-	public Result editVarieties (@RequestParam(value = "roles[]", required = false) String[] roleIds,String data) {
-		
-	}*/
+	public Result editVarieties (String id,String cname,String superId,String  status) {
+		Result res = new Result();
+		if (StringUtils.isBlank(cname)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "品类名称为空", "品类名称"));
+			return res;
+		}
+		if (StringUtils.isBlank(superId)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "上级用户为空", "上级用户"));
+			return res;
+		}
+		if (1<(adminVarietiesService.isBeing(cname))) {
+			res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR, "品类名称已存在", "品类名称"));
+			return res;
+		}
+		res.setData(adminVarietiesService.updateVarietoes(id, cname, superId, status));
+		return res; 
+	}
+	/**
+	 * 品类删除
+	 */
+	@RequestMapping(value = "/deleteState", method = RequestMethod.GET)
+	public Result deleteState(String id){
+		Result res=new Result();
+		if (adminVarietiesService.getCountSon(id)>0) {
+			res.getError().add(buildError("品类下存在子品类", "品类存在子品类"));
+			return res;
+		}
+		res.setData(adminVarietiesService.deleteState(id));
+		return res;
+	}
+	/**
+	 * 品类停用
+	 */
+	@RequestMapping(value = "/updateStatus", method = RequestMethod.GET)
+	public Result updateStatus(String id){
+		Result res=new Result();
+		res.setData(adminVarietiesService.updateStatus(id));
+		return res;
+	}
 
 }

+ 12 - 1
src/main/java/com/goafanti/admin/service/AdminVarietiesService.java

@@ -3,16 +3,27 @@ package com.goafanti.admin.service;
 import java.util.List;
 
 import com.goafanti.admin.bo.BusinessVarietiesBo;
+import com.goafanti.common.model.BusinessVarieties;
 import com.goafanti.core.mybatis.page.Pagination;
 
 public interface AdminVarietiesService {
 	
 	int insert(String cname, String superId);
 	
-	Pagination<BusinessVarietiesBo> listVarieties(String cname, String super_id, Integer layer, String status,
+	Pagination<BusinessVarieties> listVarieties(String cname, String superId, Integer layer, String status,
 			Integer pNo, Integer pSize);
 	
 	List<BusinessVarietiesBo> getSuperList();
 	
 	BusinessVarietiesBo editVarieties(String id);
+	
+	int updateVarietoes(String id,String cname,String superId,String status);
+	
+	int deleteState(String id);
+	
+	int updateStatus(String id);
+	
+	int isBeing(String cname);
+	
+	int getCountSon(String id);
 }

+ 130 - 11
src/main/java/com/goafanti/admin/service/impl/AdminVarietiesServiceImpl.java

@@ -1,5 +1,6 @@
 package com.goafanti.admin.service.impl;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -28,6 +29,7 @@ public class AdminVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesM
 	public int insert(String cname, String superId) {
 		BusinessVarietiesBo buv=new BusinessVarietiesBo();
 		buv.setId(UUID.randomUUID().toString());
+		buv.setCreateTime(new Date());
 		buv.setCname(cname);
 		buv.setSuperId(superId);
 		buv.setDeleteSign(0);
@@ -47,14 +49,28 @@ public class AdminVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesM
 				buv.setCid(str+w);
 			}
 		}
-		buv.setLayer(str.length()/2-1);
+		
+		//判断是否数据库这个ID已经存在
+		String n=businessVarietiesMapper.ThanCid(buv.getCid());
+		while(StringUtils.isNotBlank(n)) {
+			String s1=buv.getCid().substring(0, buv.getCid().length()-3);
+			String s2=buv.getCid().substring(buv.getCid().length()-2, buv.getCid().length());
+			int i1=Integer.valueOf(s2)+1;
+			if(i1<10){
+				buv.setCid(s1+"0"+i1);
+			}else {
+				buv.setCid(s1+i1);
+			}
+			n=businessVarietiesMapper.ThanCid(buv.getCid());
+		}
+		System.out.println("cid:"+buv.getCid());
+		buv.setLayer(buv.getCid().length()/2-1);
 		buv.setCreateId("f31c0d1a-05bc-4f5c-b4a8-95f983d24131");//测试
 		if (StringUtils.isNotBlank(TokenManager.getAdminId())) {
 			buv.setCreateId(TokenManager.getAdminId());
 		}
-		
-		
 		buv.setStatus("0");
+		
 		BusinessVarieties bv=new BusinessVarieties();
 		BeanUtils.copyProperties(buv,bv);
 		return businessVarietiesMapper.insert(bv);
@@ -62,7 +78,7 @@ public class AdminVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesM
 	}
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<BusinessVarietiesBo> listVarieties(String cname, String super_id, Integer layer, String status,
+	public Pagination<BusinessVarieties> listVarieties(String cname, String superId, Integer layer, String status,
 			Integer pNo, Integer pSize) {
 		if (pNo == null || pNo < 0) {
 			pNo = 1;
@@ -71,25 +87,28 @@ public class AdminVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesM
 		if (pSize == null || pSize < 0 || pSize > 10) {
 			pSize = 10;
 		} 
-		return (Pagination<BusinessVarietiesBo>) findPage("findVarietiesListByPage", "findVarietiesListCount",
-				disposeParams(cname,super_id,layer,status),pNo,pSize);
+		
+		Pagination<?> a = findPage("findVarietiesListByPage", "findVarietiesListCount",
+				disposeParams(cname,superId,layer,status),pNo,pSize);
+		return (Pagination<BusinessVarieties>)findPage("findVarietiesListByPage", "findVarietiesListCount",
+				disposeParams(cname,superId,layer,status),pNo,pSize);
 	}
 
-	private Map<String, Object> disposeParams(String cname, String super_name, Integer layer, String status) {
+	private Map<String, Object> disposeParams(String cname, String superId, Integer layer, String status) {
 		Map<String, Object> params = new HashMap<>();
 
-		if (null != cname) {
+		if (StringUtils.isNotBlank(cname)) {
 			params.put("cname", cname);
 		}
 
-		if (null != super_name) {
-			params.put("super_name", super_name);
+		if (StringUtils.isNotBlank(superId)) {
+			params.put("superId", superId);
 		}
 
 		if (null != layer) {
 			params.put("layer", layer);
 		}
-		if (null != status) {
+		if (StringUtils.isNotBlank(status)) {
 			params.put("status", status);
 		}
 
@@ -105,4 +124,104 @@ public class AdminVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesM
 		
 		return businessVarietiesMapper.editVarieties(id);
 	}
+	@Override
+	public int updateVarietoes(String id, String cname, String superId, String status) {
+		BusinessVarieties bs=new BusinessVarieties();
+		bs=businessVarietiesMapper.selectByPrimaryKey(id);
+		bs.setCname(cname);
+		String str=businessVarietiesMapper.getCid(superId);
+		int i=Integer.valueOf(businessVarietiesMapper.getCount(superId));
+			if (3>=str.length()) {
+				if(Integer.valueOf(i)<9){
+					
+					bs.setCid("BZ0"+i);
+				}else {
+					bs.setCid("BZ"+i);
+				}
+			}else {
+				int w=i+1;
+				if(Integer.valueOf(i)<9){
+					bs.setCid(str+"0"+w);
+				}else {
+					bs.setCid(str+w);
+				}
+			}
+			//判断是否数据库这个ID已经存在
+			checkCid(bs);
+		//将子品类名称编号做修改
+		String c1=bs.getCid();
+		List<BusinessVarietiesBo> list=businessVarietiesMapper.selectSuperid(id);
+		for (BusinessVarietiesBo bv : list) {
+			String n=bv.getId();
+			String w=bv.getCid();
+			BusinessVarieties bvs=businessVarietiesMapper.selectByPrimaryKey(n);
+			String s2=bvs.getCid().substring(w.length()-2, w.length());
+			bvs.setCid(c1+s2);
+			checkCid(bvs);
+			businessVarietiesMapper.updateByPrimaryKey(bvs);
+		}
+		bs.setSuperId(superId);
+		bs.setLayer(bs.getCid().length()/2-1);
+		bs.setUpdateTime(new Date());
+		bs.setStatus(status);
+		return businessVarietiesMapper.updateByPrimaryKey(bs);
+	}
+	
+	/**
+	 * 检查用户是否存在
+	 * @param bs
+	 */
+	private void checkCid(BusinessVarieties bs) {
+		String n=businessVarietiesMapper.ThanCid(bs.getCid());
+		
+		while(null!=n) {
+			String s1=bs.getCid().substring(0, bs.getCid().length()-2);
+			String s2=bs.getCid().substring(bs.getCid().length()-2, bs.getCid().length());
+			int i1=Integer.valueOf(s2)+1;
+			if(i1<10){
+				bs.setCid(s1+"0"+i1);
+			}else {
+				bs.setCid(s1+i1);
+			}
+			n=businessVarietiesMapper.ThanCid(bs.getCid());
+		}
+	}
+	@Override
+	public int deleteState(String id) {
+		BusinessVarieties bs=new BusinessVarieties();
+		bs=businessVarietiesMapper.selectByPrimaryKey(id);
+		
+		if (0 ==bs.getDeleteSign()) {
+			bs.setDeleteSign(1);
+		}else {
+			bs.setDeleteSign(0);
+		}
+		
+		return businessVarietiesMapper.updateByPrimaryKey(bs);
+	}
+	@Override
+	public int updateStatus(String id) {
+		BusinessVarieties bs=new BusinessVarieties();
+		bs=businessVarietiesMapper.selectByPrimaryKey(id);
+		
+		if (0==Integer.valueOf(bs.getStatus())) {
+			bs.setStatus("1");
+		}else {
+			bs.setStatus("0");
+		}
+		
+		return businessVarietiesMapper.updateByPrimaryKey(bs);
+	}
+	@Override
+	public int isBeing(String cname) {
+		
+		return businessVarietiesMapper.getcname(cname);
+	}
+	@Override
+	public int getCountSon(String id) {
+		
+		return Integer.valueOf(businessVarietiesMapper.getCount(id));
+	}
+	
+	
 }

+ 5 - 1
src/main/java/com/goafanti/common/constant/ErrorConstants.java

@@ -15,7 +15,9 @@ public class ErrorConstants {
 	public static final String	PARAM_INTEGER_ERROR					= "PARAM_INTEGER_ERROR";
 
 	public static final String	PARAM_EMPTY_ERROR					= "PARAM_EMPTY_ERROR";
-
+	
+	public static final String	PARAM_BEING_ERROR					= "PARAM_BEING_ERROR";
+	
 	public static final String	PARAM_SIZE_ERROR					= "PARAM_SIZE_ERROR";
 
 	public static final String	PARAM_PATTERN_ERROR					= "PARAM_PATTERN_ERROR";
@@ -111,4 +113,6 @@ public class ErrorConstants {
 	public static final String BUSINESS_ALREADY_EXIST				= "BUSINESS_ALREADY_EXIST";
 	
 	public static final String AT_LEAST_A_BUSINESS					= "AT_LEAST_A_BUSINESS";
+	
+	public static final String	SON_ALREADY_EXIST					= "SON_ALREADY_EXIST";
 }

+ 4 - 1
src/main/java/com/goafanti/common/dao/BusinessVarietiesMapper.java

@@ -103,5 +103,8 @@ public interface BusinessVarietiesMapper {
 	
 	BusinessVarietiesBo editVarieties(@Param("id")String id);
     
-    
+	String ThanCid(String cid);
+	
+	int getcname(String cname);
+	List<BusinessVarietiesBo>  selectSuperid(String spuerId);
 }

+ 41 - 18
src/main/java/com/goafanti/common/mapper/BusinessVarietiesMapper.xml

@@ -155,7 +155,7 @@
       update_time, delete_sign, cid, 
       cname, super_id, layer, 
       status)
-    values (#{id,jdbcType=VARCHAR}, #{createId,jdbcType=VARCHAR},now(), 
+    values (#{id,jdbcType=VARCHAR}, #{createId,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP}, 
       #{updateTime,jdbcType=TIMESTAMP}, #{deleteSign,jdbcType=INTEGER}, #{cid,jdbcType=VARCHAR}, 
       #{cname,jdbcType=VARCHAR}, #{superId,jdbcType=VARCHAR}, #{layer,jdbcType=INTEGER}, 
       #{status,jdbcType=VARCHAR})
@@ -375,36 +375,38 @@
   	</select>
   	
   	<select id="findVarietiesListByPage" resultType="com.goafanti.admin.bo.BusinessVarietiesBo">
- 		select b.id,b.create_id,b.create_time,b.update_time,b.delete_sign,
-  				b.cid,b.cname,b.super_id,b.layer,b.status
+ 		select b.id,b.create_id as createId ,b.create_time as createTime,b.update_time as updateTime,
+  		b.delete_sign daleteSign,b.cid,b.cname,b.super_id superId ,b.layer,b.status,b2.cname as superName
   		from business_varieties b
+  		left join business_varieties b2 on b.super_id = b2.id
   		where b.delete_sign=0 
   		<if test="cname != null">
-		and cname = #{cname,jdbcType=VARCHAR}
+		and b.cname like CONCAT('%',#{cname,jdbcType=VARCHAR},'%')
 		</if>
-		<if test="super_id != null">
-		and super_id = #{super_id,jdbcType=VARCHAR}
+		<if test="superId != null">
+		and b.super_id = #{superId,jdbcType=VARCHAR}
 		</if>
 		<if test="layer != null">
-		and layer = #{layer,jdbcType=INTEGER}
+		and b.layer = #{layer,jdbcType=INTEGER}
 		</if>
 		<if test="status != null">
-		and status = #{status,jdbcType=VARCHAR}
+		and b.status = #{status,jdbcType=VARCHAR}
 		</if>
 		<if test="page_sql!=null">
 			${page_sql}
 	</if>
   </select>
-  <select id="findVarietiesListCount" resultType="com.goafanti.admin.bo.BusinessVarietiesBo">
+  <select id="findVarietiesListCount" resultType="Integer">
  		select 
-  			count(1)
+  			count(0)
   		from business_varieties b
+  		 left join business_varieties b2 on b.super_id = b2.id
   		where b.delete_sign=0 
   		<if test="cname != null">
-		and b.cname = #{cname,jdbcType=VARCHAR}
+		and b.cname like CONCAT('%',#{cname,jdbcType=VARCHAR},'%')
 		</if>
-		<if test="super_id != null">
-		and b.super_id = #{super_id,jdbcType=VARCHAR}
+		<if test="superId != null">
+		and b.super_id = #{superId,jdbcType=VARCHAR}
 		</if>
 		<if test="layer != null">
 		and b.layer = #{layer,jdbcType=INTEGER}
@@ -416,18 +418,39 @@
   </select>
   
   <select id="getSuperList"  resultType="com.goafanti.admin.bo.BusinessVarietiesBo">
-  		select b.id,b.create_id,b.create_time,b.update_time,b.delete_sign,
-  				b.cid,b.cname,b.super_id,b.layer,b.status
+  		select b.id,b.create_id as createId ,b.create_time as createTime,b.update_time as updateTime,
+  		b.delete_sign daleteSign,b.cid,b.cname,b.super_id superId ,b.layer,b.status
   		from business_varieties b
   		where b.delete_sign=0
   </select>
   <select id="editVarieties" parameterType="string" resultType="com.goafanti.admin.bo.BusinessVarietiesBo">
-  		select b.id,b.create_id,b.create_time,b.update_time,b.delete_sign,
-  				b.cid,b.cname,b.super_id,b.layer,b.status
-  		from business_varieties b
+  		select b.id,b.create_id as createId ,b.create_time as createTime,b.update_time as updateTime,
+  		b.delete_sign as deleteSign,b.cid,b.cname,b.super_id superId ,b.layer,b.status,b2.cname superName,a.name as createName
+  		from business_varieties b 
+  		 left join business_varieties b2 on b.super_id = b2.id
+  		 left join admin a on b.create_id = a.id
   		where b.delete_sign=0
   		<if test="id != null">
 		and b.id = #{id,jdbcType=VARCHAR}
 	</if>
   </select>
+  
+  <select id="ThanCid" resultType="string">
+  		select b.id 
+  		from business_varieties b
+  		where b.cid= #{cid,jdbcType=VARCHAR}
+  	</select>
+  	
+  	<select id="getcname" resultType="Integer">
+  		select count(1) 
+  		from business_varieties b
+  		where b.cname= #{cname,jdbcType=VARCHAR}
+  	</select>
+  	
+  	<select id="selectSuperid" resultType="com.goafanti.admin.bo.BusinessVarietiesBo">
+  		select b.id,b.create_id as createId ,b.create_time as createTime,b.update_time as updateTime,
+  		b.delete_sign as deleteSign,b.cid,b.cname,b.super_id superId ,b.layer,b.status
+  		from business_varieties b 
+  		where b.super_id= #{superId,jdbcType=VARCHAR}
+  	</select>
 </mapper>

+ 2 - 0
src/main/resources/props/error.properties

@@ -25,6 +25,8 @@ PARAM_INTEGER_ERROR={0}\u53C2\u6570\u5FC5\u987B\u4E3A\u6570\u5B57\u3002
 
 PARAM_EMPTY_ERROR={0}\u5FC5\u987B\u6307\u5B9A\u3002
 
+PARAM_BEING_ERROR={0}\u5df2\u5b58\u5728\u000d\u000a
+
 PARAM_SIZE_ERROR={0}\u53C2\u6570\u957F\u5EA6\u4E0D\u6B63\u786E\uFF0C\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4\u3002
 
 PARAM_PATTERN_ERROR={0}\u53C2\u6570\u683C\u5F0F\u987B\u6B63\u786E\u6307\u5B9A{1}\u3002