CmPageCentreService.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.caimei.modules.cmpage.service;
  2. import com.alibaba.fastjson.JSON;
  3. import com.caimei.modules.cmpage.dao.CmPageCentreDao;
  4. import com.caimei.modules.cmpage.entity.CmImage;
  5. import com.caimei.modules.cmpage.entity.CmPageCentre;
  6. import com.caimei.modules.miniprogram.utils.UploadPicUtils;
  7. import com.caimei.modules.newhome.entity.NewPageFloorContent;
  8. import com.caimei.modules.newhome.entity.NewPageFloorImage;
  9. import com.caimei.modules.product.dao.ProductDao;
  10. import com.caimei.modules.product.entity.Product;
  11. import com.caimei.utils.AppUtils;
  12. import com.thinkgem.jeesite.common.config.Global;
  13. import com.thinkgem.jeesite.common.persistence.Page;
  14. import com.thinkgem.jeesite.common.service.CrudService;
  15. import com.thinkgem.jeesite.common.utils.StringUtils;
  16. import org.springframework.beans.BeanUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  21. import java.text.SimpleDateFormat;
  22. import java.util.ArrayList;
  23. import java.util.Date;
  24. import java.util.List;
  25. /**
  26. * 相关商品管理Service
  27. *
  28. * @author Lijun
  29. * @version 2017-05-04
  30. */
  31. @Service
  32. @Transactional(readOnly = true)
  33. public class CmPageCentreService extends CrudService<CmPageCentreDao, CmPageCentre> {
  34. @Autowired
  35. private CmPageCentreDao cmPageCentreDao;
  36. @Autowired
  37. private CmImageService cmImageService;
  38. @Autowired
  39. private ProductDao productDao;
  40. public CmPageCentre get(String id) {
  41. CmPageCentre cmPageCentre = super.get(id);
  42. if (null != cmPageCentre) {
  43. List<CmImage> centreImages = cmImageService.findCentreImageByCentreId(id);
  44. if (centreImages != null && centreImages.size() > 0) {
  45. centreImages.forEach(image -> {
  46. image.setCreateDateStc(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(image.getCreateDate()));
  47. });
  48. cmPageCentre.setCmImages(centreImages);
  49. }
  50. }
  51. return cmPageCentre;
  52. }
  53. public List<CmPageCentre> findList(CmPageCentre cmPageCentre) {
  54. return super.findList(cmPageCentre);
  55. }
  56. public Page<CmPageCentre> findPage(Page<CmPageCentre> page, CmPageCentre cmPageCentre) {
  57. return super.findPage(page, cmPageCentre);
  58. }
  59. @Transactional(readOnly = false)
  60. public void save(CmPageCentre cmPageCentre) {
  61. super.save(cmPageCentre);
  62. cmPageCentreDao.deletePageImage(cmPageCentre.getId());
  63. if (StringUtils.isNotBlank(cmPageCentre.getImages())) {
  64. try {
  65. List<NewPageFloorImage> floorImages = JSON.parseArray(cmPageCentre.getImages(), NewPageFloorImage.class);
  66. List<String> imageIds = new ArrayList<>();
  67. for (NewPageFloorImage floorImage : floorImages) {
  68. if (!floorImage.getImage().contains("http")) {
  69. floorImage.setImage(UploadPicUtils.saveImageToServer(floorImage.getImage(), null));
  70. }
  71. CmImage image = new CmImage();
  72. BeanUtils.copyProperties(floorImage, image);
  73. image.setSort(Integer.valueOf(floorImage.getSort()));
  74. image.setTitle(floorImage.getName());
  75. image.setEnabledStatus(floorImage.getPcStatus());
  76. image.setCrmEnabledStatus(floorImage.getAppletsStatus());
  77. Date createDate = new Date();
  78. if (StringUtils.isNotBlank(floorImage.getCreateDate())) {
  79. createDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(floorImage.getCreateDate());
  80. }
  81. image.setCreateDate(createDate);
  82. cmImageService.save(image);
  83. imageIds.add(image.getId());
  84. }
  85. cmPageCentreDao.insertPageCentreImage(cmPageCentre.getId(), imageIds);
  86. } catch (Exception e) {
  87. e.printStackTrace();
  88. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  89. }
  90. }
  91. }
  92. @Transactional(readOnly = false)
  93. public void delete(CmPageCentre cmPageCentre) {
  94. super.delete(cmPageCentre);
  95. }
  96. @Transactional(readOnly = false)
  97. public void saveSort(String sort, String id) {
  98. cmPageCentreDao.saveSort(sort, id);
  99. }
  100. public NewPageFloorContent findFloorContent(Integer centreId) {
  101. NewPageFloorContent floorContent = cmPageCentreDao.findFloorContentByCentreId(centreId);
  102. List<NewPageFloorImage> floorImageList = cmPageCentreDao.findFloorImage(centreId);
  103. floorImageList.forEach(image -> {
  104. image.setImage(AppUtils.getProductImageURL(image.getImage(), 0, Global.getConfig("wwwServer")));
  105. if (image.getProductId() != null) {
  106. Product product = productDao.get(image.getProductId().toString());
  107. if (product != null) {
  108. image.setImage(AppUtils.getProductImageURL(product.getMainImage(), 0, Global.getConfig("wwwServer")));
  109. image.setName(product.getName());
  110. }
  111. }
  112. });
  113. floorContent.setCentreId(centreId);
  114. floorContent.setFloorImageList(floorImageList);
  115. return floorContent;
  116. }
  117. public String findPageTitle(String pageId) {
  118. return cmPageCentreDao.findPageTitle(pageId);
  119. }
  120. }