AdServiceImpl.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.kmall.admin.service.impl;
  2. import com.google.common.collect.ImmutableBiMap;
  3. import com.kmall.admin.dao.AdDao;
  4. import com.kmall.admin.dao.StoreDao;
  5. import com.kmall.admin.dto.CopyAdDto;
  6. import com.kmall.admin.entity.AdEntity;
  7. import com.kmall.admin.entity.StoreEntity;
  8. import com.kmall.admin.service.AdService;
  9. import com.kmall.common.utils.MapBeanUtil;
  10. import com.kmall.common.utils.R;
  11. import com.kmall.common.utils.RRException;
  12. import com.kmall.common.utils.ValidatorUtil;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.util.ArrayList;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * Service实现类
  21. *
  22. * @author Scott
  23. * @email
  24. * @date 2017-08-19 09:37:35
  25. */
  26. @Service("adService")
  27. public class AdServiceImpl implements AdService {
  28. @Autowired
  29. private AdDao adDao;
  30. @Autowired
  31. private StoreDao storeDao;
  32. @Override
  33. public AdEntity queryObject(Integer id) {
  34. return adDao.queryObject(id);
  35. }
  36. @Override
  37. public List<AdEntity> queryList(Map<String, Object> map) {
  38. return adDao.queryList(map);
  39. }
  40. @Override
  41. public int queryTotal(Map<String, Object> map) {
  42. return adDao.queryTotal(map);
  43. }
  44. @Override
  45. public int save(AdEntity ad) {
  46. Map<String, Object> valideDate = MapBeanUtil.fromObject(ad);
  47. ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
  48. builder.put("merchSn", "商户");
  49. builder.put("storeId", "门店");
  50. builder.put("adPositionId", "广告位置");
  51. R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
  52. if (Integer.valueOf(r.get("code").toString()) != 0) {
  53. throw new RRException(r.get("msg").toString());
  54. }
  55. return adDao.save(ad);
  56. }
  57. @Override
  58. public int update(AdEntity ad) {
  59. Map<String, Object> valideDate = MapBeanUtil.fromObject(ad);
  60. ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
  61. builder.put("merchSn", "商户");
  62. builder.put("storeId", "门店");
  63. builder.put("adPositionId", "广告位置");
  64. R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
  65. if (Integer.valueOf(r.get("code").toString()) != 0) {
  66. throw new RRException(r.get("msg").toString());
  67. }
  68. return adDao.update(ad);
  69. }
  70. @Override
  71. public int delete(Integer id) {
  72. return adDao.delete(id);
  73. }
  74. @Override
  75. public int deleteBatch(Integer[]ids) {
  76. return adDao.deleteBatch(ids);
  77. }
  78. @Override
  79. public int saveCopyAd(CopyAdDto copyAdDto){
  80. AdEntity adEntity = adDao.queryObject(copyAdDto.getAdId());
  81. if(adEntity != null){
  82. List<Integer> storeIdList = new ArrayList<>();
  83. String[] storeIds = copyAdDto.getStoreList().split(";");
  84. for(int i = 0; i < storeIds.length; i++){
  85. storeIdList.add(Integer.valueOf(storeIds[i]));
  86. }
  87. for(int i = 0; i < storeIdList.size(); i++){
  88. AdEntity ad = new AdEntity();
  89. StoreEntity storeEntity = storeDao.queryObject(storeIdList.get(i));
  90. if(storeEntity == null){
  91. throw new RRException("门店不存在");
  92. }
  93. ad.setName(adEntity.getName());
  94. ad.setAdPositionId(adEntity.getAdPositionId());
  95. ad.setMediaType(adEntity.getMediaType());
  96. ad.setSortOrder(adEntity.getSortOrder());
  97. ad.setLink(adEntity.getLink());
  98. ad.setImageUrl(adEntity.getImageUrl());
  99. ad.setContent(adEntity.getContent());
  100. ad.setEndTime(adEntity.getEndTime());
  101. ad.setEnabled(adEntity.getEnabled());
  102. ad.setMerchSn(storeEntity.getMerchSn());
  103. ad.setStoreId(storeIdList.get(i));
  104. //复制广告信息不保存其他门店的优惠券、活动
  105. adDao.save(ad);
  106. }
  107. }
  108. return 1;
  109. }
  110. }