admin
2020-03-24 0e0eb2b6645d02c0a0a15cb83fc2717875ab12b4
APP更新整改,团队补贴与团队奖励修改
1个文件已添加
5个文件已修改
226 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/HelpController.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/order/InviteOrderSubsidy.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/order/OrderTeamReward.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/InviteOrderSubsidyMapper.xml 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/OrderTeamRewardMapper.xml 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/AppUpdateManager.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/HelpController.java
@@ -2,25 +2,22 @@
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.JsonUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.help.AppPageNotification;
import com.yeshi.fanli.service.inter.help.AppPageNotificationService;
import com.yeshi.fanli.service.manger.AppUpdateManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.VersionUtil;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.JsonUtil;
@Controller
@RequestMapping("api/v1/help")
@@ -28,6 +25,9 @@
    @Resource
    private AppPageNotificationService appPageNotificationService;
    @Resource
    private AppUpdateManager appUpdateManager;
    /**
     * 获取app页面的通知
@@ -46,7 +46,8 @@
        String platform = acceptData.getPlatform();
        String version = acceptData.getVersion();
        
        AppPageNotification ap = appPageNotificationService.getValidNotificationByTypeCache(type,platform, Integer.parseInt(version));
        AppPageNotification ap = appPageNotificationService.getValidNotificationByTypeCache(type, platform,
                Integer.parseInt(version));
        if ("home".equalsIgnoreCase(type) && VersionUtil.smallerThan_1_5_1(platform, version) && ap != null) {
            AppPageNotification no = new AppPageNotification();
            no.setContentUrl("");
@@ -73,33 +74,7 @@
    @RequestMapping(value = "updateApp")
    public void updateApp(AcceptData acceptData, PrintWriter out) {
        Map<String, String> params = new HashMap<>();
        if ("android".equalsIgnoreCase(acceptData.getPlatform())) {// android更新
//            acceptData.setVersion("10");
            params.put("method", "update");
            params.put("Platform", "Android");
            params.put("Version", acceptData.getVersion());
            params.put("device  ", acceptData.getDevice());
            params.put("time", System.currentTimeMillis() + "");
            params.put("Package", acceptData.getPackages());
            params.put("device", acceptData.getDevice());
            params.put("platform", "Android");
            params.put("key", "a3f390d88e4c41f2747bfa2f1b5f87db");
            params.put("versionCode", acceptData.getVersion() + "");
        } else {// IOS更新
            params.put("method", "update");
            params.put("Platform", "IOS");
            params.put("Version", acceptData.getVersion());
            params.put("device  ", acceptData.getDevice());
            params.put("time", System.currentTimeMillis() + "");
            params.put("Package", acceptData.getPackages());
            params.put("device", acceptData.getDevice());
            params.put("platform", "IOS");
            params.put("key", "32bb90e8976aab5298d5da10fe66f21d");
            params.put("versionCode", acceptData.getVersion() + "");
        }
        String url = "http://update.yeshitv.com:8090/update/update";
        String result = HttpUtil.post(url, params, null);
        String result = appUpdateManager.getUpdateInfoCache(acceptData);
        try {
            out.print(new String(result.getBytes("ISO-8859-1"), "UTF-8"));
        } catch (UnsupportedEncodingException e) {
fanli/src/main/java/com/yeshi/fanli/entity/order/InviteOrderSubsidy.java
@@ -6,6 +6,8 @@
import org.yeshi.utils.mybatis.Column;
import org.yeshi.utils.mybatis.Table;
import jxl.write.DateTime;
/**
 * 邀请订单补贴
 * 
@@ -59,6 +61,26 @@
    private Date getTime;
    @Column(name = "os_level")
    private Integer level;// 直接/间接
    @Column(name = "os_valid_time")
    private Date validTime;
    @Column(name = "os_invalid_time")
    private Date inValidTime;
    public Date getInValidTime() {
        return inValidTime;
    }
    public void setInValidTime(Date inValidTime) {
        this.inValidTime = inValidTime;
    }
    public Date getValidTime() {
        return validTime;
    }
    public void setValidTime(Date validTime) {
        this.validTime = validTime;
    }
    public Integer getLevel() {
        return level;
fanli/src/main/java/com/yeshi/fanli/entity/order/OrderTeamReward.java
@@ -64,6 +64,29 @@
    @Column(name = "otr_level")
    private Integer level;// 直接/间接补贴
    @Column(name = "otr_valid_time")
    private Date validTime;
    @Column(name = "otr_invalid_time")
    private Date inValidTime;
    public Date getValidTime() {
        return validTime;
    }
    public void setValidTime(Date validTime) {
        this.validTime = validTime;
    }
    public Date getInValidTime() {
        return inValidTime;
    }
    public void setInValidTime(Date inValidTime) {
        this.inValidTime = inValidTime;
    }
    public Integer getLevel() {
        return level;
    }
fanli/src/main/java/com/yeshi/fanli/mapping/order/InviteOrderSubsidyMapper.xml
@@ -18,8 +18,11 @@
            jdbcType="TIMESTAMP" />
        <result column="os_get_time" property="getTime" jdbcType="TIMESTAMP" />
        <result column="os_level" property="level" jdbcType="INTEGER" />
        <result column="os_valid_time" property="validTime" jdbcType="TIMESTAMP" />
        <result column="os_invalid_time" property="inValidTime"
            jdbcType="TIMESTAMP" />
    </resultMap>
    <sql id="Base_Column_List">os_id,os_uid,os_money,os_order_no,os_source_type,os_state,os_create_time,os_update_time,os_original_money,os_pre_get_time,os_get_time,os_level
    <sql id="Base_Column_List">os_id,os_uid,os_money,os_order_no,os_source_type,os_state,os_create_time,os_update_time,os_original_money,os_pre_get_time,os_get_time,os_level,os_valid_time,os_invalid_time
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
@@ -45,9 +48,9 @@
    <insert id="insert" parameterType="com.yeshi.fanli.entity.order.InviteOrderSubsidy"
        useGeneratedKeys="true" keyProperty="id">insert into
        yeshi_ec_invite_order_subsidy
        (os_id,os_uid,os_money,os_order_no,os_source_type,os_state,os_create_time,os_update_time,os_original_money,os_pre_get_time,os_get_time,os_level)
        (os_id,os_uid,os_money,os_order_no,os_source_type,os_state,os_create_time,os_update_time,os_original_money,os_pre_get_time,os_get_time,os_level,os_valid_time,os_invalid_time)
        values
        (#{id,jdbcType=BIGINT},#{uid,jdbcType=BIGINT},#{money,jdbcType=DECIMAL},#{orderNo,jdbcType=VARCHAR},#{sourceType,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{originalMoney,jdbcType=DECIMAL},#{preGetTime,jdbcType=TIMESTAMP},#{getTime,jdbcType=TIMESTAMP},#{level,jdbcType=INTEGER})
        (#{id,jdbcType=BIGINT},#{uid,jdbcType=BIGINT},#{money,jdbcType=DECIMAL},#{orderNo,jdbcType=VARCHAR},#{sourceType,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{originalMoney,jdbcType=DECIMAL},#{preGetTime,jdbcType=TIMESTAMP},#{getTime,jdbcType=TIMESTAMP},#{level,jdbcType=INTEGER},#{validTime,jdbcType=TIMESTAMP},#{inValidTime,jdbcType=TIMESTAMP})
    </insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.order.InviteOrderSubsidy"
        useGeneratedKeys="true" keyProperty="id">
@@ -65,6 +68,8 @@
            <if test="preGetTime != null">os_pre_get_time,</if>
            <if test="getTime != null">os_get_time,</if>
            <if test="level != null">os_level,</if>
            <if test="validTime != null">os_valid_time,</if>
            <if test="inValidTime != null">os_invalid_time,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -80,6 +85,8 @@
            <if test="preGetTime != null">#{preGetTime,jdbcType=TIMESTAMP},</if>
            <if test="getTime != null">#{getTime,jdbcType=TIMESTAMP},</if>
            <if test="level != null">#{level,jdbcType=INTEGER}</if>
            <if test="validTime != null">#{validTime,jdbcType=TIMESTAMP}</if>
            <if test="inValidTime != null">#{inValidTime,jdbcType=TIMESTAMP}</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.order.InviteOrderSubsidy">update
@@ -94,7 +101,9 @@
        =#{originalMoney,jdbcType=DECIMAL} ,os_pre_get_time
        =#{preGetTime,jdbcType=TIMESTAMP} ,os_get_time
        =#{getTime,jdbcType=TIMESTAMP} ,os_level =#{level,jdbcType=INTEGER}
        where os_id = #{id,jdbcType=BIGINT}</update>
        ,os_valid_time =#{validTime,jdbcType=TIMESTAMP} ,os_invalid_time
        =#{inValidTime,jdbcType=TIMESTAMP} where os_id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.order.InviteOrderSubsidy">
        update yeshi_ec_invite_order_subsidy
        <set>
@@ -110,6 +119,8 @@
            <if test="preGetTime !=null">os_pre_get_time =#{preGetTime,jdbcType=TIMESTAMP},</if>
            <if test="getTime !=null">os_get_time =#{getTime,jdbcType=TIMESTAMP},</if>
            <if test="level !=null">os_level =#{level,jdbcType=INTEGER},</if>
            <if test="validTime !=null">os_valid_time =#{validTime,jdbcType=TIMESTAMP},</if>
            <if test="inValidTime !=null">os_invalid_time =#{inValidTime,jdbcType=TIMESTAMP},</if>
        </set>
        where os_id = #{id,jdbcType=BIGINT}
    </update>
fanli/src/main/java/com/yeshi/fanli/mapping/order/OrderTeamRewardMapper.xml
@@ -20,13 +20,16 @@
            jdbcType="TIMESTAMP" />
        <result column="otr_get_time" property="getTime" jdbcType="TIMESTAMP" />
        <result column="otr_level" property="level" jdbcType="INTEGER" />
        <result column="otr_valid_time" property="validTime" jdbcType="TIMESTAMP" />
        <result column="otr_invalid_time" property="inValidTime"
            jdbcType="TIMESTAMP" />
        <association property="subsidy"
            javaType="com.yeshi.fanli.entity.order.InviteOrderSubsidy" column="otr_subsidy_id">
            <id column="otr_subsidy_id" property="id" />
        </association>
    </resultMap>
    <sql id="Base_Column_List">otr_id,otr_uid,otr_money,otr_order_no,otr_source_type,otr_state,otr_create_time,otr_update_time,otr_original_money,otr_subsidy_id,otr_pre_get_time,otr_get_time,otr_level
    <sql id="Base_Column_List">otr_id,otr_uid,otr_money,otr_order_no,otr_source_type,otr_state,otr_create_time,otr_update_time,otr_original_money,otr_subsidy_id,otr_pre_get_time,otr_get_time,otr_level,otr_valid_time,otr_invalid_time
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
@@ -46,9 +49,9 @@
    <insert id="insert" parameterType="com.yeshi.fanli.entity.order.OrderTeamReward"
        useGeneratedKeys="true" keyProperty="id">insert into
        yeshi_ec_order_team_reward
        (otr_id,otr_uid,otr_money,otr_order_no,otr_source_type,otr_state,otr_create_time,otr_update_time,otr_original_money,otr_subsidy_id,otr_pre_get_time,otr_get_time,otr_level)
        (otr_id,otr_uid,otr_money,otr_order_no,otr_source_type,otr_state,otr_create_time,otr_update_time,otr_original_money,otr_subsidy_id,otr_pre_get_time,otr_get_time,otr_level,otr_valid_time,otr_invalid_time)
        values
        (#{id,jdbcType=BIGINT},#{uid,jdbcType=BIGINT},#{money,jdbcType=DECIMAL},#{orderNo,jdbcType=VARCHAR},#{sourceType,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{originalMoney,jdbcType=DECIMAL},#{subsidy.id,jdbcType=BIGINT},#{preGetTime,jdbcType=TIMESTAMP},#{getTime,jdbcType=TIMESTAMP},#{level,jdbcType=INTEGER})
        (#{id,jdbcType=BIGINT},#{uid,jdbcType=BIGINT},#{money,jdbcType=DECIMAL},#{orderNo,jdbcType=VARCHAR},#{sourceType,jdbcType=INTEGER},#{state,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{originalMoney,jdbcType=DECIMAL},#{subsidy.id,jdbcType=BIGINT},#{preGetTime,jdbcType=TIMESTAMP},#{getTime,jdbcType=TIMESTAMP},#{level,jdbcType=INTEGER},#{validTime,jdbcType=TIMESTAMP},#{inValidTime,jdbcType=TIMESTAMP})
    </insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.order.OrderTeamReward"
        useGeneratedKeys="true" keyProperty="id">
@@ -67,6 +70,8 @@
            <if test="preGetTime != null">otr_pre_get_time,</if>
            <if test="getTime != null">otr_get_time,</if>
            <if test="level != null">otr_level,</if>
            <if test="validTime != null">otr_valid_time,</if>
            <if test="inValidTime != null">otr_invalid_time,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -83,6 +88,8 @@
            <if test="preGetTime != null">#{preGetTime,jdbcType=TIMESTAMP},</if>
            <if test="getTime != null">#{getTime,jdbcType=TIMESTAMP},</if>
            <if test="level != null">#{level,jdbcType=INTEGER},</if>
            <if test="validTime != null">#{validTime,jdbcType=TIMESTAMP},</if>
            <if test="inValidTime != null">#{inValidTime,jdbcType=TIMESTAMP}</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.order.OrderTeamReward">update
@@ -98,8 +105,9 @@
        =#{subsidy.id,jdbcType=BIGINT} ,otr_pre_get_time
        =#{preGetTime,jdbcType=TIMESTAMP} ,otr_get_time
        =#{getTime,jdbcType=TIMESTAMP} ,otr_level =#{level,jdbcType=INTEGER}
        where otr_id = #{id,jdbcType=BIGINT}
    </update>
        ,otr_valid_time =#{validTime,jdbcType=TIMESTAMP} ,otr_invalid_time
        =#{inValidTime,jdbcType=TIMESTAMP} where otr_id =
        #{id,jdbcType=BIGINT}</update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.order.OrderTeamReward">
        update yeshi_ec_order_team_reward
        <set>
@@ -115,65 +123,40 @@
            <if test="subsidy !=null">otr_subsidy_id =#{subsidy.id,jdbcType=BIGINT},</if>
            <if test="preGetTime !=null">otr_pre_get_time =#{preGetTime,jdbcType=TIMESTAMP},</if>
            <if test="getTime !=null">otr_get_time =#{getTime,jdbcType=TIMESTAMP},</if>
            <if test="id !=null">otr_id =#{id,jdbcType=BIGINT},</if>
            <if test="level !=null">otr_level =#{level,jdbcType=INTEGER},</if>
            <if test="validTime !=null">otr_valid_time =#{validTime,jdbcType=TIMESTAMP},</if>
            <if test="inValidTime !=null">otr_invalid_time =#{inValidTime,jdbcType=TIMESTAMP},</if>
        </set>
        where otr_id = #{id,jdbcType=BIGINT}
    </update>
    <select id="getByOrderNoAndType" resultMap="BaseResultMap">SELECT * FROM
        yeshi_ec_order_team_reward WHERE otr_uid = #{uid} AND otr_order_no =
        #{orderNo} AND otr_source_type = #{type} LIMIT 1
    </select>
        #{orderNo} AND otr_source_type = #{type} LIMIT 1</select>
    <select id="getByOrderNoAndTypeForUpdate" resultMap="BaseResultMap">SELECT *
        FROM yeshi_ec_order_team_reward WHERE otr_uid = #{uid} AND
        otr_order_no = #{orderNo} AND otr_source_type = #{type} for update
    </select>
    <select id="countByOrderNoAndType" resultType="java.lang.Long">SELECT count(*)
        FROM yeshi_ec_order_team_reward WHERE otr_order_no = #{orderNo} AND
        otr_source_type = #{type}
    </select>
        otr_source_type = #{type}</select>
    <select id="selectBySubsidyIdAndUidForUpdate" resultMap="BaseResultMap">SELECT *
        FROM yeshi_ec_order_team_reward WHERE otr_subsidy_id = #{subsidyId}
        AND otr_uid = #{uid} for update
    </select>
        AND otr_uid = #{uid} for update</select>
    <select id="listBySubsidyId" resultMap="BaseResultMap"
        parameterType="java.lang.Long">SELECT * FROM yeshi_ec_order_team_reward WHERE
        otr_subsidy_id = #{0}
    </select>
        otr_subsidy_id = #{0}</select>
    <select id="listCanSettleByUid" resultMap="BaseResultMap">SELECT * FROM
        yeshi_ec_order_team_reward WHERE
        otr_uid
        =#{uid} AND otr_state=1 AND
        NOW()>otr_pre_get_time
        limit
        #{start},#{count}
    </select>
        yeshi_ec_order_team_reward WHERE otr_uid =#{uid} AND otr_state=1 AND
        NOW()&gt;otr_pre_get_time limit #{start},#{count}</select>
    <select id="countCanSettle" resultType="java.lang.Long"
        parameterType="java.lang.Long">SELECT count(*) FROM yeshi_ec_order_team_reward
        WHERE
        otr_uid =#{uid} AND otr_state=1 AND NOW()>otr_pre_get_time
    </select>
    <select id="listCanSettleUid" resultType="java.lang.Long">
        SELECT t.`otr_uid` FROM
        yeshi_ec_order_team_reward t WHERE t.`otr_state`=1
        AND #{time} >
        parameterType="java.lang.Long">SELECT count(*) FROM yeshi_ec_order_team_reward WHERE
        otr_uid =#{uid} AND otr_state=1 AND NOW()&gt;otr_pre_get_time</select>
    <select id="listCanSettleUid" resultType="java.lang.Long">SELECT t.`otr_uid` FROM
        yeshi_ec_order_team_reward t WHERE t.`otr_state`=1 AND #{time} &gt;
        t.`otr_pre_get_time` GROUP BY t.`otr_uid` LIMIT #{start},#{count}
    </select>
    <select id="countCanSettleUid" resultType="java.lang.Long"
        parameterType="java.util.Date">
        SELECT COUNT(*) FROM
        (
        SELECT t.otr_uid FROM
        parameterType="java.util.Date">SELECT COUNT(*) FROM ( SELECT t.otr_uid FROM
        yeshi_ec_order_team_reward t WHERE t.otr_state=1 AND
        #{0}>t.otr_pre_get_time GROUP BY t.otr_uid) a
    </select>
        #{0}&gt;t.otr_pre_get_time GROUP BY t.otr_uid) a</select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/manger/AppUpdateManager.java
New file
@@ -0,0 +1,50 @@
package com.yeshi.fanli.service.manger;
import java.util.HashMap;
import java.util.Map;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Component;
import org.yeshi.utils.HttpUtil;
import com.yeshi.fanli.entity.accept.AcceptData;
@Component
public class AppUpdateManager {
    public String getUpdateInfo(AcceptData acceptData) {
        Map<String, String> params = new HashMap<>();
        if ("android".equalsIgnoreCase(acceptData.getPlatform())) {// android更新
            params.put("method", "update");
            params.put("Platform", "Android");
            params.put("Version", acceptData.getVersion());
            params.put("device  ", acceptData.getDevice());
            params.put("time", System.currentTimeMillis() + "");
            params.put("Package", acceptData.getPackages());
            params.put("device", acceptData.getDevice());
            params.put("platform", "Android");
            params.put("key", "a3f390d88e4c41f2747bfa2f1b5f87db");
            params.put("versionCode", acceptData.getVersion() + "");
        } else {// IOS更新
            params.put("method", "update");
            params.put("Platform", "IOS");
            params.put("Version", acceptData.getVersion());
            params.put("device  ", acceptData.getDevice());
            params.put("time", System.currentTimeMillis() + "");
            params.put("Package", acceptData.getPackages());
            params.put("device", acceptData.getDevice());
            params.put("platform", "IOS");
            params.put("key", "32bb90e8976aab5298d5da10fe66f21d");
            params.put("versionCode", acceptData.getVersion() + "");
        }
        String url = "http://update.yeshitv.com:8090/update/update";
        String result = HttpUtil.post(url, params, null);
        return result;
    }
    @Cacheable(value = "config", key = "#acceptData.platform+'-'+#acceptData.version")
    public String getUpdateInfoCache(AcceptData acceptData) {
        return getUpdateInfo(acceptData);
    }
}