Browse Source

媒体自投保存方法

jun.zhou 9 years ago
parent
commit
448f58d012

+ 11 - 2
src/main/java/com/cloudcross/ssp/model/AdGroupPlace.java

@@ -3,7 +3,7 @@ package com.cloudcross.ssp.model;
 
 
 /**
 /**
  * 
  * 
- * 修改内容:将supdated有Date类型换成Long型
+ * 修改内容:将supdated有Date类型换成Long型,添加状态status
  * 修改人:周俊
  * 修改人:周俊
  * 修改时间:2015.11.25 14:09
  * 修改时间:2015.11.25 14:09
  *
  *
@@ -12,9 +12,16 @@ public class AdGroupPlace {
 	private Long id;
 	private Long id;
 	private Long adGroupId;
 	private Long adGroupId;
 	private Long placeId;
 	private Long placeId;
+	private Integer status;
 	private Long supdated;
 	private Long supdated;
 	
 	
 		
 		
+	public Integer getStatus() {
+		return status;
+	}
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
 	public Long getSupdated() {
 	public Long getSupdated() {
 		return supdated;
 		return supdated;
 	}
 	}
@@ -43,8 +50,10 @@ public class AdGroupPlace {
 	@Override
 	@Override
 	public String toString() {
 	public String toString() {
 		return "AdGroupPlace [id=" + id + ", adGroupId=" + adGroupId
 		return "AdGroupPlace [id=" + id + ", adGroupId=" + adGroupId
-				+ ", placeId=" + placeId + ", supdated=" + supdated + "]";
+				+ ", placeId=" + placeId + ", status=" + status + ", supdated="
+				+ supdated + "]";
 	}
 	}
 	
 	
 	
 	
+	
 }
 }

+ 7 - 7
src/main/java/com/cloudcross/ssp/model/AdgroupWifi.java

@@ -12,7 +12,7 @@ public class AdgroupWifi {
 	private Long adgroupId;//投放id(t_adgroup.id)
 	private Long adgroupId;//投放id(t_adgroup.id)
 	private Long wifiId;//WIFI热点id(t_wifi.id)
 	private Long wifiId;//WIFI热点id(t_wifi.id)
 	private Integer status;//状态(0开启,-1删除)
 	private Integer status;//状态(0开启,-1删除)
-	private Long supdate;//更新时间(毫秒数/1000)
+	private Long supdated;//更新时间(毫秒数/1000)
 	public Long getId() {
 	public Long getId() {
 		return id;
 		return id;
 	}
 	}
@@ -37,17 +37,17 @@ public class AdgroupWifi {
 	public void setStatus(Integer status) {
 	public void setStatus(Integer status) {
 		this.status = status;
 		this.status = status;
 	}
 	}
-	public Long getSupdate() {
-		return supdate;
+	public Long getSupdated() {
+		return supdated;
 	}
 	}
-	public void setSupdate(Long supdate) {
-		this.supdate = supdate;
+	public void setSupdated(Long supdate) {
+		this.supdated = supdate;
 	}
 	}
 	@Override
 	@Override
 	public String toString() {
 	public String toString() {
 		return "AdgroupWifi [id=" + id + ", adgroupId=" + adgroupId
 		return "AdgroupWifi [id=" + id + ", adgroupId=" + adgroupId
-				+ ", wifiId=" + wifiId + ", status=" + status + ", supdate="
-				+ supdate + "]";
+				+ ", wifiId=" + wifiId + ", status=" + status + ", supdated="
+				+ supdated + "]";
 	}
 	}
 	
 	
 	
 	

+ 7 - 7
src/main/java/com/cloudcross/ssp/model/AdgroupZone.java

@@ -10,7 +10,7 @@ public class AdgroupZone {
 	private Long adgroupId;//投放id(t_adgroup.id)
 	private Long adgroupId;//投放id(t_adgroup.id)
 	private Long zoneId;//广告位id(t_zone.id)
 	private Long zoneId;//广告位id(t_zone.id)
 	private Integer status;//状态(0开启,-1删除)
 	private Integer status;//状态(0开启,-1删除)
-	private Long supdate;//更新时间(时间毫秒数/1000)
+	private Long supdated;//更新时间(时间毫秒数/1000)
 	public Long getId() {
 	public Long getId() {
 		return id;
 		return id;
 	}
 	}
@@ -35,17 +35,17 @@ public class AdgroupZone {
 	public void setStatus(Integer status) {
 	public void setStatus(Integer status) {
 		this.status = status;
 		this.status = status;
 	}
 	}
-	public Long getSupdate() {
-		return supdate;
+	public Long getSupdated() {
+		return supdated;
 	}
 	}
-	public void setSupdate(Long supdate) {
-		this.supdate = supdate;
+	public void setSupdated(Long supdated) {
+		this.supdated = supdated;
 	}
 	}
 	@Override
 	@Override
 	public String toString() {
 	public String toString() {
 		return "AdGroupZone [id=" + id + ", adgroupId=" + adgroupId
 		return "AdGroupZone [id=" + id + ", adgroupId=" + adgroupId
-				+ ", zoneId=" + zoneId + ", status=" + status + ", supdate="
-				+ supdate + "]";
+				+ ", zoneId=" + zoneId + ", status=" + status + ", supdated="
+				+ supdated + "]";
 	}
 	}
 	
 	
 	
 	

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

@@ -36,4 +36,14 @@
 		from t_adgroup_place
 		from t_adgroup_place
 		where adgroup_id = #{adGroupId}
 		where adgroup_id = #{adGroupId}
 	</select>
 	</select>
+	
+	<!-- 批量插入 -->
+	<insert id="addAdGroupPlaceBatch">
+		insert into t_adgroup_place 
+		(adgroup_id,place_id,status,supdated)
+		values
+		<foreach collection="placeIdList" item="placeId" index="index" separator=",">
+			(#{adgroupPlace.adgroupId},#{placeId},#{adgroupPlace.status},#{adgroupPlace.supdated})
+		</foreach>
+	</insert>
 </mapper>
 </mapper>

+ 9 - 0
src/main/java/com/cloudcross/ssp/model/mapper/adgroup-wifi.sql.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="adgroupWifiSqlMapper">
+	<!-- 投放关联ID -->
+	<insert id="addAdgroupWifi" parameterType="java.util.Map">
+		insert into t_adgroup_wifi (adgroup_id,wifi_id,status,supdated)
+		values (#{adGroupId},#{wifiId},#{status},#{supdated})
+	</insert>
+</mapper>

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

@@ -4,10 +4,10 @@
 	<!-- 批量插入 -->
 	<!-- 批量插入 -->
 	<insert id="addAdgroupZoneBatch">
 	<insert id="addAdgroupZoneBatch">
 		insert into t_adgroup_zone 
 		insert into t_adgroup_zone 
-		(adgroup_id,zone_id,status,supdate)
+		(adgroup_id,zone_id,status,supdated)
 		values
 		values
 		<foreach collection="zoneIdList" item="zoneId" index="index" separator=",">
 		<foreach collection="zoneIdList" item="zoneId" index="index" separator=",">
-			(#{adgroupId},#{zoneId},#{status},#{supdate})
+			(#{adgroupZone.adgroupId},#{zoneId},#{adgroupZone.status},#{adgroupZone.supdated})
 		</foreach>
 		</foreach>
 	</insert>
 	</insert>
 </mapper>
 </mapper>

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

@@ -11,4 +11,6 @@ public interface IAdGroupPlaceService extends IGenericService<AdGroupPlace>{
 	//根据投放id查找所有的场景id
 	//根据投放id查找所有的场景id
 	List<AdGroupPlace> findAllByAdGroupId(Long adGroupId);
 	List<AdGroupPlace> findAllByAdGroupId(Long adGroupId);
 	boolean updatedPlaceSupdated(Long adGroupId);
 	boolean updatedPlaceSupdated(Long adGroupId);
+	
+	public void saveAdGroupPlace(AdGroupPlace adgroupPlace,List<Long>placeIdList);
 }
 }

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

@@ -51,4 +51,7 @@ public interface IAdGroupService extends IGenericService<AdGroup> {
 	public List<AdGroup> findByParamsBack(Map<String, Object> paramMap, Pager pager);
 	public List<AdGroup> findByParamsBack(Map<String, Object> paramMap, Pager pager);
 	public Map findAreasBack(Long adGroupId);
 	public Map findAreasBack(Long adGroupId);
 	
 	
+	//媒体自投保存
+	public boolean saveAll(AdGroup adGroup, Map<String,Object> condition);
+	
 }
 }

+ 4 - 3
src/main/java/com/cloudcross/ssp/service/IAdgroupWifigroupService.java

@@ -1,8 +1,9 @@
 package com.cloudcross.ssp.service;
 package com.cloudcross.ssp.service;
 
 
-import com.cloudcross.ssp.base.service.IGenericService;
-import com.cloudcross.ssp.model.AdgroupWifigroup;
+import java.util.List;
 
 
-public interface IAdgroupWifigroupService extends IGenericService<AdgroupWifigroup> {
+import com.cloudcross.ssp.model.AdgroupWifigroup;
 
 
+public interface IAdgroupWifigroupService {
+	public void saveAdgroupWifigroup(AdgroupWifigroup adgroupWifigroup,List<Long>wifigroupIdList);
 }
 }

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

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

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

@@ -9,8 +9,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import com.cloudcross.ssp.base.dao.GenericIBatisDao;
 import com.cloudcross.ssp.base.dao.GenericIBatisDao;
+import com.cloudcross.ssp.common.utils.MapBuilder;
 import com.cloudcross.ssp.common.utils.Pager;
 import com.cloudcross.ssp.common.utils.Pager;
 import com.cloudcross.ssp.model.AdGroupPlace;
 import com.cloudcross.ssp.model.AdGroupPlace;
+import com.cloudcross.ssp.model.AdgroupWifigroup;
 import com.cloudcross.ssp.service.IAdGroupPlaceService;
 import com.cloudcross.ssp.service.IAdGroupPlaceService;
 
 
 @Service
 @Service
@@ -78,5 +80,12 @@ public class AdGroupPlaceService implements IAdGroupPlaceService{
 		ibatisDao.save("adGroupPlaceSqlMapper.updatedSupdated", adGroupId);
 		ibatisDao.save("adGroupPlaceSqlMapper.updatedSupdated", adGroupId);
 		return true;
 		return true;
 	}
 	}
+	
+	public void saveAdGroupPlace(AdGroupPlace adgroupPlace,List<Long>placeIdList){
+		ibatisDao.save("adGroupPlaceSqlMapper.addAdGroupPlaceBatch",MapBuilder.create(HashMap.class)
+				.add("placeIdList",placeIdList)
+				.add("adgroupPlace",adgroupPlace)
+				.map());
+	}
 
 
 }
 }

+ 47 - 2
src/main/java/com/cloudcross/ssp/service/impl/AdGroupService.java

@@ -21,12 +21,15 @@ import com.cloudcross.ssp.model.Acls;
 import com.cloudcross.ssp.model.AdGroup;
 import com.cloudcross.ssp.model.AdGroup;
 import com.cloudcross.ssp.model.AdGroupPlace;
 import com.cloudcross.ssp.model.AdGroupPlace;
 import com.cloudcross.ssp.model.AdGroupSchedule;
 import com.cloudcross.ssp.model.AdGroupSchedule;
+import com.cloudcross.ssp.model.AdgroupWifigroup;
+import com.cloudcross.ssp.model.AdgroupZone;
 import com.cloudcross.ssp.model.Direct;
 import com.cloudcross.ssp.model.Direct;
 import com.cloudcross.ssp.model.Location;
 import com.cloudcross.ssp.model.Location;
 import com.cloudcross.ssp.service.IAdGroupPlaceService;
 import com.cloudcross.ssp.service.IAdGroupPlaceService;
 import com.cloudcross.ssp.service.IAdGroupScheduleService;
 import com.cloudcross.ssp.service.IAdGroupScheduleService;
 import com.cloudcross.ssp.service.IAdGroupService;
 import com.cloudcross.ssp.service.IAdGroupService;
-
+import com.cloudcross.ssp.service.IAdgroupWifigroupService;
+import com.cloudcross.ssp.service.IAdgroupZoneService;
 import com.cloudcross.ssp.service.IBannerService;
 import com.cloudcross.ssp.service.IBannerService;
 import com.cloudcross.ssp.service.IDirectService;
 import com.cloudcross.ssp.service.IDirectService;
 import com.cloudcross.ssp.service.ILocationService;
 import com.cloudcross.ssp.service.ILocationService;
@@ -51,7 +54,10 @@ public class AdGroupService implements IAdGroupService, ISelectorProvider {
 	private IDirectService directService;
 	private IDirectService directService;
 	@Autowired
 	@Autowired
 	private IBannerService bannerService;
 	private IBannerService bannerService;
-	
+	@Autowired
+	private IAdgroupZoneService adgroupZoneService;
+	@Autowired
+	private IAdgroupWifigroupService adgroupWifigroupService;
 	@Override
 	@Override
 	public AdGroup findById(Long id) {
 	public AdGroup findById(Long id) {
 		return myBatisDao.get("adGroupSqlMapper.findById", id);
 		return myBatisDao.get("adGroupSqlMapper.findById", id);
@@ -513,6 +519,45 @@ public void commonSaveDriect(Map<String,Object> targetParamsMap,Map<String,Objec
 			paramMap.put("pager", pager);
 			paramMap.put("pager", pager);
 			return myBatisDao.getList("adGroupSqlMapper.findByParams", paramMap);
 			return myBatisDao.getList("adGroupSqlMapper.findByParams", paramMap);
 		}
 		}
+
+		@Override
+		public boolean saveAll(AdGroup adGroup, Map<String,Object> condition) {
+			//添加投放,时间定向,地域定向
+			save(adGroup,condition);
+			Long adgroupId = adGroup.getId();
+			Long supdated = new Date().getTime()/1000;
+			//添加土方与广告位对应关系
+			List<Long> zoneIdList = adGroup.getZoneIdList();
+			if(zoneIdList != null && zoneIdList.size()>0){
+				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);
+			}
+			
+			return false;
+		}
 		
 		
 		
 		
 }
 }

+ 15 - 40
src/main/java/com/cloudcross/ssp/service/impl/AdgroupWifigroupService.java

@@ -1,53 +1,28 @@
 package com.cloudcross.ssp.service.impl;
 package com.cloudcross.ssp.service.impl;
 
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
-import java.util.Map;
 
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import com.cloudcross.ssp.common.utils.Pager;
+import com.cloudcross.ssp.base.dao.GenericIBatisDao;
+import com.cloudcross.ssp.common.utils.MapBuilder;
 import com.cloudcross.ssp.model.AdgroupWifigroup;
 import com.cloudcross.ssp.model.AdgroupWifigroup;
 import com.cloudcross.ssp.service.IAdgroupWifigroupService;
 import com.cloudcross.ssp.service.IAdgroupWifigroupService;
 
 
-@Service
-public class AdgroupWifigroupService implements IAdgroupWifigroupService{
 
 
-	@Override
-	public AdgroupWifigroup findById(Long id) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public int countByParams(Map<String, Object> paramMap) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	@Override
-	public List<AdgroupWifigroup> findByParams(Map<String, Object> paramMap,
-			Pager pager) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public boolean add(AdgroupWifigroup t) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	@Override
-	public boolean edit(AdgroupWifigroup t) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	@Override
-	public boolean updateStatus(List<Long> idList, int status) {
-		// TODO Auto-generated method stub
-		return false;
-	}
 
 
+@Service
+public class AdgroupWifigroupService implements IAdgroupWifigroupService{
 	
 	
+	@Autowired
+	private GenericIBatisDao myBatisDao;
+	
+	public void saveAdgroupWifigroup(AdgroupWifigroup adgroupWifigroup,List<Long>wifigroupIdList){
+		myBatisDao.save("adgroupWifigroupSqlMapper.addAdgroupWifigroupBatch",MapBuilder.create(HashMap.class)
+				.add("wifigroupIdList",wifigroupIdList)
+				.add("adgroupWifigroup",adgroupWifigroup)
+				.map());
+	}
 }
 }

+ 13 - 37
src/main/java/com/cloudcross/ssp/service/impl/AdgroupZoneService.java

@@ -1,11 +1,13 @@
 package com.cloudcross.ssp.service.impl;
 package com.cloudcross.ssp.service.impl;
 
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
-import java.util.Map;
 
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import com.cloudcross.ssp.common.utils.Pager;
+import com.cloudcross.ssp.base.dao.GenericIBatisDao;
+import com.cloudcross.ssp.common.utils.MapBuilder;
 import com.cloudcross.ssp.model.AdgroupZone;
 import com.cloudcross.ssp.model.AdgroupZone;
 import com.cloudcross.ssp.service.IAdgroupZoneService;
 import com.cloudcross.ssp.service.IAdgroupZoneService;
 
 
@@ -13,42 +15,16 @@ import com.cloudcross.ssp.service.IAdgroupZoneService;
 
 
 @Service
 @Service
 public class AdgroupZoneService implements IAdgroupZoneService {
 public class AdgroupZoneService implements IAdgroupZoneService {
-
-	@Override
-	public AdgroupZone findById(Long id) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public int countByParams(Map<String, Object> paramMap) {
-		// TODO Auto-generated method stub
-		return 0;
-	}
-
-	@Override
-	public List<AdgroupZone> findByParams(Map<String, Object> paramMap,
-			Pager pager) {
-		// TODO Auto-generated method stub
-		return null;
+	@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());
 	}
 	}
 
 
-	@Override
-	public boolean add(AdgroupZone t) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	@Override
-	public boolean edit(AdgroupZone t) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	@Override
-	public boolean updateStatus(List<Long> idList, int status) {
-		// TODO Auto-generated method stub
-		return false;
-	}
+	
 
 
 }
 }

+ 3 - 5
src/main/java/com/cloudcross/ssp/web/advertiser/main/ad/target/AdGroupController.java

@@ -1900,14 +1900,12 @@ public class AdGroupController extends SimpleController {
 	@RequestMapping("/saveAdGroup")
 	@RequestMapping("/saveAdGroup")
 	public String saveAdGroup(HttpServletRequest request, Model model,@ModelAttribute("form") AdGroup adGroup
 	public String saveAdGroup(HttpServletRequest request, Model model,@ModelAttribute("form") AdGroup adGroup
 			,@RequestParam String place
 			,@RequestParam String place
-			,@RequestParam Long orderId
-			,@RequestParam Long campaignId
 			,@RequestParam String areas
 			,@RequestParam String areas
 			,@RequestParam Map<String, Object> paramMap) {
 			,@RequestParam Map<String, Object> paramMap) {
 		adGroup.setAdvertiserId(Long.parseLong(String.valueOf(paramMap.get("advertiserId"))));
 		adGroup.setAdvertiserId(Long.parseLong(String.valueOf(paramMap.get("advertiserId"))));
 		adGroup.setAgentId(Long.parseLong(String.valueOf(paramMap.get("agentId"))));
 		adGroup.setAgentId(Long.parseLong(String.valueOf(paramMap.get("agentId"))));
-		adGroup.setCampaignId(campaignId);
-		adGroup.setOrderId(orderId);
+		adGroup.setCampaignId(Long.parseLong(String.valueOf(paramMap.get("campaignId"))));
+		adGroup.setOrderId(Long.parseLong(String.valueOf(paramMap.get("orderId"))));
 		adGroup.setStatus(1);
 		adGroup.setStatus(1);
 		
 		
 		/**
 		/**
@@ -2106,7 +2104,7 @@ public class AdGroupController extends SimpleController {
 				e.printStackTrace();
 				e.printStackTrace();
 			}
 			}
 	    	
 	    	
-			adGroupService.save(adGroup, paramMap);
+			adGroupService.saveAll(adGroup, paramMap);
 			/**
 			/**
 			 * 新增投放成功后同时会新增地域定向,时段定向,wifi定向以及下面的场景
 			 * 新增投放成功后同时会新增地域定向,时段定向,wifi定向以及下面的场景
 			 * 所以这里的日志新增记录应该把这些都加进去
 			 * 所以这里的日志新增记录应该把这些都加进去