package com.goafanti.cognizance.service.impl; import java.text.ParseException; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.goafanti.cognizance.bo.ActivityNumberBo; import com.goafanti.cognizance.service.OrgActivityService; import com.goafanti.common.dao.OrgActivityCostMapper; import com.goafanti.common.dao.OrgActivityMapper; import com.goafanti.common.model.OrgActivity; import com.goafanti.common.model.OrgActivityCost; import com.goafanti.common.utils.DateUtils; import com.goafanti.core.mybatis.BaseMybatisDao; import com.goafanti.core.mybatis.page.Pagination; @Service public class OrgActivityServiceImpl extends BaseMybatisDao implements OrgActivityService { @Autowired private OrgActivityMapper orgActivityMapper; @Autowired private OrgActivityCostMapper orgActivityCostMapper; @SuppressWarnings("unchecked") @Override public Pagination listOrgActivity(String activityNumber, String activityName, String sDate, String eDate, Integer pageNo, Integer pageSize, String uid) throws ParseException { Map params = new HashMap<>(); Date startDate = null; Date endDate = null; if (!StringUtils.isBlank(activityNumber)){ params.put("activityNumber", activityNumber); } if (!StringUtils.isBlank(activityName)){ params.put("activityName", activityName); } if (!StringUtils.isBlank(sDate)){ startDate = DateUtils.parseDate(sDate, "yyyy-MM-dd"); params.put("startDate", startDate); } if (!StringUtils.isBlank(eDate)){ endDate = DateUtils.addDays(DateUtils.parseDate(eDate, "yyyy-MM-dd"), 1); params.put("endDate", endDate); } if(!StringUtils.isBlank(uid)){ params.put("uid", uid); } if (pageNo == null || pageNo < 0) { pageNo = 1; } if (pageSize == null || pageSize < 0) { pageSize = 10; } return (Pagination) findPage("findOrgActivityListByPage", "findOrgActivityCount", params, pageNo, pageSize); } @Override public OrgActivity insert(OrgActivity orgActivity) { orgActivityMapper.insert(orgActivity); return orgActivity; } @Override public int updateByPrimaryKeySelective(OrgActivity orgActivity) { return orgActivityMapper.updateByPrimaryKeySelective(orgActivity); } @Override public int deleteByPrimaryKey(List id) { return orgActivityMapper.batchDeleteByPrimaryKey(id); } @Override public OrgActivity selectOrgActivityByPrimaryKey(String id) { return orgActivityMapper.selectByPrimaryKey(id); } @Override public List selectOrgActivityNumberBoByUid(String uid) { return orgActivityMapper.selectOrgActivityNumberBoByUid(uid); } @Override public void updateOrgActivity(OrgActivity orgActivity) { orgActivityMapper.updateByPrimaryKeySelective(orgActivity); Boolean flag = false; OrgActivityCost cost = orgActivityCostMapper.selectOrgActivityCostByAid(orgActivity.getId()); if (null != cost) { if (!StringUtils.isBlank(orgActivity.getActivityNumber())) { cost.setActivityNumber(orgActivity.getActivityNumber()); flag = true; } if (null == orgActivity.getStartDate()) { cost.setStartDate(orgActivity.getStartDate()); flag = true; } if (null == orgActivity.getEndDate()) { cost.setEndDate(orgActivity.getEndDate()); flag = true; } } if (flag) { orgActivityCostMapper.updateByPrimaryKeySelective(cost); } } }