admin
2020-05-12 522315ae42936583042fc08aabda7e3c9e7a7b5d
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java
New file
@@ -0,0 +1,76 @@
package com.yeshi.fanli.service.impl.order;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.order.OrderMoneyDailyCountDao;
import com.yeshi.fanli.entity.order.OrderMoneyDailyCount;
import com.yeshi.fanli.service.inter.order.OrderMoneyDailyCountService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService;
@Service
public class OrderMoneyDailyCountServiceImpl implements OrderMoneyDailyCountService {
   @Resource
   private OrderMoneyDailyCountDao orderMoneyDailyCountDao;
   @Override
   @RequestSerializableByKeyService(key = "#record.uid")
   public void saveDailyCount(OrderMoneyDailyCount record) {
      if (record.getUid() == null || record.getCountDay() == null || record.getSourceType() == null) {
         return; // 参数不全
      }
      String gernalTime = TimeUtil.getGernalTime(record.getCountDay().getTime());
      String id = StringUtil.Md5(record.getUid() + record.getSourceType().name() + gernalTime);
      // id
      record.setId(id);
      // 统计日期-年月日
      record.setCountDay(new Date(TimeUtil.convertDateToTemp(gernalTime)));
      SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy-MM");
      record.setYearMonth(formatMonth.format(record.getCountDay()) );
       OrderMoneyDailyCount dailyCount = orderMoneyDailyCountDao.getById(id);
      if (dailyCount == null) {
         // 选择性更新
         orderMoneyDailyCountDao.save(record);
      } else {
         // 选择性插入
         orderMoneyDailyCountDao.updateSelective(record);
      }
   }
   @Override
   public List<OrderMoneyDailyCount> query(Long uid, Date minDay, Date maxDay) {
      return orderMoneyDailyCountDao.query(uid, minDay, maxDay);
   }
   @Override
   public List<OrderMoneyDailyCount>  sumGroupBySourceType(Long uid, Date minDay, Date maxDay) {
      return orderMoneyDailyCountDao.sumGroupBySourceType(uid, minDay, maxDay);
   }
   @Override
   public List<OrderMoneyDailyCount>  sumTeamGroupBySourceType(Long uid, Date minDay, Date maxDay) {
      return orderMoneyDailyCountDao.sumTeamGroupBySourceType(uid, minDay, maxDay);
   }
   @Override
   public List<OrderMoneyDailyCount>  sumGroupByCountDay(Long uid, Date minDay, Date maxDay) {
      return orderMoneyDailyCountDao.sumGroupByCountDay(uid, minDay, maxDay);
   }
   @Override
   public List<OrderMoneyDailyCount>  sumGroupByYearMonth(Long uid, Date minDay, Date maxDay) {
      return orderMoneyDailyCountDao.sumGroupByYearMonth(uid, minDay, maxDay);
   }
}