VIP改版
This commit is contained in:
@@ -1,7 +1,27 @@
|
||||
package com.peanut.modules.common.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.peanut.modules.common.entity.BuyOrder;
|
||||
import com.peanut.modules.common.entity.MyUserEntity;
|
||||
import com.peanut.modules.common.entity.UserVip;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public interface UserVipService extends IService<UserVip> {
|
||||
|
||||
boolean noMedicalVip();
|
||||
boolean isMedicalVip();
|
||||
boolean isAcupunctureVip();
|
||||
boolean istumorVip();
|
||||
boolean isSociologyVip();
|
||||
boolean isPsycheVip();
|
||||
|
||||
//是否是这门课的vip
|
||||
UserVip ownCourseCatalogueByVip(int courseId);
|
||||
Set getCourseVipModule(int catalogueId);
|
||||
UserVip ownCourseCatalogueByVip(MyUserEntity u, int catalogueId);
|
||||
void bottomLabel(int labelId, List list);
|
||||
|
||||
void openVipForUser(BuyOrder buyOrder);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.peanut.modules.common.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.peanut.modules.common.entity.VipBuyConfigEntity;
|
||||
|
||||
public interface VipBuyConfigService extends IService<VipBuyConfigEntity> {
|
||||
|
||||
|
||||
}
|
||||
@@ -3,7 +3,6 @@ package com.peanut.modules.common.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.peanut.common.utils.ExpressOrderUtil;
|
||||
@@ -17,7 +16,6 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -49,7 +47,6 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
|
||||
MyUserEntity userEntity = userDao.selectById(prepareOrderDto.getUid());
|
||||
UserBaseVo userBaseVo = new UserBaseVo();
|
||||
userBaseVo.setId(userEntity.getId());
|
||||
userBaseVo.setVip(Integer.valueOf(userEntity.getVip()));
|
||||
userBaseVo.setPeanutCoin(userEntity.getPeanutCoin());
|
||||
userBaseVo.setJf(userEntity.getJf());
|
||||
flag.put("user",userBaseVo);
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.peanut.config.DelayQueueConfig;
|
||||
import com.peanut.modules.common.dao.*;
|
||||
import com.peanut.modules.common.entity.*;
|
||||
import com.peanut.modules.common.service.ClassEntityService;
|
||||
import com.peanut.modules.common.service.UserVipService;
|
||||
import com.peanut.modules.sys.dao.SysUserDao;
|
||||
import com.peanut.modules.sys.entity.SysUserEntity;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -62,6 +63,8 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
private UserCertificateDao userCertificateDao;
|
||||
@Autowired
|
||||
private StringRedisTemplate redisTemplate;
|
||||
@Autowired
|
||||
private UserVipService userVipService;
|
||||
|
||||
@Override
|
||||
public Page getClassModelList(Map<String, Object> params) {
|
||||
@@ -304,12 +307,13 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
if (userList.size() > 0) {
|
||||
for (ClassUser classUser:userList){
|
||||
MyUserEntity user = myUserDao.selectById(classUser.getUserId());
|
||||
if ("0".equals(user.getVip())||"3".equals(user.getVip())){
|
||||
//不是vip查询每门课是否购买
|
||||
boolean flag = false;
|
||||
List<ClassCourse> courses = classCourseDao.selectList(new LambdaQueryWrapper<ClassCourse>()
|
||||
.eq(ClassCourse::getModelId,classEntity.getModelId()));
|
||||
for (ClassCourse classCourse:courses){
|
||||
boolean flag = false;
|
||||
List<ClassCourse> courses = classCourseDao.selectList(new LambdaQueryWrapper<ClassCourse>()
|
||||
.eq(ClassCourse::getModelId,classEntity.getModelId()));
|
||||
for (ClassCourse classCourse:courses){
|
||||
UserVip userVip = userVipService.ownCourseCatalogueByVip(user,classCourse.getCourseId());
|
||||
if (userVip==null){
|
||||
//不是vip查询每门课是否购买
|
||||
List<CourseCatalogueEntity> catalogues = courseCatalogueDao.selectList(new LambdaQueryWrapper<CourseCatalogueEntity>()
|
||||
.eq(CourseCatalogueEntity::getCourseId,classCourse.getCourseId()));
|
||||
for (CourseCatalogueEntity catalog:catalogues){
|
||||
@@ -325,9 +329,9 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
}
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
return R.error(sb.toString());
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
return R.error(sb.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -576,11 +580,12 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("student",user);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if ("1".equals(user.getVip())||"2".equals(user.getVip())){
|
||||
sb.append("会员 ");
|
||||
}else {
|
||||
if (courses.size() > 0){
|
||||
for (CourseEntity course : courses) {
|
||||
if (courses.size() > 0){
|
||||
for (CourseEntity course : courses) {
|
||||
UserVip userVip = userVipService.ownCourseCatalogueByVip(user,course.getId());
|
||||
if (userVip != null) {
|
||||
sb.append("会员 ");
|
||||
}else {
|
||||
List<CourseCatalogueEntity> catalogues = courseCatalogueDao.selectList(new LambdaQueryWrapper<CourseCatalogueEntity>()
|
||||
.eq(CourseCatalogueEntity::getCourseId,course.getId()));
|
||||
for (CourseCatalogueEntity catalog:catalogues){
|
||||
@@ -700,11 +705,12 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
|
||||
ClassEntity classEntity = this.baseMapper.selectById(params.get("classId").toString());
|
||||
MyUserEntity user = ShiroUtils.getUser();
|
||||
String msg = "";
|
||||
if ("0".equals(user.getVip())||"3".equals(user.getVip())){
|
||||
//不是vip查询每门课是否购买
|
||||
List<ClassCourse> courses = classCourseDao.selectList(new LambdaQueryWrapper<ClassCourse>()
|
||||
.eq(ClassCourse::getModelId,classEntity.getModelId()));
|
||||
for (ClassCourse classCourse:courses){
|
||||
List<ClassCourse> courses = classCourseDao.selectList(new LambdaQueryWrapper<ClassCourse>()
|
||||
.eq(ClassCourse::getModelId,classEntity.getModelId()));
|
||||
for (ClassCourse classCourse:courses){
|
||||
UserVip userVip = userVipService.ownCourseCatalogueByVip(classCourse.getCourseId());
|
||||
if (userVip == null) {
|
||||
//不是vip查询每门课是否购买
|
||||
List<CourseCatalogueEntity> catalogues = courseCatalogueDao.selectList(new LambdaQueryWrapper<CourseCatalogueEntity>()
|
||||
.eq(CourseCatalogueEntity::getCourseId,classCourse.getCourseId()));
|
||||
for (CourseCatalogueEntity catalog:catalogues){
|
||||
|
||||
@@ -1,13 +1,307 @@
|
||||
package com.peanut.modules.common.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.peanut.modules.common.dao.UserVipDao;
|
||||
import com.peanut.modules.common.entity.UserVip;
|
||||
import com.peanut.common.utils.ShiroUtils;
|
||||
import com.peanut.modules.common.dao.*;
|
||||
import com.peanut.modules.common.entity.*;
|
||||
import com.peanut.modules.common.service.UserVipService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.time.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Slf4j
|
||||
@Service("commonUserVipService")
|
||||
public class UserVipServiceImpl extends ServiceImpl<UserVipDao, UserVip> implements UserVipService {
|
||||
|
||||
@Autowired
|
||||
private UserVipDao userVipDao;
|
||||
@Autowired
|
||||
private CourseMedicineDao courseMedicineDao;
|
||||
@Autowired
|
||||
private CourseToMedicineDao courseToMedicalDao;
|
||||
@Autowired
|
||||
private CourseToSociologyDao courseToSociologyDao;
|
||||
@Autowired
|
||||
private CourseToPsycheDao courseToPsycheDao;
|
||||
@Autowired
|
||||
private VipBuyConfigDao vipBuyConfigDao;
|
||||
|
||||
@Override
|
||||
public boolean noMedicalVip() {
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId, ShiroUtils.getUId())
|
||||
.eq(UserVip::getState,0)
|
||||
.in(UserVip::getType,4,5,6));
|
||||
if (userVipList.size() > 0) {
|
||||
return false;
|
||||
}else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMedicalVip() {
|
||||
return isVip(4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAcupunctureVip() {
|
||||
return isVip(5);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean istumorVip() {
|
||||
return isVip(6);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSociologyVip() {
|
||||
return isVip(7);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPsycheVip() {
|
||||
return isVip(8);
|
||||
}
|
||||
public boolean isVip(int type) {
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId, ShiroUtils.getUId())
|
||||
.eq(UserVip::getState,0)
|
||||
.eq(UserVip::getType,type));
|
||||
if (userVipList.size() > 0) {
|
||||
return true;
|
||||
}else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public UserVip ownCourseCatalogueByVip(MyUserEntity u,int courseId) {
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId, u==null?ShiroUtils.getUId():u.getId())
|
||||
.eq(UserVip::getState,0));
|
||||
for (UserVip userVip : userVipList) {
|
||||
if (userVip.getType()==4||userVip.getType()==5||userVip.getType()==6) {
|
||||
List<CourseToMedicine> list = courseToMedicalDao.selectList(new LambdaQueryWrapper<CourseToMedicine>()
|
||||
.eq(CourseToMedicine::getCourseId,courseId));
|
||||
for (CourseToMedicine ctm:list) {
|
||||
CourseMedicine cm = topLabel(ctm.getMedicalId());
|
||||
if (cm != null){
|
||||
if ((cm.getId()==1&&userVip.getType()==4)||//中医学
|
||||
(cm.getId()==2&&userVip.getType()==5)||//针灸学
|
||||
(cm.getId()==5&&userVip.getType()==6)){//肿瘤学
|
||||
return userVip;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if (userVip.getType()==7){//国学
|
||||
List<CourseToSociologyEntity> list = courseToSociologyDao.selectList(new LambdaQueryWrapper<CourseToSociologyEntity>()
|
||||
.eq(CourseToSociologyEntity::getCourseId,courseId));
|
||||
if (list.size() > 0) {
|
||||
return userVip;
|
||||
}
|
||||
}else if (userVip.getType()==8){//心理学
|
||||
List<CourseToPsyche> list = courseToPsycheDao.selectList(new LambdaQueryWrapper<CourseToPsyche>()
|
||||
.eq(CourseToPsyche::getCourseId,courseId));
|
||||
if (list.size() > 0) {
|
||||
return userVip;
|
||||
}else {
|
||||
List<CourseToMedicine> l2 = courseToMedicalDao.selectList(new LambdaQueryWrapper<CourseToMedicine>()
|
||||
.eq(CourseToMedicine::getCourseId,courseId));
|
||||
for (CourseToMedicine ctm:l2) {
|
||||
CourseMedicine cm = topLabel(ctm.getMedicalId());
|
||||
if (cm != null){
|
||||
if ((cm.getId()==4&&userVip.getType()==8)){//心理学
|
||||
return userVip;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserVip ownCourseCatalogueByVip(int courseId) {
|
||||
return ownCourseCatalogueByVip(null,courseId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set getCourseVipModule(int courseId) {
|
||||
Set set = new HashSet();
|
||||
List<CourseToMedicine> mlist = courseToMedicalDao.selectList(new LambdaQueryWrapper<CourseToMedicine>()
|
||||
.eq(CourseToMedicine::getCourseId,courseId));
|
||||
for (CourseToMedicine ctm:mlist) {
|
||||
CourseMedicine cm = topLabel(ctm.getMedicalId());
|
||||
if (cm.getId()==1){//中医学
|
||||
set.add(4);
|
||||
}else if (cm.getId() == 2) {//针灸学
|
||||
set.add(5);
|
||||
}else if (cm.getId() == 5) {//肿瘤学
|
||||
set.add(6);
|
||||
}else if (cm.getId() == 4) {//心身医学
|
||||
set.add(8);
|
||||
}
|
||||
}
|
||||
List<CourseToSociologyEntity> slist = courseToSociologyDao.selectList(new LambdaQueryWrapper<CourseToSociologyEntity>()
|
||||
.eq(CourseToSociologyEntity::getCourseId,courseId));
|
||||
if (slist.size()>0){
|
||||
set.add(7);
|
||||
}
|
||||
List<CourseToPsyche> plist = courseToPsycheDao.selectList(new LambdaQueryWrapper<CourseToPsyche>()
|
||||
.eq(CourseToPsyche::getCourseId,courseId));
|
||||
if (plist.size()>0){
|
||||
set.add(8);
|
||||
}
|
||||
return set;
|
||||
}
|
||||
|
||||
public CourseMedicine topLabel(int labelId) {
|
||||
CourseMedicine cm = courseMedicineDao.selectById(labelId);
|
||||
if (cm != null) {
|
||||
CourseMedicine pcm = courseMedicineDao.selectById(cm.getPid());
|
||||
if (pcm != null) {
|
||||
if (pcm.getPid()==0){
|
||||
return pcm;
|
||||
}else {
|
||||
return topLabel(pcm.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bottomLabel(int labelId,List list) {
|
||||
CourseMedicine cm = courseMedicineDao.selectById(labelId);
|
||||
if (cm != null) {
|
||||
if (cm.getIsLast()==1){
|
||||
list.add(cm.getId());
|
||||
}else {
|
||||
List<CourseMedicine> cms = courseMedicineDao.selectList(new LambdaQueryWrapper<CourseMedicine>()
|
||||
.eq(CourseMedicine::getPid,cm.getId()));
|
||||
for (CourseMedicine ccm:cms){
|
||||
bottomLabel(ccm.getId(),list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openVipForUser(BuyOrder buyOrder) {
|
||||
VipBuyConfigEntity vipBuyConfigEntity = vipBuyConfigDao.selectById(buyOrder.getVipBuyConfigId());
|
||||
if(vipBuyConfigEntity.getType()==1){//医学超级
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId,buyOrder.getUserId()).eq(UserVip::getState,0).in(UserVip::getType,4,5,6));
|
||||
for (int i=4;i<=6;i++){
|
||||
UserVip userVip = new UserVip();
|
||||
userVip.setUserId(buyOrder.getUserId());
|
||||
userVip.setType(i);
|
||||
boolean flag = false;
|
||||
for (UserVip uv:userVipList){
|
||||
if (uv.getType()==i){
|
||||
flag = true;
|
||||
userVip = uv;
|
||||
userVip.setEndTime(DateUtils.addYears(uv.getEndTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.updateById(userVip);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!flag) {
|
||||
userVip.setStartTime(new Date());
|
||||
userVip.setEndTime(DateUtils.addYears(userVip.getStartTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.insert(userVip);
|
||||
}
|
||||
}
|
||||
}else if(vipBuyConfigEntity.getType()==11){//延期医学超级
|
||||
for (int i=4;i<7;i++){
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId,buyOrder.getUserId()).eq(UserVip::getType,i).orderByDesc(UserVip::getEndTime));
|
||||
UserVip userVip = userVipList.get(0);
|
||||
if (userVip.getState()==0) {
|
||||
userVip.setEndTime(DateUtils.addYears(userVip.getEndTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.updateById(userVip);
|
||||
}else {
|
||||
UserVip uv = new UserVip();
|
||||
uv.setUserId(buyOrder.getUserId());
|
||||
uv.setType(i);
|
||||
uv.setStartTime(new Date());
|
||||
uv.setEndTime(DateUtils.addYears(uv.getStartTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.insert(uv);
|
||||
}
|
||||
}
|
||||
}else if (vipBuyConfigEntity.getType()==2){//国心超级
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId,buyOrder.getUserId()).eq(UserVip::getState,0).in(UserVip::getType,7,8));
|
||||
for (int i=7;i<=8;i++){
|
||||
UserVip userVip = new UserVip();
|
||||
userVip.setUserId(buyOrder.getUserId());
|
||||
userVip.setType(i);
|
||||
boolean flag = false;
|
||||
for (UserVip uv:userVipList){
|
||||
if (uv.getType()==i){
|
||||
flag = true;
|
||||
userVip = uv;
|
||||
userVip.setEndTime(DateUtils.addYears(uv.getEndTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.updateById(userVip);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!flag) {
|
||||
userVip.setStartTime(new Date());
|
||||
userVip.setEndTime(DateUtils.addYears(userVip.getStartTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.insert(userVip);
|
||||
}
|
||||
}
|
||||
}else if(vipBuyConfigEntity.getType()==21){//延期国心超级
|
||||
for (int i=7;i<9;i++){
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId,buyOrder.getUserId()).eq(UserVip::getType,i).orderByDesc(UserVip::getEndTime));
|
||||
UserVip userVip = userVipList.get(0);
|
||||
if (userVip.getState()==0) {
|
||||
userVip.setEndTime(DateUtils.addYears(userVip.getEndTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.updateById(userVip);
|
||||
}else {
|
||||
UserVip uv = new UserVip();
|
||||
uv.setUserId(buyOrder.getUserId());
|
||||
uv.setType(i);
|
||||
uv.setStartTime(new Date());
|
||||
uv.setEndTime(DateUtils.addYears(uv.getStartTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.insert(uv);
|
||||
}
|
||||
}
|
||||
}else if (vipBuyConfigEntity.getType()==4||vipBuyConfigEntity.getType()==5||vipBuyConfigEntity.getType()==6||
|
||||
vipBuyConfigEntity.getType()==7||vipBuyConfigEntity.getType()==8){
|
||||
UserVip userVip = new UserVip();
|
||||
userVip.setUserId(buyOrder.getUserId());
|
||||
userVip.setType(vipBuyConfigEntity.getType());
|
||||
userVip.setStartTime(new Date());
|
||||
userVip.setEndTime(DateUtils.addYears(userVip.getStartTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.insert(userVip);
|
||||
}else if (vipBuyConfigEntity.getType()==41||vipBuyConfigEntity.getType()==51||vipBuyConfigEntity.getType()==61||
|
||||
vipBuyConfigEntity.getType()==71||vipBuyConfigEntity.getType()==81){
|
||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||
.eq(UserVip::getUserId,buyOrder.getUserId())
|
||||
.eq(UserVip::getType,vipBuyConfigEntity.getType().toString().substring(0,1))
|
||||
.orderByDesc(UserVip::getEndTime));
|
||||
UserVip userVip = userVipList.get(0);
|
||||
if (userVip.getState()==0) {
|
||||
userVip.setEndTime(DateUtils.addYears(userVip.getEndTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.updateById(userVip);
|
||||
}else {
|
||||
UserVip uv = new UserVip();
|
||||
uv.setUserId(buyOrder.getUserId());
|
||||
uv.setType(userVip.getType());
|
||||
uv.setStartTime(new Date());
|
||||
uv.setEndTime(DateUtils.addYears(uv.getStartTime(),vipBuyConfigEntity.getYear()));
|
||||
userVipDao.insert(uv);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.peanut.modules.common.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.peanut.modules.common.dao.VipBuyConfigDao;
|
||||
import com.peanut.modules.common.entity.VipBuyConfigEntity;
|
||||
import com.peanut.modules.common.service.VipBuyConfigService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Slf4j
|
||||
@Service("commonVipBuyConfigService")
|
||||
public class VipBuyConfigServiceImpl extends ServiceImpl<VipBuyConfigDao, VipBuyConfigEntity> implements VipBuyConfigService {
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user