Browse Source

媒体自投保存

jun.zhou 9 years ago
parent
commit
ce1b46d5a4

+ 32 - 0
src/main/java/com/cloudcross/ssp/model/AdGroup.java

@@ -79,6 +79,38 @@ public final class AdGroup implements ISelector{
 	//媒体自定义分组ID集合
 	private List<Long> wifigroupIdList;
 	
+	private String zoneId;
+	
+	private String place;
+	
+	private String placeName;
+	
+	
+	
+	public String getZoneId() {
+		return zoneId;
+	}
+
+	public void setZoneId(String zoneId) {
+		this.zoneId = zoneId;
+	}
+
+	public String getPlace() {
+		return place;
+	}
+
+	public void setPlace(String place) {
+		this.place = place;
+	}
+
+	public String getPlaceName() {
+		return placeName;
+	}
+
+	public void setPlaceName(String placeName) {
+		this.placeName = placeName;
+	}
+
 	public List<Long> getZoneIdList() {
 		return zoneIdList;
 	}

+ 3 - 3
src/main/java/com/cloudcross/ssp/model/mapper/ad-group.sql.xml

@@ -461,13 +461,13 @@
 			<if test="agentId != null">
 				and ta.agent_id = #{agentId}
 			</if>
-			<if test="advertiserId == null">
+			<if test="advertiserId != null">
 				and ta.advertiser_id = #{advertiserId}
 			</if>
-			<if test="orderId == null">
+			<if test="orderId != null">
 				and ta.order_id = #{orderId}
 			</if>
-			<if test="campaignId == null">
+			<if test="campaignId != null">
 				and ta.campaign_id = #{campaignId}
 			</if>
 			<if test="adGroupName != null">

+ 2 - 2
src/main/java/com/cloudcross/ssp/model/mapper/adgroup-place.sql.xml

@@ -9,8 +9,8 @@
 
 	<insert id="addPlace" parameterType="com.cloudcross.ssp.model.AdGroupPlace">
 		insert into
-		t_adgroup_place (adgroup_id,place_id,supdated)
-		values (#{adGroupId},#{placeId},#{supdated})
+		t_adgroup_place (adgroup_id,place_id,supdated,status)
+		values (#{adGroupId},#{placeId},#{supdated},#{status})
 	</insert>
 
 	<select id="findAll" parameterType="long" resultType="com.cloudcross.ssp.model.AdGroupPlace">

+ 6 - 2
src/main/java/com/cloudcross/ssp/model/mapper/adgroup-wifigroup.sql.xml

@@ -18,8 +18,8 @@
 				supdated
 			</if>
 		</trim>
+		<foreach collection="wifigroupIdList" item="wifigroupId" index="index" separator=",">
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-        	<foreach collection="wifigroupIdList" item="wifigroupId" index="index" separator=",">
         		<if test="adgroupId != null">
 					#{adgroupWifigroup.adgroupId},
 				</if>
@@ -32,9 +32,13 @@
 				<if test="supdated != null">
 					#{adgroupWifigroup.supdated}
 				</if>
-        	</foreach>
         </trim>
+        </foreach>
 	</insert>
 	
+	<insert id="addAdgroupWifigroup" parameterType="com.cloudcross.ssp.model.AdgroupWifigroup">
+		insert into t_adgroup_wifigroup (adgroup_id,wifigroup_id,status,supdated) 
+		values (#{adgroupId},#{wifigroupId},#{status},#{supdated})
+	</insert>
 
 </mapper>

+ 4 - 8
src/main/java/com/cloudcross/ssp/model/mapper/adgroup-zone.sql.xml

@@ -5,14 +5,10 @@
 		id,adgroup_id as adgroupId,zone_id as zoneId,status,supdated
 	</sql>
 	
-	<!-- 批量插入 -->
-	<insert id="addAdgroupZoneBatch">
-		insert into t_adgroup_zone 
-		(adgroup_id,zone_id,status,supdated)
-		values
-		<foreach collection="zoneIdList" item="zoneId" index="index" separator=",">
-			(#{adgroupZone.adgroupId},#{zoneId},#{adgroupZone.status},#{adgroupZone.supdated})
-		</foreach>
+	<!-- 插入 -->
+	<insert id="addAdgroupZone" parameterType="com.cloudcross.ssp.model.AdgroupZone">
+		insert into t_adgroup_zone (adgroup_id,zone_id,status,supdated)
+		values (#{adgroupId},#{zoneId},#{status},#{supdated})
 	</insert>
 	
 	

+ 1 - 0
src/main/java/com/cloudcross/ssp/model/mapper/wifiGroupInfo.sql.xml

@@ -67,4 +67,5 @@
 			set status = #{status},updated = #{updated}
 			where t_wifi_group_info.id = #{id}
 	</update>
+	
 </mapper>

+ 2 - 0
src/main/java/com/cloudcross/ssp/service/IAdGroupService.java

@@ -56,4 +56,6 @@ public interface IAdGroupService extends IGenericService<AdGroup> {
 	
 	public Integer queryAdGroupCountByCondition(Map<String, Object> paramMap);
 	public List<AdGroup> queryAdGroupByCondition(Map<String, Object> paramMap, Pager pager);
+	
+	public void front2dbplaceorgroup(AdGroup adGroup);
 }

+ 1 - 0
src/main/java/com/cloudcross/ssp/service/IAdgroupWifigroupService.java

@@ -6,4 +6,5 @@ import com.cloudcross.ssp.model.AdgroupWifigroup;
 
 public interface IAdgroupWifigroupService {
 	public void saveAdgroupWifigroup(AdgroupWifigroup adgroupWifigroup,List<Long>wifigroupIdList);
+	public boolean addAdgroupWifigroup(AdgroupWifigroup adgroupWifigroup);
 }

+ 1 - 2
src/main/java/com/cloudcross/ssp/service/IAdgroupZoneService.java

@@ -1,10 +1,9 @@
 package com.cloudcross.ssp.service;
 
-import java.util.List;
 
 import com.cloudcross.ssp.model.AdgroupZone;
 
 public interface IAdgroupZoneService{
-	public void saveAdgroupZone(AdgroupZone adgroupZone,List<Long>zoneIdList);
+	public void saveAdgroupZone(AdgroupZone adgroupZone);
 	
 }

+ 1 - 0
src/main/java/com/cloudcross/ssp/service/impl/AdGroupPlaceService.java

@@ -50,6 +50,7 @@ public class AdGroupPlaceService implements IAdGroupPlaceService{
 	public boolean add(AdGroupPlace t) {
 		Long supdate = new Date().getTime()/1000;
 		t.setSupdated(supdate);
+		t.setStatus(0);
 		ibatisDao.save("adGroupPlaceSqlMapper.addPlace", t);
 		return true;
 	}

+ 49 - 28
src/main/java/com/cloudcross/ssp/service/impl/AdGroupService.java

@@ -196,6 +196,7 @@ edit(adGroup);
 
 	@Override
 	public void front2dbplace(String str, AdGroup adGroup) {
+		
 		AdGroupPlace adGroupPlace = new AdGroupPlace();
 		if(null != str) {
 			String[] strArr = str.split(",");
@@ -208,6 +209,42 @@ edit(adGroup);
 		
 	}
 
+	public void front2dbplaceorgroup(AdGroup adGroup) {
+		Long supdated = new Date().getTime()/1000;
+		String place = adGroup.getPlace();
+		boolean placeFlag = false;
+		boolean groupFlag = false;
+		
+		placeFlag = place.startsWith("a");
+		groupFlag = place.startsWith("b");
+		if(placeFlag){
+			place = place.substring(2);
+			String[] placeStr = place.split(",");
+			AdGroupPlace adGroupPlace = new AdGroupPlace();
+			for(int i=0;i<placeStr.length;i++){
+				adGroupPlace.setAdGroupId(adGroup.getId());
+				adGroupPlace.setPlaceId(Long.valueOf(placeStr[i]).longValue());
+				adGroupPlaceService.add(adGroupPlace);
+				
+			}	
+		}
+		
+		if(groupFlag){
+			place = place.substring(2);
+			String[] placeStr = place.split(",");
+			AdgroupWifigroup adgroupWifigroup = new AdgroupWifigroup();
+			for(int i=0;i<placeStr.length;i++){
+				adgroupWifigroup.setAdgroupId(adGroup.getId());
+				adgroupWifigroup.setWifigroupId(Long.valueOf(placeStr[i]).longValue());
+				adgroupWifigroup.setStatus(0);
+				adgroupWifigroup.setSupdated(supdated);
+				adgroupWifigroupService.addAdgroupWifigroup(adgroupWifigroup);
+			}	
+		}
+		
+		
+	}
+
 	@Override
 	public boolean updatedAdgroupSupdated(Long adGroupId) {
 		myBatisDao.save("adGroupSqlMapper.updatedSupdated", adGroupId);
@@ -528,36 +565,20 @@ public void commonSaveDriect(Map<String,Object> targetParamsMap,Map<String,Objec
 			Long adgroupId = adGroup.getId();
 			Long supdated = new Date().getTime()/1000;
 			//添加投放与广告位对应关系
-			List<Long> zoneIdList = adGroup.getZoneIdList();
-			if(zoneIdList != null && zoneIdList.size()>0){
+			String zoneIdStr = String.valueOf(condition.get("zoneId"));
+			if(zoneIdStr != null && zoneIdStr != ""){
+				String[]zoneId = zoneIdStr.split(",");
 				AdgroupZone adgroupZone = new AdgroupZone();
-				adgroupZone.setAdgroupId(adgroupId);
-				adgroupZone.setStatus(0);//开启状态
-				adgroupZone.setSupdated(supdated);
-				this.adgroupZoneService.saveAdgroupZone(adgroupZone,zoneIdList);
-			}
-			
-			//添加投放于分组的对应关系
-			List<Long> wifigroupIdList = adGroup.getWifigroupIdList();
-			if(wifigroupIdList != null && wifigroupIdList.size()>0){
-				AdgroupWifigroup adgroupWifigroup = new AdgroupWifigroup();
-				adgroupWifigroup.setAdgroupId(adgroupId);
-				adgroupWifigroup.setStatus(0);//开启状态
-				adgroupWifigroup.setSupdated(supdated);
-				this.adgroupWifigroupService.saveAdgroupWifigroup(adgroupWifigroup, wifigroupIdList);
-			}
-			
-			//添加投放与数聚场景的对应关系
-			List<Long> placeIdList = adGroup.getPlaceIdList();
-			if(placeIdList != null && placeIdList.size()>0){
-				AdGroupPlace adGroupPlace = new AdGroupPlace();
-				adGroupPlace.setAdGroupId(adgroupId);
-				adGroupPlace.setStatus(0);
-				adGroupPlace.setSupdated(supdated);
-				this.adGroupPlaceService.saveAdGroupPlace(adGroupPlace, placeIdList);
+				for(int i=0;i<zoneId.length;i++){
+					adgroupZone.setAdgroupId(adgroupId);
+					adgroupZone.setStatus(0);//开启状态
+					adgroupZone.setSupdated(supdated);
+					adgroupZone.setZoneId(Long.valueOf(zoneId[i]).longValue());
+					this.adgroupZoneService.saveAdgroupZone(adgroupZone);
+				}
+				
 			}
-			
-			return false;
+			return true;
 		}
 
 		@Override

+ 6 - 0
src/main/java/com/cloudcross/ssp/service/impl/AdgroupWifigroupService.java

@@ -25,4 +25,10 @@ public class AdgroupWifigroupService implements IAdgroupWifigroupService{
 				.add("adgroupWifigroup",adgroupWifigroup)
 				.map());
 	}
+
+	@Override
+	public boolean addAdgroupWifigroup(AdgroupWifigroup adgroupWifigroup) {
+		myBatisDao.save("adgroupWifigroupSqlMapper.addAdgroupWifigroup",adgroupWifigroup);
+		return true;
+	}
 }

+ 2 - 8
src/main/java/com/cloudcross/ssp/service/impl/AdgroupZoneService.java

@@ -1,13 +1,10 @@
 package com.cloudcross.ssp.service.impl;
 
-import java.util.HashMap;
-import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.cloudcross.ssp.base.dao.GenericIBatisDao;
-import com.cloudcross.ssp.common.utils.MapBuilder;
 import com.cloudcross.ssp.model.AdgroupZone;
 import com.cloudcross.ssp.service.IAdgroupZoneService;
 
@@ -18,11 +15,8 @@ public class AdgroupZoneService implements IAdgroupZoneService {
 	@Autowired
 	private GenericIBatisDao myBatisDao;
 	
-	public void saveAdgroupZone(AdgroupZone adgroupZone,List<Long>zoneIdList){
-		myBatisDao.save("adgroupZoneSqlMapper.addAdgroupZoneBatch",MapBuilder.create(HashMap.class)
-				.add("zoneIdList",zoneIdList)
-				.add("adgroupZone",adgroupZone)
-				.map());
+	public void saveAdgroupZone(AdgroupZone adgroupZone){
+		myBatisDao.save("adgroupZoneSqlMapper.addAdgroupZone",adgroupZone);
 	}
 
 	

+ 2 - 0
src/main/java/com/cloudcross/ssp/service/impl/WifiGroupInfoService.java

@@ -98,4 +98,6 @@ public class WifiGroupInfoService implements IWifiGroupInfoService{
 		return true;
 	}
 	
+
+	
 }

+ 65 - 78
src/main/java/com/cloudcross/ssp/web/advertiser/main/ad/target/OperatorAdGroupController.java

@@ -689,13 +689,13 @@ public class OperatorAdGroupController extends SimpleController{
 	}
 	
 	
-
 	/**
 	 * 媒体自投保存
 	 * @param request
-	 * @param model
+	 * @param model 
 	 * @param adGroup
-	 * @param place
+	 * @param place 场景或分组【场景(a,id1,id2,...)或 分组(b,id1,id2,...)】
+	 * @param placeName 场景名或分组名(以“,”分隔)
 	 * @param orderId
 	 * @param campaignId
 	 * @param areas
@@ -704,13 +704,8 @@ public class OperatorAdGroupController extends SimpleController{
 	 */
 	@RequestMapping("/save")
 	public String saveAdGroup(HttpServletRequest request, Model model,@ModelAttribute("form") AdGroup adGroup
-			,@RequestParam String place
-			,@RequestParam String areas
-			,@RequestParam Map<String, Object> paramMap) {
-		adGroup.setAdvertiserId(Long.parseLong(String.valueOf(paramMap.get("advertiserId"))));
-		adGroup.setAgentId(Long.parseLong(String.valueOf(paramMap.get("agentId"))));
-		adGroup.setCampaignId(Long.parseLong(String.valueOf(paramMap.get("campaignId"))));
-		adGroup.setOrderId(Long.parseLong(String.valueOf(paramMap.get("orderId"))));
+			,@RequestParam String areas,@RequestParam Map<String, Object> paramMap){
+		String placeName = adGroup.getPlaceName();
 		adGroup.setStatus(1);
 		
 		/**
@@ -721,22 +716,22 @@ public class OperatorAdGroupController extends SimpleController{
 		
 		//把投放日期进行转换
     	String activeTime = (String) paramMap.get("activeTime");
-		String[] tmpDate = activeTime.split("to");
-		String startDateFront = tmpDate[0].trim();
-		String endDateFront = tmpDate[1].trim();			
-		try {
-			adGroup.setStartDate(sdf.parse(startDateFront));
-		} catch (ParseException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		}
-		try {
-			adGroup.setEndDate(sdf.parse(endDateFront));
-		} catch (ParseException e2) {
-			// TODO Auto-generated catch block
-			e2.printStackTrace();
-		}	
+    	if(activeTime != null){
+    		String[] tmpDate = activeTime.split("to");
+    		String startDateFront = tmpDate[0].trim();
+    		String endDateFront = tmpDate[1].trim();
+    		try {
+    			adGroup.setStartDate(sdf.parse(startDateFront));
+    			adGroup.setEndDate(sdf.parse(endDateFront));
+    		} catch (ParseException e1) {
+    			// TODO Auto-generated catch block
+    			e1.printStackTrace();
+    		}
+    	}
+				
 		
+			
+	
 		//先获得策略的投放周期
 		Date startDate = adGroup.getStartDate();
 		Date endDate = adGroup.getEndDate();
@@ -897,55 +892,40 @@ public class OperatorAdGroupController extends SimpleController{
 		    }
 			
 		    
-	    if (adGroup.getId() == null) {	
-	    	try {
-	    		if (getLoginUser().getOperatorId()!=0) {
-					adGroup.setOperatorId(getLoginUser().getOperatorId());
-				}else{
-					adGroup.setOperatorId(new Long(0));
-				}
-			} catch (Exception e) {
-				// TODO: handle exception
-				e.printStackTrace();
-			}
-	    	
+		 //添加或修改
+		Long adgroupId = adGroup.getId();//投放ID,添加时投放ID为null
+		Long operatorId =getLoginUser().getOperatorId();
+	    if (adgroupId == null) {	
+			adGroup.setOperatorId(operatorId);
+			//投放保存
 			adGroupService.saveAll(adGroup, paramMap);
-			/**
-			 * 新增投放成功后同时会新增地域定向,时段定向,wifi定向以及下面的场景
-			 * 所以这里的日志新增记录应该把这些都加进去
-			 */
-			/**
-			 * 先做投放的新增记录
-			 */
+
+			//先做投放的新增记录
 			Log log = new Log();
-			//对应模块
-			log.setModule("AdGroup");
-			//对应表名
-			log.setTableName("t_adgroup");
-			//增加对应的投放id
-			log.setRecordId(adGroup.getId());
-			//对应操作类型
-			log.setActionType("新增");
-			//对应的操作
-			log.setAction("新增了一个投放:" + adGroup.getAdGroupName());
-			//下面这几个字段目前后端数据没有得到。所以仅作测试用!
+			log.setModule("AdGroup");//对应模块
+			log.setTableName("t_adgroup");//对应表名
+			log.setRecordId(adGroup.getId());//增加对应的投放id
+			log.setActionType("新增");//对应操作类型
+			log.setAction("新增了一个投放:" + adGroup.getAdGroupName());//对应的操作
 			log.setActionTime("100");
 			log.setAccountId(new Long(getLoginUser().getId()));
 			log.setUserIp(Common.toIpAddr(request));
 			log.setAccountName(getLoginUser().getAccountName());
 			logService.add(log);
 			
-			Direct direct = null;
 			/**
-			 * 时段定向的新增记录
+			 * 新增投放成功后同时会新增地域定向,时段定向,wifi定向以及下面的场景
+			 * 所以这里的日志新增记录应该把这些都加进去
 			 */
+			//定向日志记录
+			Direct direct = null;
+			//时段定向的新增记录
 			//先得到排期的时间段
 			direct = directService.findByadGroupId(adGroup.getId(), 2);
 			
 			//如果查找到的对象为空且它的排期段没有则说明并没有新增时段定向
 			if(null != direct && !"[]".equals(direct.getBackShow())) {
 				String dateString = direct.getBackShow();
-				
 				//对应的操作
 				log.setAction("在投放:" + adGroup.getAdGroupName() + "中新增了时间的排期段:" + dateString);
 				logService.add(log);
@@ -973,8 +953,8 @@ public class OperatorAdGroupController extends SimpleController{
 				log.setAction("在投放:" + adGroup.getAdGroupName() + "中新增了:" + locationNameString);
 				logService.add(log);
 			}
-			
-			adGroupService.front2dbplace(place,adGroup);//place是场景place把选择的场景存放到相应的数据库中		
+			//将场景或分组保存到数据库中
+			adGroupService.front2dbplaceorgroup(adGroup);		
 			/**
 			 * 保存已选的wifi到数据库t_adgroup_wifi
 			 */
@@ -986,20 +966,27 @@ public class OperatorAdGroupController extends SimpleController{
 			 * 场景的新增记录
 			 */
 			//这里判断一下就是为了知道是不是有场景字符串有就会插入表,如果没有就不会插入表中也就不会有新增记录
+			String place = adGroup.getPlace();
 			if(null != place) {
-				//场景名称字符串
-				String placeNameString = "场景,它们有:";
-				String[] strArr = place.split(",");
-					for(int i = 0; i < strArr.length; i++) {
-						//通过场景id得到场景的名称
-						placeNameString = placeNameString + placeService.findById(Long.valueOf(strArr[i]).longValue()).getName() + ", " ;
-					}
-					
-					//对应的操作
-					log.setAction("在投放:" + adGroup.getAdGroupName() + "中新增了:" + placeNameString);
-					
+				boolean placeFlag = false;
+				boolean groupFlag = false;
+				
+				placeFlag = place.trim().startsWith("a");
+				groupFlag = place.trim().startsWith("b");
+				
+				if(groupFlag){
+					String placeNameString = "分组,它们有:"+placeName.substring(0, placeName.length()-1);//分组名称字符串
+					log.setAction("在投放:" + adGroup.getAdGroupName() + "中新增了:" + placeNameString);//对应的操作
+					logService.add(log);
+				}
+				
+				if(placeFlag){
+					String placeNameString = "场景,它们有:"+placeName.substring(0, placeName.length()-1);//场景名称字符串
+					log.setAction("在投放:" + adGroup.getAdGroupName() + "中新增了:" + placeNameString);//对应的操作
 					logService.add(log);
 				}
+				
+				}
 			
 			/**
 			 * wifi定向的新增记录
@@ -1025,7 +1012,7 @@ public class OperatorAdGroupController extends SimpleController{
 			
 		} else {	
 			
-			/**
+			/*
 			 * 编辑成功后如果编辑前的数据与编辑后的数据比较后发生了改变,那么要对投放信息,时段信息和地域定向信息和场景信息增加修改日志
 			 * 那再编辑之前要先获得到这些信息,保存下,然后和编辑之后的信息做比较
 			 */
@@ -1041,9 +1028,8 @@ public class OperatorAdGroupController extends SimpleController{
 			//得到编辑之后的AdGroup对象
 			AdGroup presentAdGroup = adGroupService.findById(adGroup.getId());
 			
-			/**
-			 * 编辑的日志信息
-			 */
+			
+			//编辑的日志信息
 			Log log= new Log();
 			//对应模块
 			log.setModule("AdGroup");
@@ -1063,9 +1049,9 @@ public class OperatorAdGroupController extends SimpleController{
 			if(formerWifiList != null) {
 				wifiService.deleteWifi(adGroup.getId());
 			}			
-			/**
-			 * 保存编辑之后已选wifi
-			 */								
+		
+			 //保存编辑之后已选wifi
+			 								
 			String selectedwifi = (String) paramMap.get("selectedwifi");
 			if(selectedwifi != "") {
 				wifiService.front2dbwifi(selectedwifi, adGroup.getId());//保存已选择的wifi
@@ -1615,6 +1601,7 @@ public class OperatorAdGroupController extends SimpleController{
 			 * 如果以前的场景和现在的场景一个为空一个不为空则说明发生了变化
 			 * 如果都不为空则逐个比较再看是否发生变化
 			 */
+			String place = adGroup.getPlace();
 			if((0 != formerAdGroupPlaceList.size() && null == place) || (0 == formerAdGroupPlaceList.size() && null != place)) {
 				updatedMark = true;
 				

+ 1 - 1
src/main/webapp/WEB-INF/pages/advertiser/main/ad/target/operator-ad-group/create.ftl

@@ -50,7 +50,7 @@
 	 			<input type="hidden" id="orderId" name="orderId" value="${orderId!}"/>
 	 			<input type="hidden" id="campaignId" name="campaignId" value="${campaignId!}"/>
 	 			<input type="hidden" name="agentId" value="${agentId!}"/>
-				<input type="hidden" name="zoneIdString" value="1,12"/>
+				<input type="hidden" name="zoneId" value=""/>
 				<input type="hidden" name="selectedwifi" id="selectedwifi" value=""/>
 				<div id="hidden_class">
 				</div>

+ 10 - 1
src/main/webapp/assets/js/advertiser/operatoradGroup.js

@@ -547,8 +547,17 @@ function td_click(a){
 	var get_check_num = check_have.indexOf(ch_ad[0]);
 	//alert(get_check_num);
 	if(get_check_num == -1){
-	 $("#choosed_ad").append('<ul style="border-bottom:thin solid #b9c5d9;text-align:center;" id="ul'+ch_ad[0]+'">'+ch_ad[1]+'<image src="'+$("#ctx").val()+'/assets/images/cross.png"  style="float:right;" id="images'+ch_ad[0]+'" onclick="cross('+ch_ad[0]+')" ><input type="hidden" name="" id="'+ch_ad[0]+'"></ul>');
+	 $("#choosed_ad").append('<ul style="border-bottom:thin solid #b9c5d9;text-align:center;" id="ul'+ch_ad[0]+'">'+ch_ad[1]+'<image src="'+$("#ctx").val()+'/assets/images/cross.png"  style="float:right;" id="images'+ch_ad[0]+'" onclick="cross('+ch_ad[0]+')" ><input type="hidden" name="zoneId" value="'+ch_ad[0]+'" id="'+ch_ad[0]+'"></ul>');
 	}
+	var get_zone_array = $("#choosed_ad input[name=zoneId]");
+	var get_zonearray_length = get_zone_array.length;
+	var get_zone_id = "";
+	for(i=0;i<get_zonearray_length;i++){
+		alert(get_zone_array[i].id);
+		get_zone_id = get_zone_array[i].id+","+get_zone_id;
+		$("#validateForm input[name=zoneId]").val(get_zone_id);
+	}
+
 }
 
 function cross(ss){