You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.8 KiB
104 lines
3.8 KiB
package com.fr.plugin.web.hander; |
|
|
|
import com.fr.decision.fun.impl.BaseHttpHandler; |
|
import com.fr.json.JSONArray; |
|
import com.fr.json.JSONObject; |
|
import com.fr.plugin.dao.MyGroupDao; |
|
import com.fr.plugin.entitys.YtGroupEntity; |
|
import com.fr.plugin.yt.MyCoreDBAccess; |
|
import com.fr.stable.StringUtils; |
|
import com.fr.stable.db.action.DBAction; |
|
import com.fr.stable.db.dao.DAOContext; |
|
import com.fr.stable.query.QueryFactory; |
|
import com.fr.stable.query.condition.QueryCondition; |
|
import com.fr.stable.query.restriction.RestrictionFactory; |
|
import com.fr.third.springframework.web.bind.annotation.RequestMethod; |
|
import com.fr.web.utils.WebUtils; |
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
import javax.servlet.http.HttpServletResponse; |
|
import java.util.ArrayList; |
|
import java.util.List; |
|
import java.util.UUID; |
|
|
|
public class UpdateGroupHandler extends BaseHttpHandler { |
|
@Override |
|
public RequestMethod getMethod() { |
|
return RequestMethod.POST; |
|
} |
|
|
|
@Override |
|
public String getPath() { |
|
return "/yt/groupUpdate"; |
|
} |
|
|
|
@Override |
|
public boolean isPublic() { |
|
return false; |
|
} |
|
|
|
@Override |
|
public void handle(HttpServletRequest request, HttpServletResponse httpServletResponse) throws Exception { |
|
JSONArray resp = new JSONArray(); |
|
String groupId = WebUtils.getHTTPRequestParameter(request, "groupId"); |
|
String groupName = WebUtils.getHTTPRequestParameter(request, "groupName"); |
|
JSONObject respJson = JSONObject.create(); |
|
List<YtGroupEntity> ytGroupEntities = checkExist(groupId); |
|
if (ytGroupEntities.isEmpty()) { |
|
respJson.put("msg", "群组不存在"); |
|
respJson.put("errorCode", 1); |
|
WebUtils.flushSuccessMessageAutoClose(request, httpServletResponse, respJson); |
|
return; |
|
} |
|
if (StringUtils.isBlank(groupId)) { |
|
respJson.put("msg", "group id 为空"); |
|
respJson.put("errorCode", 1); |
|
WebUtils.flushSuccessMessageAutoClose(request, httpServletResponse, respJson); |
|
return; |
|
} |
|
if (StringUtils.isBlank(groupName)) { |
|
respJson.put("msg", "group name 为空"); |
|
respJson.put("errorCode", 1); |
|
WebUtils.flushSuccessMessageAutoClose(request, httpServletResponse, respJson); |
|
return; |
|
} |
|
YtGroupEntity entity = ytGroupEntities.get(0); |
|
entity.setGroupId(groupId); |
|
entity.setName(groupName); |
|
entity.setId(UUID.randomUUID().toString()); |
|
saveGroup(entity); |
|
respJson.put("errorCode", 0); |
|
WebUtils.flushSuccessMessageAutoClose(request, httpServletResponse, respJson); |
|
} |
|
|
|
private void saveGroup(YtGroupEntity entity) { |
|
try { |
|
MyCoreDBAccess.getAccessor().runDMLAction(new DBAction<Object>() { |
|
@Override |
|
public Object run(DAOContext daoContext) throws Exception { |
|
daoContext.getDAO(MyGroupDao.class).update(entity); |
|
return null; |
|
} |
|
}); |
|
} catch (Exception e) { |
|
e.printStackTrace(); |
|
} |
|
} |
|
|
|
private List<YtGroupEntity> checkExist(String id) { |
|
List<YtGroupEntity> entityList = null; |
|
try { |
|
entityList = MyCoreDBAccess.getAccessor().runQueryAction(new DBAction<List<YtGroupEntity>>() { |
|
public List<YtGroupEntity> run(DAOContext content) throws Exception { |
|
QueryCondition queryCondition = QueryFactory.create(); |
|
queryCondition.addRestriction(RestrictionFactory.and(RestrictionFactory.like("groupId", id))); |
|
return content.getDAO(MyGroupDao.class).find(queryCondition); |
|
} |
|
}); |
|
return entityList; |
|
} catch (Exception e) { |
|
e.printStackTrace(); |
|
} |
|
return new ArrayList<>(); |
|
} |
|
}
|
|
|