albertshaw 8 years ago
parent
commit
0e36a5da28

+ 15 - 2
src/main/java/com/goafanti/banners/controller/BannersApiController.java

@@ -38,8 +38,7 @@ public class BannersApiController extends BaseApiController {
 		Result res = res();
 		Calendar c = Calendar.getInstance();
 		res.data(handleFile(res, false, req, AttachmentType.BANNERS_PIC.getCode(), String.valueOf(c.get(Calendar.YEAR)),
-				String.valueOf(c.get(Calendar.MONTH)), String.valueOf(c.get(Calendar.DATE)),
-				idGenerator.generateId().toString()));
+				String.valueOf(c.get(Calendar.MONTH) + 1), idGenerator.generateId().toString()));
 		return res;
 	}
 
@@ -48,6 +47,7 @@ public class BannersApiController extends BaseApiController {
 		Assert.notNull(banners, "广告图参数不正确");
 		Assert.isTrue(StringUtils.isNotBlank(banners.getSign()) && BannersType.containsType(banners.getSign()),
 				"广告图位置标示不正确。");
+		Assert.hasText(banners.getImgurl(), "广告图url参数不正确");
 		Assert.isTrue(!bindingResult.hasFieldErrors(),
 				bindingResult.hasFieldErrors() ? bindingResult.getFieldError().getDefaultMessage() : "");
 		Result res = res();
@@ -66,6 +66,19 @@ public class BannersApiController extends BaseApiController {
 		return res().data(bannersService.findBannersList(key, getPageNo(pageNo), getPageSize(pageSize)));
 	}
 
+	@RequestMapping(value = "/delete", method = RequestMethod.POST)
+	public Result delete(String id) {
+		Assert.isTrue(StringUtils.isNumeric(id), "广告图id不正确。");
+		return res().data(bannersService.deleteBanner(Long.valueOf(id)));
+	}
+
+	@RequestMapping(value = "/clearCache", method = RequestMethod.GET)
+	public Result clearCache(String key) {
+		Assert.isTrue(StringUtils.isNotBlank(key) && BannersType.containsType(key), "广告图位置标示不正确。");
+		bannersService.cleanList(key);
+		return res().data(bannersService.findPortalBanners(key));
+	}
+
 	@RequestMapping(value = "/keys", method = RequestMethod.GET)
 	public Result portalBannersKeys() {
 		Map<String, String> types = new HashMap<>();

+ 13 - 11
src/main/java/com/goafanti/banners/service/BannersService.java

@@ -10,7 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import com.goafanti.common.dao.BannersMapper;
 import com.goafanti.common.model.Banners;
@@ -18,7 +17,6 @@ import com.goafanti.common.utils.LoggerUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 
 @Service
-@Transactional
 public class BannersService extends BaseMybatisDao<BannersMapper> {
 	@Autowired
 	BannersMapper				bannersMapper;
@@ -32,25 +30,29 @@ public class BannersService extends BaseMybatisDao<BannersMapper> {
 	public int updateBanner(Banners banners) {
 		return bannersMapper.updateByPrimaryKeySelective(banners);
 	}
+	
+	public int deleteBanner(Long id) {
+		return bannersMapper.deleteByPrimaryKey(id);
+	}
 
 	public List<Banners> findBannersList(String sign, Integer pageNo, Integer pageSize) {
-		Map<String, Object> params = new HashMap<String, Object>();
-		params.put("sign", sign);
-		params.put("pageSize", pageSize);
-		params.put("pageNo", pageNo);
-		return bannersMapper.findList(params);
+		return portalBanners(sign, pageNo, pageSize);
 	}
 
 	public List<Banners> previewPortalBanners(String key) {
-		Map<String, Object> params = new HashMap<String, Object>();
-		params.put("key", key);
-		return bannersMapper.findList(params);
+		return portalBanners(key, 0, 6);
 	}
 
 	@Cacheable(value = "BannersListCache", key = "'BannersList:Key:'+#key")
 	public List<Banners> findPortalBanners(String key) {
+		return portalBanners(key, 0, 6);
+	}
+
+	private List<Banners> portalBanners(String sign, Integer pageNo, Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
-		params.put("key", key);
+		params.put("sign", sign);
+		params.put("pageSize", pageSize);
+		params.put("pageNo", pageNo);
 		return bannersMapper.findList(params);
 	}
 

+ 4 - 0
src/main/java/com/goafanti/common/model/Banners.java

@@ -5,6 +5,8 @@ import java.util.Date;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Size;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+
 public class Banners {
 	/**
 	 * 主键
@@ -112,6 +114,7 @@ public class Banners {
 		this.height = height;
 	}
 
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
 	public Date getStartDate() {
 		return startDate;
 	}
@@ -120,6 +123,7 @@ public class Banners {
 		this.startDate = startDate;
 	}
 
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
 	public Date getEndDate() {
 		return endDate;
 	}

+ 4 - 0
src/main/java/com/goafanti/common/utils/FileUtils.java

@@ -225,6 +225,10 @@ public class FileUtils {
 		return "企业" + s.substring(s.lastIndexOf(UNDERLINE) + 1, s.lastIndexOf("."));
 	}
 
+	public static boolean deleteFile(String realFilePath) {
+		return new File(realFilePath).delete();
+	}
+
 	/**
 	 * 
 	 * @param response