BookAction.java
上传用户:ouhalaa
上传日期:2016-03-17
资源大小:10210k
文件大小:10k
源码类别:

Web服务器

开发平台:

Java

  1. package com.lhq.prj.bms.action;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import com.lhq.prj.bms.core.BaseAction;
  7. import com.lhq.prj.bms.core.MyUtils;
  8. import com.lhq.prj.bms.core.Page;
  9. import com.lhq.prj.bms.po.Book;
  10. import com.lhq.prj.bms.service.IBookService;
  11. /**
  12.  * BookAction.java Create on 2008-9-24 下午09:18:34
  13.  * 
  14.  * 图书管理
  15.  * 
  16.  * Copyright (c) 2008 by MTA.
  17.  * 
  18.  * @author 廖瀚卿
  19.  * @version 1.0
  20.  */
  21. @SuppressWarnings("serial")
  22. public class BookAction extends BaseAction {
  23. private IBookService bookService;
  24. private Book book;
  25. private boolean success;
  26. private Page page;
  27. private Integer bookId;
  28. private File upload;// 上传的文件
  29. private String uploadContentType;// 上传问文件类型
  30. private String uploadFileName; // 上传文件名
  31. private String allowedTypes;// 允许上传的文件类型列表
  32. private String savePath;// 文件保存路径,通过ioc注入
  33. private float maxHeightSize;// 缩略图最大高度
  34. private float maxWidthSize;//缩略图最大宽度
  35. private String bookName;
  36. private String author;
  37. private String press;
  38. private String price;
  39. private String editionNo;
  40. private String isbn;
  41. private Integer categoryId;
  42. private String categoryName;
  43. private String wordCount;
  44. private String pageCount;
  45. private String bookSize;
  46. private String paper;
  47. private String pack;
  48. private String imageUrl;
  49. private String address;
  50. private String editorRecommend;
  51. private String description;
  52. private String authorDesc;
  53. private Integer state;
  54. /**
  55.  * 添加图书
  56.  * 
  57.  * @return
  58.  */
  59. public String saveBook() {
  60. book = this.upload(book);
  61. bookId = (Integer) bookService.saveBook(book);
  62. if (bookId != null) {
  63. this.jsonString = "{bookId:" + bookId + ",success:true,imageUrl:'" + book.getImageUrl() + "'}";
  64. getRequest().setAttribute("jsonString", jsonString);
  65. return SUCCESS;
  66. }
  67. this.jsonString = "{success:false,contentTypeIsValid:" + MyUtils.isValid(getUploadContentType(), getAllowedTypes().split(",")) + "}";
  68. getRequest().setAttribute("jsonString", jsonString);
  69. return INPUT;
  70. }
  71. /**
  72.  * 查找图书信息
  73.  * 
  74.  * @return
  75.  */
  76. public String findAllBook() {
  77. String strCondition = getRequest().getParameter("conditions");
  78. List conditions = new ArrayList();
  79. MyUtils.addToCollection(conditions, MyUtils.split(strCondition, " ,"));
  80. page = new Page();
  81. page.setConditions(conditions);
  82. int start = Integer.valueOf(getRequest().getParameter("start"));
  83. int limit = Integer.valueOf(getRequest().getParameter("limit"));
  84. page.setStart(++start);
  85. page.setLimit(limit = limit == 0 ? 20 : limit);
  86. page = bookService.findByPage(page);
  87. return SUCCESS;
  88. }
  89. /**
  90.  * 删除图书
  91.  * 
  92.  * @return
  93.  */
  94. public String deleteBook() {
  95. String strBookId = getRequest().getParameter("bookId");
  96. if (strBookId != null && !"".equals(strBookId)) {
  97. success = bookService.deleteBook(getSession().getServletContext().getRealPath("/"), Integer.valueOf(strBookId));
  98. }
  99. return SUCCESS;
  100. }
  101. /**
  102.  * 修改图书信息
  103.  *
  104.  * @return
  105.  * @throws Exception
  106.  */
  107. public String updateBook() throws Exception{
  108. Book book = new Book();
  109. book.setAddress(address);
  110. book.setAuthor(author);
  111. book.setAuthorDesc(authorDesc);
  112. book.setBookId(bookId);
  113. book.setBookName(bookName);
  114. book.setBookSize(bookSize);
  115. book.setCategoryId(categoryId);
  116. book.setCategoryName(categoryName);
  117. book.setDescription(description);
  118. book.setEditionNo(editionNo);
  119. book.setEditorRecommend(editorRecommend);
  120. book.setIsbn(isbn);
  121. book.setPack(pack);
  122. book.setPageCount(pageCount);
  123. book.setWordCount(wordCount);
  124. book.setState(state);
  125. book.setPrice(price);
  126. book.setPress(press);
  127. book.setPaper(paper);
  128. book = this.upload(book);
  129. /*1.如果图书本来没有图片则不用删除原来图片
  130.  *2.如果原来有图片并且修改后的图片不一样则删除原来图片
  131.  */
  132. if(imageUrl != null && null != book.getImageUrl() && !imageUrl.equals(book.getImageUrl())){
  133. MyUtils.delFile(getSession().getServletContext().getRealPath("/")+ imageUrl);
  134. }
  135. if(upload != null && MyUtils.isValid(getUploadContentType(), getAllowedTypes().split(",")) && bookService.updateBook(book) ){
  136. this.jsonString = "{success:true,imageUrl:'" + book.getImageUrl() + "'}";
  137. getRequest().setAttribute("jsonString", jsonString);
  138. return SUCCESS;
  139. }else if(upload == null && bookService.updateBook(book)){
  140. this.jsonString = "{success:true,imageUrl:'" + imageUrl + "'}";
  141. getRequest().setAttribute("jsonString", jsonString);
  142. return SUCCESS;
  143. }
  144. this.jsonString = "{success:false,contentTypeIsValid:" + MyUtils.isValid(getUploadContentType(), getAllowedTypes().split(",")) + "}";
  145. getRequest().setAttribute("jsonString", jsonString);
  146. return INPUT;
  147. }
  148. private Book upload(Book book){
  149. String _imageUrl = null;
  150. if (upload != null && MyUtils.isValid(getUploadContentType(), getAllowedTypes().split(","))) {
  151. String rootPath = getSession().getServletContext().getRealPath("/");
  152. String savePath = rootPath + getSavePath();
  153. MyUtils.mkDirectory(savePath);
  154. String newFileName = MyUtils.upload(getUploadFileName(), savePath, getUpload());
  155. _imageUrl = getSavePath() + newFileName;
  156. try {
  157. MyUtils.createMiniPic(new File(savePath + newFileName), maxWidthSize,maxHeightSize);
  158. } catch (IOException e) {
  159. e.printStackTrace();
  160. }
  161. book.setImageUrl(_imageUrl);
  162. }
  163. return book;
  164. }
  165. /**
  166.  * 还书
  167.  * 
  168.  * @return
  169.  * @throws Exception
  170.  */
  171. public String returnBook() throws Exception {
  172. String strBookId = getRequest().getParameter("bookId");
  173. if (strBookId != null && !"".equals(strBookId)) {
  174. Book book = new Book();
  175. book.setBookId(Integer.valueOf(strBookId));
  176. success = bookService.returnBook(book);
  177. }
  178. return SUCCESS;
  179. }
  180. public Book getBook() {
  181. return book;
  182. }
  183. public void setBook(Book book) {
  184. this.book = book;
  185. }
  186. public Integer getBookId() {
  187. return bookId;
  188. }
  189. public void setBookId(Integer bookId) {
  190. this.bookId = bookId;
  191. }
  192. public Page getPage() {
  193. return page;
  194. }
  195. public void setPage(Page page) {
  196. this.page = page;
  197. }
  198. public float getMaxHeightSize() {
  199. return maxHeightSize;
  200. }
  201. public void setMaxHeightSize(float imageMaxSize) {
  202. this.maxHeightSize = imageMaxSize;
  203. }
  204. public boolean isSuccess() {
  205. return success;
  206. }
  207. public void setSuccess(boolean success) {
  208. this.success = success;
  209. }
  210. public void setBookService(IBookService bookService) {
  211. this.bookService = bookService;
  212. }
  213. public String getSavePath() {
  214. return savePath;
  215. }
  216. public void setSavePath(String savePath) {
  217. this.savePath = savePath;
  218. }
  219. public File getUpload() {
  220. return upload;
  221. }
  222. public void setUpload(File upload) {
  223. this.upload = upload;
  224. }
  225. public String getUploadContentType() {
  226. return uploadContentType;
  227. }
  228. public void setUploadContentType(String uploadContentType) {
  229. this.uploadContentType = uploadContentType;
  230. }
  231. public String getUploadFileName() {
  232. return uploadFileName;
  233. }
  234. public void setUploadFileName(String uploadFileName) {
  235. this.uploadFileName = uploadFileName;
  236. }
  237. public String getAllowedTypes() {
  238. return allowedTypes;
  239. }
  240. public void setAllowedTypes(String allowedTypes) {
  241. this.allowedTypes = allowedTypes;
  242. }
  243. public float getMaxWidthSize() {
  244. return maxWidthSize;
  245. }
  246. public void setMaxWidthSize(float maxWidthSize) {
  247. this.maxWidthSize = maxWidthSize;
  248. }
  249. public String getAddress() {
  250. return address;
  251. }
  252. public void setAddress(String address) {
  253. this.address = address;
  254. }
  255. public String getAuthor() {
  256. return author;
  257. }
  258. public void setAuthor(String author) {
  259. this.author = author;
  260. }
  261. public String getAuthorDesc() {
  262. return authorDesc;
  263. }
  264. public void setAuthorDesc(String authorDesc) {
  265. this.authorDesc = authorDesc;
  266. }
  267. public String getBookName() {
  268. return bookName;
  269. }
  270. public void setBookName(String bookName) {
  271. this.bookName = bookName;
  272. }
  273. public String getBookSize() {
  274. return bookSize;
  275. }
  276. public void setBookSize(String bookSize) {
  277. this.bookSize = bookSize;
  278. }
  279. public Integer getCategoryId() {
  280. return categoryId;
  281. }
  282. public void setCategoryId(Integer categoryId) {
  283. this.categoryId = categoryId;
  284. }
  285. public String getCategoryName() {
  286. return categoryName;
  287. }
  288. public void setCategoryName(String categoryName) {
  289. this.categoryName = categoryName;
  290. }
  291. public String getDescription() {
  292. return description;
  293. }
  294. public void setDescription(String description) {
  295. this.description = description;
  296. }
  297. public String getEditionNo() {
  298. return editionNo;
  299. }
  300. public void setEditionNo(String editionNo) {
  301. this.editionNo = editionNo;
  302. }
  303. public String getEditorRecommend() {
  304. return editorRecommend;
  305. }
  306. public void setEditorRecommend(String editorRecommend) {
  307. this.editorRecommend = editorRecommend;
  308. }
  309. public String getIsbn() {
  310. return isbn;
  311. }
  312. public void setIsbn(String isbn) {
  313. this.isbn = isbn;
  314. }
  315. public String getPack() {
  316. return pack;
  317. }
  318. public void setPack(String pack) {
  319. this.pack = pack;
  320. }
  321. public String getPageCount() {
  322. return pageCount;
  323. }
  324. public void setPageCount(String pageCount) {
  325. this.pageCount = pageCount;
  326. }
  327. public String getPaper() {
  328. return paper;
  329. }
  330. public void setPaper(String paper) {
  331. this.paper = paper;
  332. }
  333. public String getPress() {
  334. return press;
  335. }
  336. public void setPress(String press) {
  337. this.press = press;
  338. }
  339. public String getPrice() {
  340. return price;
  341. }
  342. public void setPrice(String price) {
  343. this.price = price;
  344. }
  345. public Integer getState() {
  346. return state;
  347. }
  348. public void setState(Integer state) {
  349. this.state = state;
  350. }
  351. public String getWordCount() {
  352. return wordCount;
  353. }
  354. public void setWordCount(String wordCount) {
  355. this.wordCount = wordCount;
  356. }
  357. public String getImageUrl() {
  358. return imageUrl;
  359. }
  360. public void setImageUrl(String imageUrl) {
  361. this.imageUrl = imageUrl;
  362. }
  363. }