Administrator
2018-11-09 77184b88b81a66b400005bd224a86e12add2a761
Merge remote-tracking branch 'origin/master'
9个文件已修改
232 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/lable/QualityFactoryMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/ShamUserMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ShamUser.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoGoodsBriefMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/user/ShamUserMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/lable/QualityGoodsService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/ShamUserService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/lable/QualityFactoryMapper.java
@@ -341,4 +341,10 @@
    
    long countRecommendBykey(@Param("key") String key, @Param("hasQuan") Integer hasQuan,  
            @Param("userType") Integer userType,@Param("startprice") Double startprice, @Param("endprice") Double endprice);
    List<QualityFactory> listQueryBylabIDs(@Param("start") long start, @Param("count") int count,
            @Param("list") List<Long> list, @Param("gid") Long gid,@Param("systemCid") Long systemCid);
}
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/ShamUserMapper.java
@@ -31,4 +31,7 @@
    
    List<ShamUser> listByDistinctPicUrl(@Param("start")long start, @Param("count")int count);
    
    // 随机取出数据
    List<ShamUser> listRand(@Param("count") int count);
}
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/ShamUser.java
@@ -6,21 +6,36 @@
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
//假用户
@Entity
@Table(name="yeshi_ec_sham_user")//@com.yeshi.utils.mybatis.Table("yeshi_ec_demouser")
@Table(name = "yeshi_ec_sham_user")
@org.yeshi.utils.mybatis.Table("yeshi_ec_sham_user")
public class ShamUser {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="`id`")
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "`id`")
    private long id;
    @Column(name="`name`")
    @Column(name = "`name`")
    private String name;
    @Column(name = "`picUrl`")
    private String picUrl;
    @Transient
    private String msg;
    @Transient
    private String showId;
    @Transient
    private String shareBonusPic;
    public ShamUser() {
    }
    public ShamUser(long id) {
        super();
        this.id = id;
@@ -29,20 +44,49 @@
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPicUrl() {
        return picUrl;
    }
    public void setPicUrl(String picUrl) {
        this.picUrl = picUrl;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public String getShowId() {
        return showId;
    }
    public void setShowId(String showId) {
        this.showId = showId;
    }
    public String getShareBonusPic() {
        return shareBonusPic;
    }
    public void setShareBonusPic(String shareBonusPic) {
        this.shareBonusPic = shareBonusPic;
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/TaoBaoGoodsBriefMapper.xml
@@ -183,7 +183,7 @@
            <if test="tkMktStatus != null">tkMktStatus,</if>
            <if test="updatetime != null">updatetime,</if>
            <if test="state != null">state,</if>
            <if test="state != null">totalSales,</if>
            <if test="totalSales != null">totalSales,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
fanli/src/main/java/com/yeshi/fanli/mapping/user/ShamUserMapper.xml
@@ -61,5 +61,8 @@
        LEFT JOIN yeshi_ec_demouser B ON  A.id = B.id
    </select>
     <select id="listRand" resultMap="BaseResultMap">
        SELECT <include refid="Base_Column_List" /> FROM yeshi_ec_sham_user ORDER BY  RAND() LIMIT #{count}
    </select>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.impl.lable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
@@ -16,6 +17,8 @@
import com.yeshi.fanli.dao.mybatis.lable.QualityFactoryMapper;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefRecordMapper;
import com.yeshi.fanli.entity.bus.lable.Label;
import com.yeshi.fanli.entity.bus.lable.LabelGoods;
import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
@@ -25,6 +28,7 @@
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.taobao.TbImgUtil;
@@ -334,5 +338,42 @@
        return countRecommend(pop, commision, couponAmount, tkRate, couponRatio);
    }
    
    @Override
    public List<QualityFactory> recommendByAuctionId(Long auctionId){
        List<Long> list = new ArrayList<Long>();
        list.add(auctionId);
        List<QualityFactory> listTaoBaoGoods = qualityFactoryMapper.listQueryByAuctionId(list);
        if (listTaoBaoGoods == null || listTaoBaoGoods.size() == 0) {
            return null;
        }
        QualityFactory qualityFactory = listTaoBaoGoods.get(0);
        TaoBaoGoodsBrief goodsBrief = qualityFactory.getTaoBaoGoodsBrief();
        if (goodsBrief == null) {
            return null;
        }
        List<LabelGoods> listLab = labelGoodsMapper.queryByGoodsId(0, 200, goodsBrief.getId());
        if (listLab == null || listLab.size() == 0) {
            return null;
        }
        // 标签id
        List<Long> listId = new ArrayList<Long>();
        for (LabelGoods labelGoods: listLab) {
            Label label = labelGoods.getLabel();
            if (label != null) {
                listId.add(label.getId());
            }
        }
        if (listId.size() == 0) {
            return null;
        }
        return qualityFactoryMapper.listQueryBylabIDs(0, 10, listId, goodsBrief.getId(),qualityFactory.getSystemCid());
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ShamUserServiceImpl.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.impl.user;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
@@ -8,7 +9,8 @@
import javax.annotation.Resource;
import org.apache.ibatis.annotations.Param;
import net.sf.json.JSONArray;
import org.hibernate.HibernateException;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
@@ -20,8 +22,10 @@
import com.yeshi.fanli.dao.user.ShamUserDao;
import com.yeshi.fanli.entity.bus.user.HongBaoMessage;
import com.yeshi.fanli.entity.bus.user.ShamUser;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.Utils;
@Service
@@ -32,6 +36,9 @@
    
    @Resource
    private ShamUserMapper shamUserMapper;
    @Resource
    private ConfigService configService;
    
    
    @Transactional
@@ -182,6 +189,84 @@
    public List<ShamUser> listDistinctPicUrl(long start, int count) {
        return shamUserMapper.listByDistinctPicUrl(start, count);
    }
    @Override
    public List<ShamUser> listRandCouponUser(int count, int smallTime, int largeTime) {
        List<Integer> listTime = new ArrayList<Integer>();
        while (listTime.size() < count) {
            int time = smallTime + (int) (Math.random() * (largeTime - smallTime + 1));
            if (!listTime.contains(Integer.valueOf(time))) {
                listTime.add(Integer.valueOf(time));
            }
        }
        Collections.sort(listTime);
        List<ShamUser> listRand = shamUserMapper.listRand(count);
        for (int i = 1; i <= count; i++) {
            ShamUser shamUser = (ShamUser) listRand.get(i - 1);
            transformId(shamUser);
            shamUser.setMsg(listTime.get(listTime.size() - i) + "秒前领券购买了这个商品");
        }
        return listRand;
    }
    @Override
    public List<ShamUser> listRandShareUser(int count, BigDecimal shareMoney, int small, int large) {
        List<Integer> listMultiple = new ArrayList<Integer>();
        while (listMultiple.size() < count) {
            int Multiple = small + (int) (Math.random() * (large - small + 1));
            listMultiple.add(Integer.valueOf(Multiple));
        }
        List<String> imgList = new ArrayList<String>();
        String value = configService.get("shareBonusPicture");
        if (!StringUtil.isNullOrEmpty(value)) {
            JSONArray array = JSONArray.fromObject(value);
            if (array != null) {
                for (int n = 0; n < array.size(); n++) {
                    imgList.add(array.optString(n));
                }
            }
        }
        List<ShamUser> listRand = shamUserMapper.listRand(count);
        for (int i = 0; i < count; i++) {
            ShamUser shamUser = (ShamUser) listRand.get(i);
            transformId(shamUser);
            if (imgList.size() > 0) {
                int randBonusPic = (int) (Math.random() * imgList.size());
                shamUser.setShareBonusPic((String) imgList.get(randBonusPic));
            }
            BigDecimal money = shareMoney.multiply(new BigDecimal(((Integer) listMultiple.get(i)).intValue())).setScale(2, 1);
            shamUser.setMsg("分享了这个商品,累计获得<font color=\"red\">奖金" + money + "</font>");
        }
        return listRand;
    }
    public void transformId(ShamUser shamUser) {
        String id = shamUser.getId() + "";
        if (id.length() == 1) {
            shamUser.setShowId("2****" + id);
        } else {
            shamUser.setShowId(id.substring(0, 1) + "****" + id.substring(id.length() - 2, id.length() - 1));
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/lable/QualityGoodsService.java
@@ -173,5 +173,12 @@
    
    public long countRecommendToIndex(String proportion);
    
    /**
     * 单个商品根据标签推荐商品
     * @param paramLong
     * @param paramString1
     * @param paramString2
     * @return
     */
    public  List<QualityFactory> recommendByAuctionId(Long paramLong);
}
fanli/src/main/java/com/yeshi/fanli/service/inter/user/ShamUserService.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.inter.user;
import java.math.BigDecimal;
import java.util.List;
import com.yeshi.fanli.entity.bus.user.HongBaoMessage;
@@ -39,4 +40,24 @@
    public int updateByPrimaryKey(ShamUser record);
    public List<ShamUser> listDistinctPicUrl(long start, int count);
    /**
     * 领券提示
     * @param count
     * @param smallTime
     * @param largeTime
     * @return
     */
    public List<ShamUser> listRandCouponUser(int count, int smallTime, int largeTime);
    /**
     * 分享奖金
     * @param count
     *
     * @param shareMoney
     * @param small
     * @param large
     * @return
     */
    public List<ShamUser> listRandShareUser(int count, BigDecimal shareMoney, int small, int large);
}