Browse Source

分组edit页面保存方法

jun.zhou 9 years ago
parent
commit
162e0be07d

+ 0 - 1
src/main/java/com/cloudcross/ssp/model/WifiGroup.java

@@ -1,6 +1,5 @@
 package com.cloudcross.ssp.model;
 
-import java.util.Date;
 
 /**
  * 

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

@@ -418,4 +418,5 @@
 	<select id="queryWifiNameById" resultType="java.lang.String" parameterType="java.lang.Long">
 		select name from t_wifi where id = #{id}
 	</select>
+	
 </mapper>

+ 21 - 14
src/main/java/com/cloudcross/ssp/model/mapper/wifiGroup.sql.xml

@@ -1,7 +1,8 @@
 <?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="wifiGroupSqlMapper">
-	<insert id="addWifiGroup" parameterType="com.cloudcross.ssp.model.WifiGroup">
+	<!-- 批量插入 -->
+	<insert id="addWifiGroupBatch" parameterType="java.util.Map">
 		insert into t_wifi_group
 		 <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="wifiId != null">
@@ -18,18 +19,20 @@
             </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="wifiId != null">
-                #{wifiId},
-            </if>
-            <if test="groupId != null">
-                #{groupId},
-            </if>
-            <if test="status != null">
-                #{status},
-            </if>
-            <if test="supdated != null">
-               #{supdated}
-            </if>
+        	<foreach collection="wifiIdList" item="wifiId" index="index" separator=",">
+	            <if test="wifiId != null">
+	                #{wifiId},
+	            </if>
+	            <if test="groupId != null">
+	                #{wifiGroup.groupId},
+	            </if>
+	            <if test="status != null">
+	                #{wifiGroup.status},
+	            </if>
+	            <if test="supdated != null">
+	               #{wifiGroup.supdated}
+	            </if>
+            </foreach>
         </trim>
 	</insert>
 	
@@ -48,6 +51,10 @@
 	<select id="updateStatusById" parameterType="java.util.Map">
 		update t_wifi_group 
 			set status = #{status},supdated = #{supdated}
-			where t_wifi_group.group_id = ${id}
+			where t_wifi_group.group_id = #{id}
+	</select>
+	
+	<select id="queryWifiIdByGroupId" parameterType="java.lang.Long" resultType="com.cloudcross.ssp.model.WifiGroup">
+		select wifi_id as wifiId from t_wifi_group where group_id = #{groupId}
 	</select>
 </mapper>

+ 4 - 1
src/main/java/com/cloudcross/ssp/service/IWifiGroupService.java

@@ -1,5 +1,7 @@
 package com.cloudcross.ssp.service;
 
+import java.util.List;
+
 import com.cloudcross.ssp.base.service.IGenericService;
 import com.cloudcross.ssp.model.WifiGroup;
 
@@ -17,5 +19,6 @@ import com.cloudcross.ssp.model.WifiGroup;
  */
 public interface IWifiGroupService extends IGenericService<WifiGroup>{
 	public boolean updateStatusById(Long id, int status);
-
+	public boolean addWifiToGroup(List<Long>wifiIdList,WifiGroup wifiGroup);
+	public List<Long> queryWifiIdByGroupId(Long groupId);
 }

+ 14 - 2
src/main/java/com/cloudcross/ssp/service/impl/WifiGroupService.java

@@ -51,8 +51,8 @@ public class WifiGroupService implements IWifiGroupService{
 
 	@Override
 	public boolean add(WifiGroup wifiGroup) {
-		myBatisDao.save("wifiGroupSqlMapper.addWifiGroup", wifiGroup);
-		return true;
+		//myBatisDao.save("wifiGroupSqlMapper.addWifiGroup", wifiGroup);
+		return false;
 	}
 
 	@Override
@@ -81,4 +81,16 @@ public class WifiGroupService implements IWifiGroupService{
 		return true;
 	}
 	
+	public boolean addWifiToGroup(List<Long>wifiIdList,WifiGroup wifiGroup){
+		myBatisDao.save("wifiGroupSqlMapper.addWifiGroupBatch",
+				MapBuilder.create(HashMap.class)
+					.add("wifiIdList", wifiIdList)
+					.add("wifiGroup",wifiGroup)
+					.map());
+		return true;
+	}
+	
+	public List<Long> queryWifiIdByGroupId(Long groupId){
+		return myBatisDao.getList("wifiGroupSqlMapper.queryWifiIdByGroupId", groupId);
+	}
 }

+ 57 - 23
src/main/java/com/cloudcross/ssp/web/operator/main/ap/ApgroupController.java

@@ -38,7 +38,7 @@ import com.cloudcross.ssp.service.IWifiService;
 /**
  * 
  *
- * 类名称:WifiGroupController
+ * 类名称:ApgroupController
  * 类描述:热点分组
  * 创建人:zhoujun
  * 修改人:zhoujun
@@ -202,20 +202,13 @@ public class ApgroupController extends SimpleController{
 	@RequestMapping("/addGroupName")
 	@ResponseBody
 	public String  addGroupName(String name){
-		String result = "";
-		Boolean bool = isGroupNameExist(name);
-		if(bool){//已存在
-			result = "组名已存在";
-		}else{
-			WifiGroupInfo wifiGroupInfo = new WifiGroupInfo();
-			wifiGroupInfo.setName(name);
-			wifiGroupInfo.setStatus(0);//开启
-			wifiGroupInfo.setUpdated(new Date());
-			wifiGroupInfo.setOperatorId(getLoginUser().getOperatorId());
-			this.wifiGroupInfoService.add(wifiGroupInfo);
-			result = "添加成功";
-		}
-		return result;
+		WifiGroupInfo wifiGroupInfo = new WifiGroupInfo();
+		wifiGroupInfo.setName(name);
+		wifiGroupInfo.setStatus(0);//开启
+		wifiGroupInfo.setUpdated(new Date());
+		wifiGroupInfo.setOperatorId(getLoginUser().getOperatorId());
+		this.wifiGroupInfoService.add(wifiGroupInfo);
+		return "添加成功";
 	}
 	
 	/**
@@ -271,7 +264,6 @@ public class ApgroupController extends SimpleController{
 		
 		String cn = null;
 		String cnCity = null;
-		String searchValue = null;
 		/**
 		 * 下面对传递过来的几个参数进行处理
 		 */
@@ -286,10 +278,10 @@ public class ApgroupController extends SimpleController{
 		paramMap.put("cnCity", cnCity);
 		
 		//按热点名称和详细地址搜索
+		String apmac = "";
 		if(null != paramMap.get("searchValue") && !"".equals(paramMap.get("searchValue"))) {
-				String name = (String) paramMap.get("searchValue");
-				searchValue = (String) paramMap.get("searchValue");
-				paramMap.put("searchValue", SqlHelper.doLike(name.trim()));
+				apmac = (String) paramMap.get("searchValue");
+				paramMap.put("apmac", apmac);
 		} else {
 			paramMap.put("searchValue", null);
 		}
@@ -316,7 +308,7 @@ public class ApgroupController extends SimpleController{
 		}
 		paramMap.put("cn", cn);
 		paramMap.put("cnCity", cnCity);
-		paramMap.put("searchValue", searchValue);
+		paramMap.put("searchValue", apmac);
 		model.addAttribute("pager",pager);
 		model.addAllAttributes(paramMap);
 		model.addAttribute("wifiList", wifiList);
@@ -338,7 +330,7 @@ public class ApgroupController extends SimpleController{
 	 * @exception
 	 * @since  1.0.0
 	 */
-	@RequestMapping("/addWifiGroup")
+	/*@RequestMapping("/addWifiGroup")
 	@ResponseBody
 	public String addWifiGroup(Model model,long wifiId,long groupId){
 		Boolean flag = false;
@@ -356,7 +348,7 @@ public class ApgroupController extends SimpleController{
 		}
 		return result;	
 	}
-	
+	*/
 	/**
 	 * 根据wifiID将热点移除分组
 	 * @param id wifi的id
@@ -439,6 +431,48 @@ public class ApgroupController extends SimpleController{
 		return OK;
 	}
 	
-	
+	/**
+	 * edit页面保存
+	 * @param id wifi的ID,数组形式
+	 * @param wifiGroupInfoId 分组ID
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping("save")
+	@ResponseBody
+	public String addWifiToGroup(Long[]id,Long wifiGroupInfoId,HttpServletRequest request) {
+		WifiGroup wifiGroup = new WifiGroup();
+		wifiGroup.setGroupId(wifiGroupInfoId);
+		wifiGroup.setStatus(0);
+		wifiGroup.setSupdated(new Date().getTime()/1000);
+		//查询分组里的wifi
+		List<Long> wifiIdList = this.wifiGroupService.queryWifiIdByGroupId(wifiGroupInfoId);
+		List<Long> idList = LangUtil.array2List(id);
+		if(wifiIdList != null && wifiIdList.size()>0){
+			int len = wifiIdList.size(); 
+			for(int i=0;i<len;i++){
+				idList.remove(wifiIdList.get(i));
+			}
+		}
+		boolean flag = this.wifiGroupService.addWifiToGroup(idList,wifiGroup);
+		if(flag){
+			for(int i=0;i<id.length;i++){
+				Log log = new Log();
+				log.setModule("Operator");//对应模块
+				log.setTableName("t_wifi_group");//对应的表名
+				log.setRecordId(wifiGroupInfoId);//
+				log.setActionType("添加");	//操作类型
+				log.setAction("将ID="+id[i]+"的wifi添加到ID="+wifiGroupInfoId+"的分组");//变更详情
+				//下面这几个字段目前后端数据没有得到。所以仅作测试用!
+				log.setActionTime("100");
+				log.setAccountId(Long.valueOf(getLoginUser().getId()));
+				log.setUserIp(Common.toIpAddr(request));
+				log.setAccountName(getLoginUser().getAccountName());
+				logService.add(log);
+			}
+			
+		}
+		return OK;
+	}
 	
 }