admin
2020-03-13 cac929ffc19f63d548494745919996b78b2a7be8
分阶段用户VIP添加
4个文件已添加
189 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/vip/UserVIPPreInfoMapper.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/vip/UserVIPPreInfo.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPPreInfoService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/vip/UserVIPPreInfoMapper.java
New file
@@ -0,0 +1,28 @@
package com.yeshi.fanli.dao.mybatis.user.vip;
import java.util.List;
import com.yeshi.fanli.dao.BaseMapper;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
public interface UserVIPPreInfoMapper extends BaseMapper<UserVIPPreInfo> {
    /**
     * 根据用户ID与进度检索
     *
     * @param uid
     * @param procress
     * @return
     */
    UserVIPPreInfo selectByUidAndProcess(Long uid, int procress);
    /**
     * 根据用户ID检索
     *
     * @param uid
     * @return
     */
    List<UserVIPPreInfo> listByUid(Long uid);
}
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/vip/UserVIPPreInfo.java
New file
@@ -0,0 +1,80 @@
package com.yeshi.fanli.entity.bus.user.vip;
import java.util.Date;
import org.yeshi.utils.mybatis.Column;
import org.yeshi.utils.mybatis.Table;
/**
 * 分阶段超级会员
 *
 * @author Administrator
 *
 */
@Table("yeshi_ec_user_vip_pre_info")
public class UserVIPPreInfo {
    public static int PROCESS_1 = 3;// 超级会员第一阶段
    public static int PROCESS_2 = 7;// 超级会员第二阶段
    @Column(name = "vpi_id")
    private Long id;
    @Column(name = "vpi_uid")
    private Long uid;
    @Column(name = "vpi_process")
    private Integer process;
    @Column(name = "vpi_beizhu")
    private String beizhu;
    @Column(name = "vpi_create_time")
    private Date createTime;
    @Column(name = "vpi_update_time")
    private Date updateTime;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Long getUid() {
        return uid;
    }
    public void setUid(Long uid) {
        this.uid = uid;
    }
    public Integer getProcess() {
        return process;
    }
    public void setProcess(Integer process) {
        this.process = process;
    }
    public String getBeizhu() {
        return beizhu;
    }
    public void setBeizhu(String beizhu) {
        this.beizhu = beizhu;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java
New file
@@ -0,0 +1,51 @@
package com.yeshi.fanli.service.impl.user.vip;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPPreInfoMapper;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
public class UserVIPPreInfoServiceImpl implements UserVIPPreInfoService {
    @Resource
    private UserVIPPreInfoMapper userVIPPreInfoMapper;
    @Override
    public void addUserVIPPreInfo(UserVIPPreInfo info) throws UserVIPInfoException {
        if (info == null || info.getUid() == null || info.getProcess() == null)
            throw new UserVIPInfoException(1, "信息不完整");
        UserVIPPreInfo oldInfo = userVIPPreInfoMapper.selectByUidAndProcess(info.getUid(), info.getProcess());
        if (oldInfo != null)
            throw new UserVIPInfoException(2, "进度已存在");
        if (info.getCreateTime() == null)
            info.setCreateTime(new Date());
        userVIPPreInfoMapper.insertSelective(info);
    }
    @Override
    public UserVIPPreInfo getLatestProcessInfo(Long uid) {
        List<UserVIPPreInfo> infoList = userVIPPreInfoMapper.listByUid(uid);
        if (infoList == null || infoList.size() == 0)
            return null;
        Comparator<UserVIPPreInfo> cm = new Comparator<UserVIPPreInfo>() {
            @Override
            public int compare(UserVIPPreInfo o1, UserVIPPreInfo o2) {
                return o2.getProcess() - o1.getProcess();
            }
        };
        Collections.sort(infoList, cm);
        return infoList.get(0);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/user/vip/UserVIPPreInfoService.java
New file
@@ -0,0 +1,30 @@
package com.yeshi.fanli.service.inter.user.vip;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
/**
 * 阶段VIP用户服务
 *
 * @author Administrator
 *
 */
public interface UserVIPPreInfoService {
    /**
     * 添加用户VIP阶段信息
     *
     * @param info
     * @throws UserVIPInfoException
     */
    public void addUserVIPPreInfo(UserVIPPreInfo info) throws UserVIPInfoException;
    /**
     * 获取最近的进度
     *
     * @param uid
     * @return
     */
    public UserVIPPreInfo getLatestProcessInfo(Long uid);
}