admin
2019-12-14 e4c86567f24fcc791888321f9d2a0ef6faf5718e
横幅与banner的版本控制初步集成
4个文件已修改
6个文件已添加
433 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/AdActivityVersionControlMapper.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/AppVersionInfo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/AdActivityVersionControl.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/order/UserOrderWeiQuanRecord.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/AdActivityVersionControlMapper.xml 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/AdActivityVersionControlServiceImpl.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/shop/BanLiShopOrderPayServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/AdActivityVersionControlService.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/VersionUtil.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/AdActivityVersionControlMapper.java
New file
@@ -0,0 +1,40 @@
package com.yeshi.fanli.dao.mybatis.homemodule;
import java.util.List;
import com.yeshi.fanli.dao.BaseMapper;
import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl;
import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType;
public interface AdActivityVersionControlMapper extends BaseMapper<AdActivityVersionControl> {
    /**
     * 根据内容ID与版本ID查询
     *
     * @param sourceId
     * @param type
     * @param versionId
     * @return
     */
    AdActivityVersionControl selectBySourceIdAndTypeAndVersion(Long sourceId, AdActivityType type, Long versionId);
    /**
     *
     * @param type
     * @param sourceId
     * @return
     */
    List<AdActivityVersionControl> listByTypeAndSourceId(AdActivityType type, Long sourceId);
    /**
     * 根据内容与版本ID检索
     *
     * @param sourceIdList
     * @param type
     * @param appVersionId
     * @return
     */
    List<AdActivityVersionControl> listByVersionAndSourceId(List<Long> sourceIdList, AdActivityType type,
            Long appVersionId);
}
fanli/src/main/java/com/yeshi/fanli/entity/AppVersionInfo.java
@@ -15,6 +15,7 @@
public class AppVersionInfo {
    public final static String PLATFORM_ANDROID = "android";
    public final static String PLATFORM_IOS = "ios";
    public final static String PLATFORM_XCX = "小程序";
    @Column(name = "avcm_id")
    private Long id;
fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/AdActivityVersionControl.java
New file
@@ -0,0 +1,74 @@
package com.yeshi.fanli.entity.bus.homemodule;
import java.util.Date;
import org.yeshi.utils.mybatis.Column;
import org.yeshi.utils.mybatis.Table;
import com.yeshi.fanli.entity.AppVersionInfo;
/**
 * 广告活动版本控制(包含 Banner与专题)
 *
 * @author Administrator
 *
 */
@Table("yeshi_ec_ad_activity_version_control")
public class AdActivityVersionControl {
    public enum AdActivityType {
        banner// 轮播图
        , special// 专题
    }
    @Column(name = "vc_id")
    private Long id;
    @Column(name = "vc_type")
    private AdActivityType type;// 广告活动类型
    @Column(name = "vc_source_id")
    private Long sourceId;// 轮播图ID或者专题Id
    @Column(name = "vc_version")
    private AppVersionInfo version;// 版本号
    @Column(name = "vc_create_time")
    private Date createTime;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public AdActivityType getType() {
        return type;
    }
    public void setType(AdActivityType type) {
        this.type = type;
    }
    public Long getSourceId() {
        return sourceId;
    }
    public void setSourceId(Long sourceId) {
        this.sourceId = sourceId;
    }
    public AppVersionInfo getVersion() {
        return version;
    }
    public void setVersion(AppVersionInfo version) {
        this.version = version;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/order/UserOrderWeiQuanRecord.java
New file
@@ -0,0 +1,98 @@
package com.yeshi.fanli.entity.order;
import java.math.BigDecimal;
import java.util.Date;
import org.yeshi.utils.mybatis.Column;
import org.yeshi.utils.mybatis.Table;
/**
 * 用户订单维权记录(包含返利,分享,邀请)
 *
 * @author Administrator
 *
 */
@Table("yeshi_ec_user_order_weiquan_record")
public class UserOrderWeiQuanRecord {
    @Column(name = "wr_id")
    private Long id;
    @Column(name = "wr_source_type")
    private Integer sourceType;
    @Column(name = "wr_trade_id")
    private String tradeId;
    @Column(name = "wr_uid")
    private Long uid;
    @Column(name = "wr_money")
    private BigDecimal money;
    @Column(name = "wr_state")
    private Integer state;// 0-未扣款 1-已扣款
    @Column(name = "wr_create_time")
    private Date createTime;
    @Column(name = "wr_update_time")
    private Date updateTime;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Integer getSourceType() {
        return sourceType;
    }
    public void setSourceType(Integer sourceType) {
        this.sourceType = sourceType;
    }
    public String getTradeId() {
        return tradeId;
    }
    public void setTradeId(String tradeId) {
        this.tradeId = tradeId;
    }
    public Long getUid() {
        return uid;
    }
    public void setUid(Long uid) {
        this.uid = uid;
    }
    public BigDecimal getMoney() {
        return money;
    }
    public void setMoney(BigDecimal money) {
        this.money = money;
    }
    public Integer getState() {
        return state;
    }
    public void setState(Integer state) {
        this.state = state;
    }
    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/mapping/homemodule/AdActivityVersionControlMapper.xml
New file
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
    namespace="com.yeshi.fanli.dao.mybatis.homemodule.AdActivityVersionControlMapper">
    <resultMap id="BaseResultMap"
        type="com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl">
        <id column="vc_id" property="id" jdbcType="BIGINT" />
        <result column="vc_type" property="type" jdbcType="VARCHAR" />
        <result column="vc_source_id" property="sourceId" jdbcType="BIGINT" />
        <result column="vc_version" property="version" jdbcType="VARCHAR" />
        <result column="vc_create_time" property="createTime" jdbcType="TIMESTAMP" />
    </resultMap>
    <sql id="Base_Column_List">vc_id,vc_type,vc_source_id,vc_version,vc_create_time</sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_ad_activity_version_control where vc_id =
        #{id,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
        yeshi_ec_ad_activity_version_control where vc_id =
        #{id,jdbcType=BIGINT}</delete>
    <insert id="insert"
        parameterType="com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl"
        useGeneratedKeys="true" keyProperty="id">insert into
        yeshi_ec_ad_activity_version_control
        (vc_id,vc_type,vc_source_id,vc_version,vc_create_time) values
        (#{id,jdbcType=BIGINT},#{type,jdbcType=VARCHAR},#{sourceId,jdbcType=BIGINT},#{version,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP})
    </insert>
    <insert id="insertSelective"
        parameterType="com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl"
        useGeneratedKeys="true" keyProperty="id">
        insert into yeshi_ec_ad_activity_version_control
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">vc_id,</if>
            <if test="type != null">vc_type,</if>
            <if test="sourceId != null">vc_source_id,</if>
            <if test="version != null">vc_version,</if>
            <if test="createTime != null">vc_create_time,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="type != null">#{type,jdbcType=VARCHAR},</if>
            <if test="sourceId != null">#{sourceId,jdbcType=BIGINT},</if>
            <if test="version != null">#{version,jdbcType=VARCHAR},</if>
            <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey"
        parameterType="com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl">update yeshi_ec_ad_activity_version_control set vc_type
        = #{type,jdbcType=VARCHAR},vc_source_id =
        #{sourceId,jdbcType=BIGINT},vc_version =
        #{version,jdbcType=VARCHAR},vc_create_time =
        #{createTime,jdbcType=TIMESTAMP} where vc_id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKeySelective"
        parameterType="com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl">
        update yeshi_ec_ad_activity_version_control
        <set>
            <if test="type != null">vc_type=#{type,jdbcType=VARCHAR},</if>
            <if test="sourceId != null">vc_source_id=#{sourceId,jdbcType=BIGINT},</if>
            <if test="version != null">vc_version=#{version,jdbcType=VARCHAR},</if>
            <if test="createTime != null">vc_create_time=#{createTime,jdbcType=TIMESTAMP},</if>
        </set>
        where vc_id = #{id,jdbcType=BIGINT}
    </update>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/AdActivityVersionControlServiceImpl.java
New file
@@ -0,0 +1,69 @@
package com.yeshi.fanli.service.impl.homemodule;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.homemodule.AdActivityVersionControlMapper;
import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl;
import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType;
import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService;
@Service
public class AdActivityVersionControlServiceImpl implements AdActivityVersionControlService {
    @Resource
    private AdActivityVersionControlMapper adActivityVersionControlMapper;
    @Override
    public void addVersionControl(AdActivityVersionControl control) throws Exception {
        if (control == null || control.getSourceId() == null || control.getType() == null
                || control.getVersion() == null)
            throw new Exception("数据不完整");
        AdActivityVersionControl oldControl = adActivityVersionControlMapper.selectBySourceIdAndTypeAndVersion(
                control.getSourceId(), control.getType(), control.getVersion().getId());
        if (oldControl != null)
            throw new Exception("不能重复添加");
        if (control.getCreateTime() == null)
            control.setCreateTime(new Date());
        adActivityVersionControlMapper.insertSelective(control);
    }
    @Override
    public void deleteByPrimaryKey(Long id) {
        adActivityVersionControlMapper.deleteByPrimaryKey(id);
    }
    @Override
    public List<AdActivityVersionControl> listByTypeAndSourceId(AdActivityType type, Long sourceId) {
        if (type == null || sourceId == null)
            return null;
        return adActivityVersionControlMapper.listByTypeAndSourceId(type, sourceId);
    }
    @Override
    public List<Long> filterSourceIdByVersion(List<Long> sourceIdList, AdActivityType type, Long appVersionId) {
        if (sourceIdList == null || sourceIdList.size() == 0)
            return null;
        if (type == null || appVersionId == null)
            return null;
        List<AdActivityVersionControl> list = adActivityVersionControlMapper.listByVersionAndSourceId(sourceIdList,
                type, appVersionId);
        List<Long> resultList = new ArrayList<>();
        if (list != null)
            for (AdActivityVersionControl control : list)
                if(control!=null&&control.getSourceId()!=null)
                resultList.add(control.getSourceId());
        return resultList;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -24,8 +24,6 @@
import com.aliyun.openservices.ons.api.transaction.TransactionProducer;
import com.aliyun.openservices.ons.api.transaction.TransactionStatus;
import com.google.gson.Gson;
import com.opensymphony.xwork2.util.Element;
import com.sun.org.apache.xml.internal.serializer.ElemDesc;
import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
@@ -583,9 +581,7 @@
        } catch (OrderMoneySettleException e) {
            e.printStackTrace();
        }
        if (1 > 0)
            return;
        //
        try {
            orderMoneySettleService.inviteSettleJD(uid);
        } catch (OrderMoneySettleException e) {
@@ -1261,13 +1257,12 @@
    @Transactional
    private void addHongBaoWithMQ(List<CommonOrderAddResultDTO> commonOrderList, String orderId, Long uid,
            int sourceType, int hongBaoType) {
        final List<CommonOrder> coList = convertCommonOrder(commonOrderList);
        int resultCode = 0;
        try {
            long time = TimeUtil.convertToTimeTemp("2019-12-06", "yyyy-MM-dd");
            if (!Constant.IS_TEST)
                time = TimeUtil.convertToTimeTemp("2020-01-01", "yyyy-MM-dd");
                time = TimeUtil.convertToTimeTemp("2019-12-20", "yyyy-MM-dd");
            if (coList.get(0).getThirdCreateTime().getTime() < time)
                resultCode = hongBaoV2Service.addHongBao(coList, hongBaoType);
fanli/src/main/java/com/yeshi/fanli/service/impl/shop/BanLiShopOrderPayServiceImpl.java
@@ -70,7 +70,7 @@
    @Resource(name = "producer")
    private Producer producer;
    @Transactional
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void payOrderByHongBao(Long orderId) throws BanLiShopOrderException, RedPackBalanceException {
        BanLiShopOrder order = banLiShopOrderService.selectByPrimaryKeyForUpdate(orderId);
@@ -287,7 +287,7 @@
        }
    }
    @Transactional
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void charge(Long orderId) throws BanLiShopOrderException {
        BanLiShopOrder order = banLiShopOrderService.selectByPrimaryKey(orderId);
fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/AdActivityVersionControlService.java
New file
@@ -0,0 +1,50 @@
package com.yeshi.fanli.service.inter.homemodule;
import java.util.List;
import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl;
import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType;
/**
 * 获取广告版本映射服务(包含专题与横幅)
 *
 * @author Administrator
 *
 */
public interface AdActivityVersionControlService {
    /**
     * 添加
     *
     * @param control
     * @throws Exception
     */
    public void addVersionControl(AdActivityVersionControl control) throws Exception;
    /**
     * 主键删除
     *
     * @param id
     */
    public void deleteByPrimaryKey(Long id);
    /**
     * 根据类型与内容ID查询
     *
     * @param type
     * @param sourceId
     * @return
     */
    public List<AdActivityVersionControl> listByTypeAndSourceId(AdActivityType type, Long sourceId);
    /**
     * 过滤内容ID
     *
     * @param sourceIdList
     * @param type
     * @param appVersionId
     * @return
     */
    public List<Long> filterSourceIdByVersion(List<Long> sourceIdList, AdActivityType type, Long appVersionId);
}
fanli/src/main/java/com/yeshi/fanli/util/VersionUtil.java
@@ -17,7 +17,7 @@
        else
            return false;
    }
    public static boolean greaterThan_1_5_60(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 43))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 54)))
@@ -25,8 +25,7 @@
        else
            return false;
    }
    public static boolean greaterThan_1_5_70(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 45))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 56)))
@@ -42,7 +41,7 @@
        else
            return false;
    }
    public static boolean greaterThan_1_6_5(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 47))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 65)))
@@ -51,8 +50,6 @@
            return false;
    }
    public static boolean greaterThan_2_0(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 48))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 66)))
@@ -61,7 +58,6 @@
            return false;
    }
    public static boolean greaterThan_2_0_1(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 50))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 67)))
@@ -69,7 +65,7 @@
        else
            return false;
    }
    public static boolean greaterThan_2_0_2(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 51))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 70)))
@@ -77,16 +73,14 @@
        else
            return false;
    }
    public static boolean greaterThan_2_1(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 52))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 75)))
                || (("ios".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) >= 73)))
            return true;
        else
            return false;
    }
    public static boolean smallerThan_1_5_1(String platform, String versionCode) {
        if ((("android".equalsIgnoreCase(platform) && Integer.parseInt(versionCode) < 36))