| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- package com.goafanti.achievement.service.impl;
- import java.text.ParseException;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.UUID;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.goafanti.achievement.bo.AchievementListBo;
- import com.goafanti.achievement.service.AchievementService;
- import com.goafanti.common.constant.AFTConstants;
- import com.goafanti.common.dao.AchievementMapper;
- import com.goafanti.common.enums.AchievementReleaseStatus;
- import com.goafanti.common.enums.AchievementStatus;
- import com.goafanti.common.enums.DeleteStatus;
- import com.goafanti.common.enums.DemandReleaseStatus;
- import com.goafanti.common.enums.DemandStatus;
- import com.goafanti.common.model.Achievement;
- import com.goafanti.common.utils.DateUtils;
- import com.goafanti.core.mybatis.BaseMybatisDao;
- import com.goafanti.core.mybatis.page.Pagination;
- import com.goafanti.core.shiro.token.TokenManager;
- @Service
- public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> implements AchievementService {
- @Autowired
- private AchievementMapper achievementMapper;
- @SuppressWarnings("unchecked")
- @Override
- public Pagination<AchievementListBo> listAchievement(Integer serialNumber, String name, String keyword,
- Integer category, Integer ownerType, Integer status, String releaseDateStartDate, String releaseDateEndDate,
- Integer releaseStatus, Integer pNo, Integer pSize) {
- if (pNo == null || pNo < 0) {
- pNo = 1;
- }
- if (pSize == null || pSize < 0) {
- pSize = 10;
- }
- return (Pagination<AchievementListBo>) findPage(
- "findManageAchievementListByPage", "findManageAchievementCount", disposeParams(serialNumber, name,
- keyword, category, ownerType, status, releaseDateStartDate, releaseDateEndDate, releaseStatus),
- pNo, pSize);
- }
- @Override
- public void saveAchievement(Achievement a) {
- a.setId(UUID.randomUUID().toString());
- a.setDeletedSign(DeleteStatus.UNDELETE.getCode());
- Calendar now = Calendar.getInstance();
- now.set(Calendar.MILLISECOND, 0);
- a.setStatus(AchievementStatus.CREATE.getCode());
- if (AchievementReleaseStatus.RELEASED.getCode().equals(a.getReleaseStatus())) {
- a.setReleaseDate(now.getTime());
- a.setStatus(AchievementStatus.ONGOING.getCode());
- }
- a.setCreateTime(now.getTime());
- achievementMapper.insert(a);
- }
- @Override
- public int updateAchievement(Achievement a) {
- Achievement aa = achievementMapper.selectByPrimaryKey(a.getId());
- if (AchievementReleaseStatus.RELEASED.getCode().equals(a.getReleaseStatus())
- && DemandReleaseStatus.UNRELEASE.getCode().equals(aa.getReleaseStatus())) {
- Calendar now = Calendar.getInstance();
- now.set(Calendar.MILLISECOND, 0);
- a.setReleaseDate(now.getTime());
- a.setStatus(AchievementStatus.ONGOING.getCode());
- }
- if (DemandReleaseStatus.UNRELEASE.getCode().equals(a.getReleaseStatus())
- && DemandReleaseStatus.RELEASED.getCode().equals(aa.getReleaseStatus())) {
- a.setStatus(DemandStatus.CREATE.getCode());
- achievementMapper.updateReleaseDate(aa.getId());
- }
- return achievementMapper.updateByPrimaryKeySelective(a);
- }
- @Override
- public Achievement selectByPrimaryKey(String id) {
- return achievementMapper.selectByPrimaryKey(id);
- }
- @Override
- public int deleteByPrimaryKey(List<String> id) {
- return achievementMapper.batchDeleteByPrimaryKey(id);
- }
- @SuppressWarnings("unchecked")
- @Override
- public Pagination<AchievementListBo> listUserAchievement(Integer serialNumber, String name, String keyword,
- Integer category, Integer ownerType, Integer status, String releaseDateStartDate, String releaseDateEndDate,
- Integer releaseStatus, Integer pNo, Integer pSize) {
- Map<String, Object> params = disposeParams(serialNumber, name, keyword, category, ownerType, status,
- releaseDateStartDate, releaseDateEndDate, releaseStatus);
- params.put("ownerId", TokenManager.getUserId());
- if (pNo == null || pNo < 0) {
- pNo = 1;
- }
- if (pSize == null || pSize < 0) {
- pSize = 10;
- }
- return (Pagination<AchievementListBo>) findPage(
- "findAchievementListByPage", "findAchievementCount", disposeParams(serialNumber, name, keyword,
- category, ownerType, status, releaseDateStartDate, releaseDateEndDate, releaseStatus),
- pNo, pSize);
- }
- private Map<String, Object> disposeParams(Integer serialNumber, String name, String keyword, Integer category,
- Integer ownerType, Integer status, String releaseDateStartDate, String releaseDateEndDate,
- Integer releaseStatus) {
- Map<String, Object> params = new HashMap<>();
- Date rStart = null;
- Date rEnd = null;
- if (!StringUtils.isBlank(releaseDateStartDate)) {
- try {
- rStart = DateUtils.parseDate(releaseDateStartDate, AFTConstants.YYYYMMDD);
- } catch (ParseException e) {
- }
- }
- if (!StringUtils.isBlank(releaseDateEndDate)) {
- try {
- rEnd = DateUtils.parseDate(releaseDateEndDate, AFTConstants.YYYYMMDD);
- } catch (ParseException e) {
- }
- }
- if (null != rStart) {
- params.put("rStart", rStart);
- }
- if (null != rEnd) {
- params.put("rEnd", rEnd);
- }
- if (null != serialNumber) {
- params.put("serialNumber", serialNumber);
- }
- if (!StringUtils.isBlank(name)) {
- params.put("name", name);
- }
- if (!StringUtils.isBlank(keyword)) {
- params.put("keyword", keyword);
- }
- if (null != category) {
- params.put("category", category);
- }
- if (null != ownerType) {
- params.put("ownerType", ownerType);
- }
- if (null != status) {
- params.put("status", status);
- }
- if (null != releaseStatus) {
- params.put("releaseStatus", releaseStatus);
- }
- return params;
- }
- }
|