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))