From 40d0d99fb89665e6e7702ea62e45fabe2d01e51a Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 29 五月 2021 14:29:52 +0800 Subject: [PATCH] Merge branch 'master' of ssh://193.112.35.168:29418/tejia --- service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java | 144 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 128 insertions(+), 16 deletions(-) diff --git a/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java b/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java index eadc290..713b42f 100644 --- a/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java +++ b/service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java @@ -1,18 +1,19 @@ package com.ks.vip.service.remote; +import com.ks.vip.exception.VipCenterException; import com.ks.vip.mapper.VipCenterMapper; +import com.ks.vip.mapper.VipCenterRecordMapper; import com.ks.vip.mapper.VipComboMapper; -import com.ks.vip.pojo.DO.VipCenter; -import com.ks.vip.pojo.DO.VipCenterRecord; -import com.ks.vip.pojo.DO.VipCombo; +import com.ks.vip.pojo.DO.*; +import com.ks.vip.pojo.Enums.VIPEnum; import com.ks.vip.query.VipCenterQuery; import com.ks.vip.query.VipComboQuery; -import com.ks.vip.service.VipCenterRecordService; -import com.ks.vip.service.VipCenterService; -import com.ks.vip.service.VipComboService; +import com.ks.vip.service.*; import org.apache.dubbo.config.annotation.Service; +import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.DateUtil; +import org.yeshi.utils.StringUtil; import javax.annotation.Resource; import java.util.Date; @@ -27,15 +28,23 @@ @Resource private VipCenterRecordService vipCenterRecordService; + @Resource + private VipGradeService vipGradeService; + + @Resource + private VipGradePotenceService vipGradePotenceService; + + @Resource + private VipCenterRecordMapper vipCenterRecordMapper; @Override - public void insertSelective(VipCenter t){ + public void insertSelective(VipCenter t) { vipCenterMapper.insertSelective(t); } @Override - public void updateByPrimaryKeySelective(VipCenter t){ + public void updateByPrimaryKeySelective(VipCenter t) { vipCenterMapper.updateByPrimaryKeySelective(t); } @@ -71,18 +80,20 @@ } @Override - public void saveVipCenter(String uid, Long gradeId, Integer validDays, Long orderId) { + @Transactional(rollbackFor = Exception.class) + public void saveVipCenter(String uid, Long gradeId, Integer validHours, Long orderId) { VipCenterRecord record = new VipCenterRecord(); VipCenter vipCenter = vipCenterMapper.selectForUpdate(uid); - if (vipCenter == null) { + if (vipCenter == null) { + vipCenter=new VipCenter(); Date startTime = new Date(); - Date endTime = DateUtil.plusDayDate(validDays, startTime); + Date endTime = new Date(startTime.getTime() + 1000 * 60 * 60L * validHours); vipCenter.setUid(uid); vipCenter.setGradeId(gradeId); vipCenter.setStartTime(startTime); - vipCenter.setEndTime(DateUtil.plusDayDate(validDays, new Date())); + vipCenter.setEndTime(endTime); vipCenter.setCreateTime(new Date()); vipCenterMapper.insertSelective(vipCenter); @@ -96,10 +107,12 @@ long nowTime = java.lang.System.currentTimeMillis(); if (gradeId.longValue() == oldGradeId.longValue() && vipCenter.getEndTime().getTime() > nowTime) { // 涓婃浼氬憳杩樻湭宸茬粨鏉� - endTime = DateUtil.plusDayDate(validDays, vipCenter.getEndTime()); + record.setStartTime(endTime); + endTime = new Date(vipCenter.getEndTime().getTime() + 1000 * 60 * 60L * validHours); } else { startTime = new Date(); - endTime = DateUtil.plusDayDate(validDays, startTime); + record.setStartTime(startTime); + endTime = new Date(startTime.getTime() + 1000 * 60 * 60L * validHours); } vipCenter.setStartTime(startTime); vipCenter.setEndTime(endTime); @@ -107,7 +120,6 @@ vipCenter.setUpdateTime(new Date()); vipCenterMapper.updateByPrimaryKeySelective(vipCenter); - record.setStartTime(new Date()); record.setEndTime(endTime); } @@ -115,6 +127,106 @@ record.setUid(uid); record.setGradeId(gradeId); record.setCreateTime(new Date()); + record.setState(1); vipCenterRecordService.insertSelective(record); } -} + + + @Override + public VipGradePotence getVipPotence(String uid) { + VipGradePotence potence = null; + VipCenter vipCenter = vipCenterMapper.getByUid(uid); + if (vipCenter != null && vipCenter.getGradeId() != null) { + long nowTime = java.lang.System.currentTimeMillis(); + if (vipCenter.getStartTime().getTime() <= nowTime && vipCenter.getEndTime().getTime() >= nowTime) { + potence = vipGradePotenceService.getPotenceByGradeId(vipCenter.getGradeId()); + } + } + if (potence == null) { + potence = vipGradePotenceService.getDefaultGradePotence(); + } + return potence; + } + + + @Override + public VipGrade getVipGrade(String uid) { + VipGrade vipGrade = null; + VipCenter vipCenter = vipCenterMapper.getByUid(uid); + if (vipCenter != null && vipCenter.getGradeId() != null) { + long nowTime = java.lang.System.currentTimeMillis(); + if (vipCenter.getStartTime().getTime() <= nowTime && vipCenter.getEndTime().getTime() >= nowTime) { + vipGrade = vipGradeService.selectByPrimaryKey(vipCenter.getGradeId()); + } + } + if (vipGrade == null) { + vipGradeService.getDefaultGrade(); + } + return vipGrade; + } + + @Override + public VIPEnum getVIPEnumByUid(String uid) { + VipGrade vipGrade = getVipGrade(uid); + if (vipGrade != null) { + return vipGrade.getIdentity(); + } else { + return null; + } + } + + @Override + public VIPEnum getVIPEnumByUid(String uid, Date date) { + VipCenterRecordMapper.DaoQuery daoQuery = new VipCenterRecordMapper.DaoQuery(); + daoQuery.uid = uid; + daoQuery.date = date; + daoQuery.start = 0; + daoQuery.count = 1; + List<VipCenterRecord> list = vipCenterRecordMapper.list(daoQuery); + if (list == null || list.size() == 0) { + return vipGradeService.getDefaultGrade().getIdentity(); + } + return vipGradeService.selectByPrimaryKey(list.get(0).getGradeId()).getIdentity(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveManageWeb(VipCenter t) throws VipCenterException { + if (t== null || StringUtil.isNullOrEmpty(t.getUid())) { + throw new VipCenterException(1, "鐢ㄦ埛ID涓嶅瓨鍦�"); + } + + if (t.getGradeId() == null) { + throw new VipCenterException(1, "璇烽�夋嫨鐢ㄦ埛绛夌骇"); + } + + if (t.getStartTime() == null) { + throw new VipCenterException(1, "璇烽�夋嫨寮�濮嬫椂闂�"); + } + + if (t.getEndTime() == null) { + throw new VipCenterException(1, "璇烽�夋嫨缁撴潫鏃堕棿"); + } + + VipCenter vipCenter = vipCenterMapper.selectForUpdate(t.getUid()); + if (vipCenter == null) { + t.setCreateTime(new Date()); + vipCenterMapper.insertSelective(t); + } else { + t.setUpdateTime(new Date()); + vipCenterMapper.updateByPrimaryKeySelective(t); + } + + // 淇濆瓨璁板綍 + VipCenterRecord record = new VipCenterRecord(); + record.setStartTime(t.getStartTime()); + record.setEndTime(t.getEndTime()); + record.setUid(t.getUid()); + record.setGradeId(t.getGradeId()); + record.setCreateTime(new Date()); + vipCenterRecordService.insertSelective(record); + } + + + +} \ No newline at end of file -- Gitblit v1.8.0