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 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() { @Override public Object run(DAOContext daoContext) throws Exception { daoContext.getDAO(MyGroupDao.class).update(entity); return null; } }); } catch (Exception e) { e.printStackTrace(); } } private List checkExist(String id) { List entityList = null; try { entityList = MyCoreDBAccess.getAccessor().runQueryAction(new DBAction>() { public List 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<>(); } }