MemberSericeImpl.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. *
  3. */
  4. package com.up.sell.service.impl;
  5. import java.text.ParseException;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Date;
  8. import java.util.List;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Propagation;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import com.up.sell.mapper.MemberMapper;
  16. import com.up.sell.mapper.MemberOrderMapper;
  17. import com.up.sell.service.MemberSerice;
  18. import com.up.sell.service.SchedulerContentService;
  19. import com.up.sell.vo.MemberOrder;
  20. /**
  21. * @author zmg
  22. *
  23. */
  24. @Service
  25. @Transactional(propagation=Propagation.SUPPORTS)
  26. public class MemberSericeImpl implements MemberSerice{
  27. private static final Logger logger = LoggerFactory.getLogger(MemberSericeImpl.class);
  28. @Autowired
  29. private MemberMapper memberMapper;
  30. @Autowired
  31. private MemberOrderMapper memberOrderMapper;
  32. @Autowired
  33. private SchedulerContentService schedulerContentService;
  34. /**
  35. * 恢复每个会员的默认可查看电话次数
  36. */
  37. @Transactional(propagation=Propagation.REQUIRED)
  38. public int updateViewCount(Integer defaultViewCount) {
  39. Integer n = this.memberMapper.updateViewCount(defaultViewCount);
  40. schedulerContentService.insertResultForJob("每天零点重设每个会员剩余查看品牌联系人的次数", n);
  41. return n;
  42. }
  43. @Override
  44. public int memberExpired() {
  45. List<MemberOrder> list = memberOrderMapper.selectAll();
  46. logger.info("会员总数:" + list.size());
  47. int count = 0;
  48. for (MemberOrder mo : list) {
  49. Date endTime = mo.getEndTime();
  50. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  51. logger.info("会员到期时间:" + sdf.format(endTime));
  52. int datePoor = getDatePoor(endTime, new Date());
  53. if (datePoor == 0) {
  54. mo.setServiceFlag(0);
  55. memberOrderMapper.updateByPrimaryKey(mo);
  56. count++;
  57. }
  58. }
  59. logger.info("会员过期总数:" + count);
  60. schedulerContentService.insertResultForJob("每天零点查询会员是否过期", count);
  61. return 0;
  62. }
  63. public static int getDatePoor(Date endDate, Date nowDate) {
  64. try {
  65. long dt1 = endDate.getTime();
  66. long dt2 = nowDate.getTime();
  67. if (dt1 > dt2) {
  68. System.out.println("未到期");
  69. return 1;
  70. } else if (dt1 < dt2) {
  71. System.out.println("已到期");
  72. } else {
  73. System.out.println("相等");
  74. }
  75. } catch (Exception exception) {
  76. exception.printStackTrace();
  77. }
  78. return 0;
  79. }
  80. }