New file |
| | |
| | | package com.yeshi.fanli.dao.mybatis.order; |
| | | |
| | | import java.util.List; |
| | | |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import com.yeshi.fanli.dao.BaseMapper; |
| | | import com.yeshi.fanli.entity.order.ShareGoodsActivityOrder; |
| | | |
| | | public interface ShareGoodsActivityOrderMapper extends BaseMapper<ShareGoodsActivityOrder> { |
| | | |
| | | /** |
| | | * 计算分享活动的订单数 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | */ |
| | | long countShareGoodsActivityOrderByUid(Long uid); |
| | | |
| | | /** |
| | | * 查询分享活动(根据订单号与用户ID) |
| | | * |
| | | * @param uid |
| | | * @param orderId |
| | | * @return |
| | | */ |
| | | List<ShareGoodsActivityOrder> listByOrderIdAndUid(@Param("uid") Long uid, @Param("orderId") Long orderId); |
| | | } |
New file |
| | |
| | | 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;
|
| | |
|
| | | import com.yeshi.fanli.entity.bus.user.Order;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | |
|
| | | /**
|
| | | * 分享活动的返利比例
|
| | | * |
| | | * @author hexiaohui
|
| | | *
|
| | | */
|
| | | @Table("yeshi_ec_share_goods_activity_order")
|
| | | public class ShareGoodsActivityOrder {
|
| | | @Column(name = "sgao_id")
|
| | | private Long id;
|
| | | @Column(name = "sgao_uid")
|
| | | private UserInfo user;
|
| | | @Column(name = "sgao_order_id")
|
| | | private Order order;// 订单
|
| | | @Column(name = "sgao_share_rate")
|
| | | private BigDecimal shareRate;// 分享比例
|
| | | @Column(name = "sgao_create_time")
|
| | | private Date createTime;
|
| | | @Column(name = "sgao_update_time")
|
| | | private Date updateTime;
|
| | |
|
| | | public Long getId() {
|
| | | return id;
|
| | | }
|
| | |
|
| | | public void setId(Long id) {
|
| | | this.id = id;
|
| | | }
|
| | |
|
| | | public UserInfo getUser() {
|
| | | return user;
|
| | | }
|
| | |
|
| | | public void setUser(UserInfo user) {
|
| | | this.user = user;
|
| | | }
|
| | |
|
| | | public Order getOrder() {
|
| | | return order;
|
| | | }
|
| | |
|
| | | public void setOrder(Order order) {
|
| | | this.order = order;
|
| | | }
|
| | |
|
| | | public BigDecimal getShareRate() {
|
| | | return shareRate;
|
| | | }
|
| | |
|
| | | public void setShareRate(BigDecimal shareRate) {
|
| | | this.shareRate = shareRate;
|
| | | }
|
| | |
|
| | | 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;
|
| | | }
|
| | |
|
| | | }
|
New file |
| | |
| | | package com.yeshi.fanli.exception.order; |
| | | |
| | | public class ShareGoodsActivityOrderException extends Exception { |
| | | /** |
| | | * |
| | | */ |
| | | private static final long serialVersionUID = 1L; |
| | | private int code; |
| | | private String msg; |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public String getMsg() { |
| | | return msg; |
| | | } |
| | | |
| | | public ShareGoodsActivityOrderException(int code, String msg) { |
| | | this.code = code; |
| | | this.msg = msg; |
| | | } |
| | | |
| | | public ShareGoodsActivityOrderException() { |
| | | } |
| | | |
| | | @Override |
| | | public String getMessage() { |
| | | return this.msg; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | <?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.order.ShareGoodsActivityOrderMapper"> |
| | | <resultMap id="BaseResultMap" |
| | | type="com.yeshi.fanli.entity.order.ShareGoodsActivityOrder"> |
| | | <id column="sgao_id" property="id" jdbcType="BIGINT" /> |
| | | <result column="sgao_share_rate" property="shareRate" jdbcType="DECIMAL" /> |
| | | <result column="sgao_create_time" property="createTime" |
| | | jdbcType="TIMESTAMP" /> |
| | | <result column="sgao_update_time" property="updateTime" |
| | | jdbcType="TIMESTAMP" /> |
| | | <association property="user" column="sgao_uid" |
| | | javaType="com.yeshi.fanli.entity.bus.user.UserInfo"> |
| | | <id property="id" column="sgao_uid" jdbcType="BIGINT" /> |
| | | </association> |
| | | <association property="order" column="sgao_order_id" |
| | | javaType="com.yeshi.fanli.entity.bus.user.Order"> |
| | | <id property="id" column="sgao_order_id" jdbcType="BIGINT" /> |
| | | </association> |
| | | |
| | | </resultMap> |
| | | <sql id="Base_Column_List">sgao_id,sgao_uid,sgao_order_id,sgao_share_rate,sgao_create_time,sgao_update_time |
| | | </sql> |
| | | <select id="selectByPrimaryKey" resultMap="BaseResultMap" |
| | | parameterType="java.lang.Long"> |
| | | select |
| | | <include refid="Base_Column_List" /> |
| | | from yeshi_ec_share_goods_activity_order where sgao_id = |
| | | #{id,jdbcType=BIGINT} |
| | | </select> |
| | | |
| | | |
| | | |
| | | <select id="countShareGoodsActivityOrderByUid" resultType="java.lang.Long" |
| | | parameterType="java.lang.Long"> |
| | | select |
| | | count(sgao_id) |
| | | from |
| | | yeshi_ec_share_goods_activity_order where sgao_uid =#{0} |
| | | </select> |
| | | |
| | | |
| | | <select id="listByOrderIdAndUid" resultMap="BaseResultMap"> |
| | | select |
| | | <include refid="Base_Column_List" /> |
| | | from yeshi_ec_share_goods_activity_order where sgao_uid =#{uid} and |
| | | sgao_order_id=#{orderId} |
| | | </select> |
| | | |
| | | |
| | | |
| | | |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from |
| | | yeshi_ec_share_goods_activity_order where sgao_id = |
| | | #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | <insert id="insert" |
| | | parameterType="com.yeshi.fanli.entity.order.ShareGoodsActivityOrder" |
| | | useGeneratedKeys="true" keyProperty="id">insert into |
| | | yeshi_ec_share_goods_activity_order |
| | | (sgao_id,sgao_uid,sgao_order_id,sgao_share_rate,sgao_create_time,sgao_update_time) |
| | | values |
| | | (#{id,jdbcType=BIGINT},#{user.id,jdbcType=BIGINT},#{order.id,jdbcType=BIGINT},#{shareRate,jdbcType=DECIMAL},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP}) |
| | | </insert> |
| | | <insert id="insertSelective" |
| | | parameterType="com.yeshi.fanli.entity.order.ShareGoodsActivityOrder" |
| | | useGeneratedKeys="true" keyProperty="id"> |
| | | insert into yeshi_ec_share_goods_activity_order |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">sgao_id,</if> |
| | | <if test="user != null">sgao_uid,</if> |
| | | <if test="order != null">sgao_order_id,</if> |
| | | <if test="shareRate != null">sgao_share_rate,</if> |
| | | <if test="createTime != null">sgao_create_time,</if> |
| | | <if test="updateTime != null">sgao_update_time,</if> |
| | | </trim> |
| | | values |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id,jdbcType=BIGINT},</if> |
| | | <if test="user != null">#{user.id,jdbcType=BIGINT},</if> |
| | | <if test="order != null">#{order.id,jdbcType=BIGINT},</if> |
| | | <if test="shareRate != null">#{shareRate,jdbcType=DECIMAL},</if> |
| | | <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if> |
| | | </trim> |
| | | </insert> |
| | | <update id="updateByPrimaryKey" |
| | | parameterType="com.yeshi.fanli.entity.order.ShareGoodsActivityOrder">update yeshi_ec_share_goods_activity_order set sgao_uid |
| | | = #{user.id,jdbcType=BIGINT},sgao_order_id = |
| | | #{order.id,jdbcType=BIGINT},sgao_share_rate = |
| | | #{shareRate,jdbcType=DECIMAL},sgao_create_time = |
| | | #{createTime,jdbcType=TIMESTAMP},sgao_update_time = |
| | | #{updateTime,jdbcType=TIMESTAMP} where sgao_id = |
| | | #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateByPrimaryKeySelective" |
| | | parameterType="com.yeshi.fanli.entity.order.ShareGoodsActivityOrder"> |
| | | update yeshi_ec_share_goods_activity_order |
| | | <set> |
| | | <if test="user != null">sgao_uid=#{user.id,jdbcType=BIGINT},</if> |
| | | <if test="order != null">sgao_order_id=#{order.id,jdbcType=BIGINT},</if> |
| | | <if test="shareRate != null">sgao_share_rate=#{shareRate,jdbcType=DECIMAL},</if> |
| | | <if test="createTime != null">sgao_create_time=#{createTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="updateTime != null">sgao_update_time=#{updateTime,jdbcType=TIMESTAMP},</if> |
| | | </set> |
| | | where sgao_id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | </mapper> |
New file |
| | |
| | | package com.yeshi.fanli.service.impl.order;
|
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | import com.yeshi.fanli.dao.mybatis.order.ShareGoodsActivityOrderMapper;
|
| | | import com.yeshi.fanli.entity.bus.user.Order;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.order.ShareGoodsActivityOrder;
|
| | | import com.yeshi.fanli.exception.order.ShareGoodsActivityOrderException;
|
| | | import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService;
|
| | |
|
| | | @Service
|
| | | public class ShareGoodsActivityOrderServiceImpl implements ShareGoodsActivityOrderService {
|
| | |
|
| | | @Resource
|
| | | private ShareGoodsActivityOrderMapper shareGoodsActivityOrderMapper;
|
| | |
|
| | | @Override
|
| | | public void addShareGoodsActivityOrder(Long uid, BigDecimal rate, Order order)
|
| | | throws ShareGoodsActivityOrderException {
|
| | | if (uid == null || rate == null || order == null || order.getId() == null)
|
| | | throw new ShareGoodsActivityOrderException(1, "数据不完整");
|
| | |
|
| | | List<ShareGoodsActivityOrder> list = listByOrderIdAndUid(uid, order.getId());
|
| | | if (list != null && list.size() > 0)
|
| | | throw new ShareGoodsActivityOrderException(2, "订单号已存在");
|
| | |
|
| | | ShareGoodsActivityOrder shareOrder = new ShareGoodsActivityOrder();
|
| | | shareOrder.setCreateTime(new Date());
|
| | | shareOrder.setOrder(order);
|
| | | shareOrder.setShareRate(rate);
|
| | | shareOrder.setUser(new UserInfo(uid));
|
| | | shareGoodsActivityOrderMapper.insertSelective(shareOrder);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public long countShareGoodsActivityOrder(Long uid) {
|
| | | return shareGoodsActivityOrderMapper.countShareGoodsActivityOrderByUid(uid);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<ShareGoodsActivityOrder> listByOrderIdAndUid(Long uid, Long orderId) {
|
| | | return shareGoodsActivityOrderMapper.listByOrderIdAndUid(uid, orderId);
|
| | | }
|
| | |
|
| | | }
|
New file |
| | |
| | | package com.yeshi.fanli.service.inter.order;
|
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.util.List;
|
| | |
|
| | | import com.yeshi.fanli.entity.bus.user.Order;
|
| | | import com.yeshi.fanli.entity.order.ShareGoodsActivityOrder;
|
| | | import com.yeshi.fanli.exception.order.ShareGoodsActivityOrderException;
|
| | |
|
| | | /**
|
| | | * 分享活动的订单服务
|
| | | * |
| | | * @author hexiaohui
|
| | | *
|
| | | */
|
| | | public interface ShareGoodsActivityOrderService {
|
| | |
|
| | | /**
|
| | | * 添加分享活动订单
|
| | | * |
| | | * @param uid
|
| | | * @param rate
|
| | | * @param order
|
| | | * @throws ShareGoodsActivityOrderException
|
| | | */
|
| | | public void addShareGoodsActivityOrder(Long uid, BigDecimal rate, Order order)
|
| | | throws ShareGoodsActivityOrderException;
|
| | |
|
| | | /**
|
| | | * 查询用户的分享活动订单
|
| | | * |
| | | * @param uid
|
| | | * @return
|
| | | */
|
| | | public long countShareGoodsActivityOrder(Long uid);
|
| | |
|
| | | /**
|
| | | * 查询分享活动(根据订单号与用户ID)
|
| | | * |
| | | * @param uid
|
| | | * @param orderId
|
| | | * @return
|
| | | */
|
| | | public List<ShareGoodsActivityOrder> listByOrderIdAndUid(Long uid, Long orderId);
|
| | |
|
| | | }
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | public static void getTaoBaoOrder(String appKey, String appSecret) {
|
| | | Map<String, String> map = new HashMap<>();
|
| | | map.put("method", "taobao.tbk.order.get");
|
| | | map.put("fields",
|
| | | "tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk_status,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,relation_id,tb_trade_parent_id,tb_trade_id,num_iid,item_title,item_num,price,pay_price,seller_nick,seller_shop_title,commission,commission_rate,unid,create_time,earning_time,tk3rd_pub_id,tk3rd_site_id,tk3rd_adzone_id,special_id,click_time,relation_id,special_id");
|
| | | map.put("start_time", "2019-01-27 21:23:00");
|
| | | map.put("span", "1200");
|
| | | map.put("tk_status", "1");
|
| | | map.put("order_query_type","create_time");
|
| | | map.put("page_no", 1+"");
|
| | | map.put("page_size", 100+"");
|
| | | |
| | | |
| | | |
| | | |
| | |
|
| | | TaoKeAppInfo app = new TaoKeAppInfo();
|
| | | app.setAppKey(appKey);
|
| | | app.setAppSecret(appSecret);
|
| | | try {
|
| | | JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
|
| | | System.out.println(json.toString());
|
| | | } catch (TaoKeApiException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | // AA5ISJ
|
| | |
|
| | | private static TaoBaoGoodsBrief parseWuLiaoItemFromMaterialId(JSONObject item) {
|