Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.dlshouwen.tdjs.picture.controller; import com.dlshouwen.core.base.config.CONFIG; import com.dlshouwen.core.base.extra.grid.model.Pager; import com.dlshouwen.core.base.extra.grid.utils.PagerPropertyUtils; import com.dlshouwen.core.base.http.FileUploadClient; import com.dlshouwen.core.base.model.AjaxResponse; import com.dlshouwen.core.base.model.OperationType; import com.dlshouwen.core.base.model.SessionUser; import com.dlshouwen.core.base.utils.GUID; import com.dlshouwen.core.base.utils.LogUtils; import com.dlshouwen.core.system.dao.UserDao; import com.dlshouwen.core.system.model.User; import com.dlshouwen.tdjs.album.dao.AlbumDao; import com.dlshouwen.tdjs.album.model.Album; import com.dlshouwen.tdjs.picture.dao.PictureDao; import com.dlshouwen.tdjs.picture.model.Picture; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; /** * ? * * @author xlli */ @Controller @RequestMapping("/tdjs/tdjsPicture/picture") public class TdjsPictureController { /** * */ private String basePath = "tdjs/picture/"; /** * ?? */ private PictureDao dao; private UserDao userDao; private AlbumDao albumDao; /** * ?? * * @param dao ?? */ @Resource(name = "TdjsPictureDao") public void setDao(PictureDao dao) { this.dao = dao; } @Resource(name = "userDao") public void setUserDao(UserDao userDao) { this.userDao = userDao; } @Resource(name = "TdjsAlbumDao") public void setAlbumDao(AlbumDao albumDao) { this.albumDao = albumDao; } /** * ? * * @param request * @return basePath + "pictureList" * @throws Exception */ @RequestMapping(value = "", method = RequestMethod.GET) public String goPicturePage(HttpServletRequest request) throws Exception { // ? LogUtils.updateOperationLog(request, OperationType.VISIT, "??"); return basePath + "pictureList"; } /** * ?? * * @param gridPager ? * @param request * @param response ? * @throws Exception */ @RequestMapping(value = "/list", method = RequestMethod.POST) @ResponseBody public void getPictureList(String gridPager, HttpServletRequest request, HttpServletResponse response) throws Exception { // ?? SessionUser sessionUser = (SessionUser) request.getSession().getAttribute(CONFIG.SESSION_USER); User user = userDao.getUserById(sessionUser.getUser_id()); // Pager Pager pager = PagerPropertyUtils.copy(JSONObject.fromObject(gridPager)); // ?? if (StringUtils.isNotEmpty(user.getIdentity()) && user.getIdentity().equals("1")) { if (StringUtils.isEmpty(user.getTeam_id())) {//? dao.getPictureList(pager, request, response); } else {//? dao.getPictureList(pager, request, response, user.getTeam_id(), null); } } else if (StringUtils.isNotEmpty(user.getIdentity()) && user.getIdentity().equals("0") && StringUtils.isNotEmpty(user.getTeam_id())) {// dao.getPictureList(pager, request, response, user.getTeam_id(), user.getUser_id()); } // ? LogUtils.updateOperationLog(request, OperationType.SEARCH, "????"); } /** * ? * * @param request * @param model * @return * @throws Exception */ @RequestMapping(value = "/add", method = RequestMethod.GET) public String addPicture(HttpServletRequest request, Model model) throws Exception { // Picture pic = new Picture(); // pic.setShow("1"); //?? model.addAttribute("picture", pic); // ? LogUtils.updateOperationLog(request, OperationType.VISIT, "?"); return basePath + "addPicture"; } /** * * * @param picture * @param bindingResult ? * @param request * @return ajax? * @throws Exception */ @RequestMapping(value = "/ajaxAdd", method = RequestMethod.POST) @ResponseBody public void ajaxAddPicture(@Valid Picture picture, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response) throws Exception { // AJAX? AjaxResponse ajaxResponse = new AjaxResponse(); // ??zz if (bindingResult.hasErrors()) { ajaxResponse.bindingResultHandler(bindingResult); // ? LogUtils.updateOperationLog(request, OperationType.INSERT, "???" + AjaxResponse.getBindingResultMessage(bindingResult) + ""); response.setContentType("text/html;charset=utf-8"); JSONObject obj = JSONObject.fromObject(ajaxResponse); response.getWriter().write(obj.toString()); return; } String path = ""; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("picture"); if (multipartFile != null && StringUtils.isNotEmpty(multipartFile.getOriginalFilename())) { //?? JSONObject jobj = FileUploadClient.upFile(request, multipartFile.getOriginalFilename(), multipartFile.getInputStream()); if (null != jobj && jobj.getString("responseMessage").equals("OK")) { path = jobj.getString("fpath"); } } // ???? SessionUser sessionUser = (SessionUser) request.getSession().getAttribute(CONFIG.SESSION_USER); String userId = sessionUser.getUser_id(); String userName = sessionUser.getUser_name(); Date nowDate = new Date(); // ? picture.setPicture_id(new GUID().toString()); picture.setCreate_time(nowDate); picture.setUser_id(userId); picture.setUser_name(userName); path = path.replaceAll("\\\\", "/"); picture.setPath(path); // dao.insertPicture(picture); // ???? ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("??"); //? Map map = new HashMap(); map.put("URL", "tdjs/tdjsPicture/picture"); ajaxResponse.setExtParam(map); // ? LogUtils.updateOperationLog(request, OperationType.INSERT, "?" + picture.getPicture_id()); response.setContentType("text/html;charset=utf-8"); JSONObject obj = JSONObject.fromObject(ajaxResponse); response.getWriter().write(obj.toString()); } /** * ? * * @param pictureId ID * @param request * @param model ?? * @return basePath + "editPicture" * @throws Exception */ @RequestMapping(value = "/{pictureId}/edit", method = RequestMethod.GET) public String editPicture(@PathVariable String pictureId, HttpServletRequest request, Model model) throws Exception { // ?? Picture pic = dao.getPictureById(pictureId); // ?? model.addAttribute("picture", pic); // ? LogUtils.updateOperationLog(request, OperationType.VISIT, "??" + pic.getPicture_id() + "??" + pic.getPicture_name()); return basePath + "editPicture"; } /** * * * @param picture * @param bindingResult ? * @param request * @return ajax? * @throws Exception */ @RequestMapping(value = "/ajaxEdit", method = RequestMethod.POST) @ResponseBody public void ajaxEditPicture(@Valid Picture picture, HttpServletRequest request, BindingResult bindingResult, HttpServletResponse response) throws Exception { // AJAX? AjaxResponse ajaxResponse = new AjaxResponse(); // ?? if (bindingResult.hasErrors()) { ajaxResponse.bindingResultHandler(bindingResult); // ? LogUtils.updateOperationLog(request, OperationType.INSERT, "???" + AjaxResponse.getBindingResultMessage(bindingResult) + ""); response.setContentType("text/html;charset=utf-8"); JSONObject obj = JSONObject.fromObject(ajaxResponse); response.getWriter().write(obj.toString()); return; } String path = null; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("picture"); String orgFilename = multipartFile.getOriginalFilename(); if (multipartFile != null && StringUtils.isNotEmpty(orgFilename)) { JSONObject jobj = FileUploadClient.upFile(request, orgFilename, multipartFile.getInputStream()); if (jobj != null && jobj.getString("responseMessage").equals("OK")) { path = jobj.getString("fpath"); } } Picture oldPicture = dao.getPictureById(picture.getPicture_id()); oldPicture.setPicture_name(picture.getPicture_name()); oldPicture.setDescription(picture.getDescription()); oldPicture.setFlag(picture.getFlag()); oldPicture.setShow(picture.getShow()); oldPicture.setTeam_id(picture.getTeam_id()); if (StringUtils.isNotEmpty(path)) { oldPicture.setPath(path); } // ?? Date nowDate = new Date(); // oldPicture.setUpdate_time(nowDate); // dao.updatePicture(oldPicture); // ???? ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("??"); //? Map map = new HashMap(); map.put("URL", "tdjs/tdjsPicture/picture"); ajaxResponse.setExtParam(map); // ? LogUtils.updateOperationLog(request, OperationType.INSERT, "?" + picture.getPicture_id()); response.setContentType("text/html;charset=utf-8"); JSONObject obj = JSONObject.fromObject(ajaxResponse); response.getWriter().write(obj.toString()); } /** * * * @param pictureIds ? * @param request * @return ajax? * @throws Exception */ @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public AjaxResponse deletePicture(String pictureIds, HttpServletRequest request) throws Exception { // dao.deletePicture(pictureIds); // ? AjaxResponse ajaxResponse = new AjaxResponse(); ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("??"); // ? LogUtils.updateOperationLog(request, OperationType.DELETE, "?" + pictureIds); return ajaxResponse; } /** * * * @param pictureIds ? * @param request * @return ajax? * @throws Exception */ @RequestMapping(value = "/show", method = RequestMethod.POST) @ResponseBody public AjaxResponse showPicture(String pictureIds, HttpServletRequest request) throws Exception { // dao.showPicture(pictureIds); // ? AjaxResponse ajaxResponse = new AjaxResponse(); ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("??"); // ? LogUtils.updateOperationLog(request, OperationType.UPDATE, "?" + pictureIds); return ajaxResponse; } /** * ?? * * @param pictureIds ? * @param request * @return ajax? * @throws Exception */ @RequestMapping(value = "/hide", method = RequestMethod.POST) @ResponseBody public AjaxResponse hidePicture(String pictureIds, HttpServletRequest request) throws Exception { // ?? int i = dao.hidePicture(pictureIds); // ? AjaxResponse ajaxResponse = new AjaxResponse(); ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("????"); // ? LogUtils.updateOperationLog(request, OperationType.UPDATE, "???" + pictureIds); return ajaxResponse; } /** * ? * * @param request * @param Id id * @param model * @return basePath + "pictureList" * @throws Exception */ @RequestMapping(value = "/{albumId}/batchAdd", method = RequestMethod.GET) public String batchAdd(HttpServletRequest request, @PathVariable String albumId, Model model) throws Exception { //id model.addAttribute("albumId", albumId); // ? LogUtils.updateOperationLog(request, OperationType.VISIT, "??"); return basePath + "batchAdd"; } /** * * * @param picture * @param bindingResult ? * @param request * @return ajax? */ @RequestMapping(value = "/{albumId}/ajaxMultipartAdd", method = RequestMethod.POST) @ResponseBody public void ajaxAddMultipartPictureAl(@Valid Picture picture, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, @PathVariable String albumId) throws Exception { // AJAX? AjaxResponse ajaxResponse = new AjaxResponse(); String flag = request.getParameter("flag"); String path = ""; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("file"); String sname = multipartFile.getOriginalFilename(); if (multipartFile != null && StringUtils.isNotEmpty(sname)) { JSONObject jobj = FileUploadClient.upFile(request, sname, multipartFile.getInputStream()); if (jobj != null && jobj.getString("responseMessage").equals("OK")) { path = jobj.getString("fpath"); } } //?? picture.setPicture_name(sname); // ???? SessionUser sessionUser = (SessionUser) request.getSession().getAttribute(CONFIG.SESSION_USER); String userId = sessionUser.getUser_id(); String userName = sessionUser.getUser_name(); Date nowDate = new Date(); // ? picture.setPicture_id(new GUID().toString()); picture.setCreate_time(nowDate); picture.setUser_id(userId); picture.setUser_name(userName); // path = path.replaceAll("\\\\", "/"); picture.setPath(path); picture.setAlbum_id(albumId); picture.setFlag("1"); picture.setShow("1"); // Album album = albumDao.getAlbumById(albumId); String team_id = album.getTeam_id(); String team_name = album.getTeam_name(); picture.setTeam_id(team_id); picture.setTeam_name(team_name); picture.setUpdate_time(new Date()); // dao.insertPicture(picture); //??,???? if (StringUtils.isNotEmpty(flag) && flag.equals("article")) { if (StringUtils.isEmpty(album.getAlbum_coverpath())) { albumDao.setAlbCover(albumId, picture.getPath()); } } // ???? ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("??"); // ? LogUtils.updateOperationLog(request, OperationType.INSERT, "?" + picture.getPicture_id()); response.setContentType("text/html;charset=utf-8"); JSONObject obj = JSONObject.fromObject(ajaxResponse); response.getWriter().write(obj.toString()); return; } /** * ? * * @param pictureId id * @param request * @param model * @return * @throws Exception */ @RequestMapping(value = "/{pictureId}/editAlbPic", method = RequestMethod.GET) public String editAlbumPicture(@PathVariable String pictureId, HttpServletRequest request, Model model) throws Exception { // ?? Picture pic = dao.getPictureById(pictureId); // ?? model.addAttribute("pic", pic); // ? LogUtils.updateOperationLog(request, OperationType.VISIT, "??" + pic.getPicture_id() + "??" + pic.getPicture_name()); return basePath + "editAlbPic"; } @RequestMapping(value = "/editDescription", method = RequestMethod.POST) @ResponseBody public AjaxResponse editDescription(HttpServletRequest request) throws Exception { // String picId = request.getParameter("picId"); String pic_description = request.getParameter("pic_description"); dao.updatePicDescription(picId, pic_description); // ? AjaxResponse ajaxResponse = new AjaxResponse(); ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("????"); // ? LogUtils.updateOperationLog(request, OperationType.UPDATE, "???" + picId); return ajaxResponse; } //? @RequestMapping(value = "/updatePicOrder", method = RequestMethod.POST) @ResponseBody public AjaxResponse updatePicOrder(HttpServletRequest request, HttpServletResponse response) throws Exception { //AJAX? AjaxResponse ajaxResponse = new AjaxResponse(); String picIds = request.getParameter("picIds"); String parms = request.getParameter("order"); //?? if (picIds != null && !"".equals(picIds)) { String[] picId = picIds.split(","); String[] ord = parms.split(","); List<Object[]> list = new ArrayList(); for (int i = 0; i < ord.length; i++) { Object[] objs = { ord[i], picId[i] }; list.add(objs); } dao.updatePicOrder(list); } // ???? ajaxResponse.setSuccess(true); ajaxResponse.setSuccessMessage("??"); // ? LogUtils.updateOperationLog(request, OperationType.INSERT, "?" + picIds); response.setContentType("text/html;charset=utf-8"); JSONObject obj = JSONObject.fromObject(ajaxResponse); return ajaxResponse; } }