|
@@ -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;
|
|
|
|