admin
2021-05-25 99f0b2a145ec1615143a1108db2b581c4723ab93
订单与VIP修改
8个文件已修改
115 ■■■■■ 已修改文件
facade-vip/src/main/java/com/ks/vip/pojo/DO/VipCenterRecord.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-vip/src/main/java/com/ks/vip/service/VipCenterRecordService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-vip/src/main/java/com/ks/vip/mapper/VipCenterRecordMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-vip/src/main/java/com/ks/vip/mapper/VipOrderMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-vip/src/main/java/com/ks/vip/service/remote/VipCenterRecordServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-vip/src/main/resources/mapper/VipCenterRecordMapper.xml 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-vip/src/main/resources/mapper/VipOrderMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-vip/src/main/java/com/ks/vip/pojo/DO/VipCenterRecord.java
@@ -1,5 +1,6 @@
package com.ks.vip.pojo.DO;
import org.springframework.data.annotation.Transient;
import org.yeshi.utils.generater.mybatis.Column;
import org.yeshi.utils.generater.mybatis.Table;
@@ -43,6 +44,11 @@
    @Column(name = "r_update_time")
    private Date updateTime;
    //临时采用
    @Transient
    private VipOrder vipOrder;
    public Long getId() {
        return id;
@@ -131,4 +137,12 @@
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }
    public VipOrder getVipOrder() {
        return vipOrder;
    }
    public void setVipOrder(VipOrder vipOrder) {
        this.vipOrder = vipOrder;
    }
}
facade-vip/src/main/java/com/ks/vip/service/VipCenterRecordService.java
@@ -3,8 +3,14 @@
import com.ks.vip.pojo.DO.VipCenterRecord;
import java.util.List;
public interface VipCenterRecordService {
   public void insertSelective(VipCenterRecord t);
   public List<VipCenterRecord> list(String uid, int page, int pageSize);
   public long count(String uid);
}
service-vip/src/main/java/com/ks/vip/mapper/VipCenterRecordMapper.java
@@ -13,6 +13,9 @@
    public List<VipCenterRecord> list(@Param("query") DaoQuery daoQuery);
    public long count(@Param("query") DaoQuery daoQuery);
    public class DaoQuery extends BaseDaoQuery {
        public String uid;
        public Date date;
service-vip/src/main/java/com/ks/vip/mapper/VipOrderMapper.java
@@ -14,8 +14,12 @@
    long count(@Param("query")VipOrderQuery query);
    List<VipOrder> listByPrimaryKeys(@Param("ids") List<Long> ids);
    /**
     * 根据三方订单号查询
     *
     * @param threeOrderId
     * @return
     */
@@ -23,6 +27,7 @@
    /**
     * 统计根据类型 uid
     *
     * @param uid
     * @param type
     * @return
service-vip/src/main/java/com/ks/vip/service/remote/VipCenterRecordServiceImpl.java
@@ -2,12 +2,18 @@
import com.ks.vip.mapper.VipCenterRecordMapper;
import com.ks.vip.mapper.VipOrderMapper;
import com.ks.vip.pojo.DO.VipCenter;
import com.ks.vip.pojo.DO.VipCenterRecord;
import com.ks.vip.pojo.DO.VipOrder;
import com.ks.vip.service.VipCenterRecordService;
import org.apache.dubbo.config.annotation.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service(version = "1.0")
public class VipCenterRecordServiceImpl implements VipCenterRecordService {
@@ -15,11 +21,48 @@
    @Resource
    private VipCenterRecordMapper vipCenterRecordMapper;
    @Resource
    private VipOrderMapper vipOrderMapper;
    @Override
    public void insertSelective(VipCenterRecord t){
        vipCenterRecordMapper.insertSelective(t);
    }
    @Override
    public List<VipCenterRecord> list(String uid, int page, int pageSize) {
        VipCenterRecordMapper.DaoQuery daoQuery = new VipCenterRecordMapper.DaoQuery();
        daoQuery.uid = uid;
        daoQuery.start = (page - 1) * pageSize;
        daoQuery.count = pageSize;
        List<VipCenterRecord> list = vipCenterRecordMapper.list(daoQuery);
        if (list == null || list.size() == 0)
            return new ArrayList<>();
        List<Long> orderIds = new ArrayList<>();
        for (VipCenterRecord record : list) {
            orderIds.add(record.getOrderId());
        }
        //填充订单详情
        List<VipOrder> orders = vipOrderMapper.listByPrimaryKeys(orderIds);
        Map<Long, VipOrder> orderMap = new HashMap<>();
        for (VipOrder vipOrder : orders) {
            orderMap.put(vipOrder.getId(), vipOrder);
        }
        for (VipCenterRecord record : list) {
            record.setVipOrder(orderMap.get(record.getOrderId()));
        }
        return list;
    }
    @Override
    public long count(String uid) {
        VipCenterRecordMapper.DaoQuery daoQuery = new VipCenterRecordMapper.DaoQuery();
        daoQuery.uid = uid;
        return vipCenterRecordMapper.count(daoQuery);
    }
}
service-vip/src/main/java/com/ks/vip/service/remote/VipCenterServiceImpl.java
@@ -84,6 +84,7 @@
        VipCenter vipCenter = vipCenterMapper.selectForUpdate(uid);
        if (vipCenter == null) {
            vipCenter=new VipCenter();
            Date startTime = new Date();
            Date endTime = new Date(startTime.getTime() + 1000 * 60 * 60L * validHours);
@@ -104,9 +105,11 @@
            long nowTime = java.lang.System.currentTimeMillis();
            if (gradeId.longValue() == oldGradeId.longValue() && vipCenter.getEndTime().getTime() > nowTime) {
                // 上次会员还未已结束
                record.setStartTime(endTime);
                endTime = new Date(vipCenter.getEndTime().getTime() + 1000 * 60 * 60L * validHours);
            } else {
                startTime = new Date();
                record.setStartTime(startTime);
                endTime = new Date(startTime.getTime() + 1000 * 60 * 60L * validHours);
            }
            vipCenter.setStartTime(startTime);
@@ -115,7 +118,6 @@
            vipCenter.setUpdateTime(new Date());
            vipCenterMapper.updateByPrimaryKeySelective(vipCenter);
            record.setStartTime(new Date());
            record.setEndTime(endTime);
        }
@@ -123,6 +125,7 @@
        record.setUid(uid);
        record.setGradeId(gradeId);
        record.setCreateTime(new Date());
        record.setState(1);
        vipCenterRecordService.insertSelective(record);
    }
service-vip/src/main/resources/mapper/VipCenterRecordMapper.xml
@@ -21,10 +21,7 @@
    </select>
    <select id="list" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>from vip_center_record where 1=1
    <sql id="listWhere">
        <if test="query.uid!=null">
            AND r_uid= #{query.uid}
        </if>
@@ -32,6 +29,27 @@
        <if test="query.date!=null">
            AND #{query.date}>=r_start_time AND r_end_time>#{query.date};
        </if>
    </sql>
    <select id="list" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>from vip_center_record where 1=1
        <include refid="listWhere"></include>
        order by r_create_time desc limit #{query.start}, #{query.count}
    </select>
    <select id="count" resultType="java.lang.Long">
        select
        <include refid="Base_Column_List"/>from vip_center_record where 1=1
        <include refid="listWhere"></include>
    </select>
service-vip/src/main/resources/mapper/VipOrderMapper.xml
@@ -114,6 +114,19 @@
        limit #{query.start},#{query.count}
    </select>
    <select id="listByPrimaryKeys" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from vip_order
        where
        <foreach collection="ids" item="item" open="(" separator=" or " close=")" >
            o_id=#{item}
        </foreach>
    </select>
    <select id="count" resultType="java.lang.Long">
        select count(*) from vip_order
        where 1=1