From c84d8ecd97d111b01db9cfd807300d0491a95bc8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 08 一月 2019 16:38:34 +0800 Subject: [PATCH] Merge branch 'dev-hongbao' --- fanli/src/main/java/com/yeshi/fanli/entity/config/ZNXConfig.java | 92 +++++- fanli/src/test/java/org/fanli/TaoKeTest.java | 3 fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java | 87 +++++ fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 72 +++- utils/src/main/java/org/yeshi/utils/HttpUtil.java | 42 +++ fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java | 28 + fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java | 1 fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml | 21 + fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserNotificationServiceImpl.java | 56 +++- fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoMapper.xml | 148 +++++----- fanli/src/main/java/com/yeshi/fanli/dao/mybatis/hongbao/HongBaoMapper.java | 23 fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java | 17 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2Mapper.java | 12 fanli/src/test/java/org/fanli/TBImgTest.java | 3 fanli/src/main/resource/znx_msg.properties | 14 fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserNotificationService.java | 27 + fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 113 ++++--- fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2Mapper.xml | 15 fanli/src/main/resource/druid.properties | 14 fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/HongBaoV2Service.java | 2 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java | 8 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java | 19 + fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java | 20 + 23 files changed, 600 insertions(+), 237 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java index 98456af..5dd306b 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java @@ -2002,6 +2002,7 @@ data.put("goods", goods); data.put("shareUsers", listShareUser); data.put("couponUsers", listCouponUser); + data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id="+id); out.print(JsonUtil.loadTrueResult(data)); diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2Mapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2Mapper.java index 69ff463..1d799bf 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2Mapper.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/HongBaoV2Mapper.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.dao.mybatis; import java.math.BigDecimal; +import java.util.Date; import java.util.List; import org.apache.ibatis.annotations.Param; @@ -107,4 +108,15 @@ List<HongBaoV2> listCanBalanceHongBaoByTypeAndUid(@Param("types") List<Integer> type, @Param("uid") Long uid, @Param("count") int count); + /** + * 鏍规嵁鐢ㄦ埛ID锛岃鍗曠姸鎬佸拰缁撶畻鏃堕棿缁熻閭�璇疯禋鐨勮鍗曟暟閲� + * + * @param uid + * @param minDate + * @param maxDate + * @return + */ + Long countInviteOrderCountByUidAndSettleTime(@Param("uid") Long uid, @Param("state") int state, + @Param("minDate") Date minDate, @Param("maxDate") Date maxDate); + } \ No newline at end of file diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/hongbao/HongBaoMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/hongbao/HongBaoMapper.java index 11b80d5..6214aaf 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/hongbao/HongBaoMapper.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/hongbao/HongBaoMapper.java @@ -255,6 +255,7 @@ /** * 缁熻鐢ㄦ埛绾㈠寘鏁伴噺 + * * @param uid * @param type * @param state @@ -265,24 +266,24 @@ long selectCountByTypeAndStateAndCreateTime(@Param("uid") Long uid, @Param("type") List<Integer> type, @Param("state") List<Integer> state, @Param("minTime") Date minTime, @Param("maxTime") Date maxTime); - /** - * 鏍规嵁娓犻亾 缁熻鏂板鐢ㄦ埛24灏忔椂鍐呬骇鐢熺殑璁㈠崟鏁伴噺 + * 鏍规嵁娓犻亾 缁熻鏂板鐢ㄦ埛24灏忔椂鍐呬骇鐢熺殑璁㈠崟鏁伴噺 + * * @param channel * @return */ - List<Map<String, Object>> count24HOderByChannel(@Param("channel")String channel, - @Param("type")Integer type, @Param("years") String years, - @Param("startTime")String startTime, @Param("endTime")String endTime); + List<Map<String, Object>> count24HOderByChannel(@Param("channel") String channel, @Param("type") Integer type, + @Param("years") String years, @Param("startTime") String startTime, @Param("endTime") String endTime); - /** - * 鏍规嵁娓犻亾 缁熻鍘嗗彶浜х敓鐨勮鍗曟暟閲� + * 鏍规嵁娓犻亾 缁熻鍘嗗彶浜х敓鐨勮鍗曟暟閲� + * * @param channel * @return */ - List<Map<String, Object>> countHistoryOderByChannel(@Param("channel")String channel, - @Param("type")Integer type, @Param("years") String years, - @Param("startTime")String startTime, @Param("endTime")String endTime); - + List<Map<String, Object>> countHistoryOderByChannel(@Param("channel") String channel, @Param("type") Integer type, + @Param("years") String years, @Param("startTime") String startTime, @Param("endTime") String endTime); + + + } \ No newline at end of file diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java index f92fb29..d4cf9b6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java +++ b/fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderMapper.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.dao.mybatis.order; import java.math.BigDecimal; +import java.util.Date; import java.util.List; import java.util.Map; @@ -38,7 +39,6 @@ @Param("orderState") Integer orderState, @Param("orderNo") String orderNo, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day); - /** * 缁熻宸插埌璐﹂噾棰� 浠ュ強璁㈠崟鏁伴噺 * @@ -48,8 +48,21 @@ * @return */ - Map<String, Object> countMoneyGroupOrderNoByUid(@Param("uid") Long uid, @Param("type") Integer type, @Param("orderNo") String orderNo, - @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day); + Map<String, Object> countMoneyGroupOrderNoByUid(@Param("uid") Long uid, @Param("type") Integer type, + @Param("orderNo") String orderNo, @Param("startTime") String startTime, @Param("endTime") String endTime, + @Param("day") Integer day); + + /** + * 鏍规嵁鐢ㄦ埛ID锛岃鍗曠姸鎬佸拰璁㈠崟缁撶畻鏃堕棿缁熻璁㈠崟鐨勬暟閲� + * + * @param uid + * @param state + * @param minDate + * @param maxDate + * @return + */ + long countByUidAndOrderStateWithOrderBalanceTime(@Param("uid")Long uid, @Param("state")int state,@Param("minDate") Date minDate,@Param("maxDate") Date maxDate); + /** * 鏍规嵁璁㈠崟鍙枫�佽鍗曠被鍨嬫煡璇㈠晢鍝� * diff --git a/fanli/src/main/java/com/yeshi/fanli/entity/config/ZNXConfig.java b/fanli/src/main/java/com/yeshi/fanli/entity/config/ZNXConfig.java index 3f48c2e..c1648f8 100644 --- a/fanli/src/main/java/com/yeshi/fanli/entity/config/ZNXConfig.java +++ b/fanli/src/main/java/com/yeshi/fanli/entity/config/ZNXConfig.java @@ -28,6 +28,22 @@ @Map("fanli_order_statisticed_msg") private String fanliOrderStatisticedMsg; + // 鍒嗕韩璁㈠崟琚粺璁� + @Map("share_order_statisticed_title") + private String shareOrderStatisticedTitle; + @Map("share_order_statisticed_push") + private String shareOrderStatisticedPush; + @Map("share_order_statisticed_msg") + private String shareOrderStatisticedMsg; + + // 閭�璇疯鍗曡缁熻 + @Map("invite_order_statisticed_title") + private String inviteOrderStatisticedTitle; + @Map("invite_order_statisticed_push") + private String inviteOrderStatisticedPush; + @Map("invite_order_statisticed_msg") + private String inviteOrderStatisticedMsg; + // 鎻愭垚璁㈠崟琚粺璁� @Map("ticheng_order_statisticed_title") private String tichengOrderStatisticedTitle; @@ -44,15 +60,14 @@ private String inviteMoneyRecievePush; @Map("invite_money_recieve_msg") private String inviteMoneyRecieveMsg; - - //鍒嗕韩璧氬晢涓氭敹鍏ュ埌璐︽彁绀� + + // 鍒嗕韩璧氬晢涓氭敹鍏ュ埌璐︽彁绀� @Map("share_money_recieve_title") private String shareMoneyRecieveTitle; @Map("share_money_recieve_push") private String shareMoneyRecievePush; @Map("share_money_recieve_msg") private String shareMoneyRecieveMsg; - // 鍞悗缁存潈璁㈠崟鎵f鎻愮ず @@ -64,9 +79,8 @@ @Map("weiquan_drawback_fanli_push") private String weiquanDrawbackFanliPush; - - - //閭�璇疯禋缁存潈 + + // 閭�璇疯禋缁存潈 @Map("weiquan_drawback_invite_title") private String weiquanDrawbackInviteTitle; @@ -75,9 +89,8 @@ @Map("weiquan_drawback_invite_push") private String weiquanDrawbackInvitePush; - - - //鍒嗕韩璧氱淮鏉� + + // 鍒嗕韩璧氱淮鏉� @Map("weiquan_drawback_share_title") private String weiquanDrawbackShareTitle; @@ -124,15 +137,13 @@ @Map("extract_success_msg") private String extractSuccessMsg; - - //鏀粯瀹濊处鎴烽獙璇� + + // 鏀粯瀹濊处鎴烽獙璇� @Map("alipay_account_valid_title") private String alipayAccountValidTitle; - + @Map("alipay_account_valid_msg") private String alipayAccountValidMsg; - - public String getInviteMoneyRecieveTitle() { return inviteMoneyRecieveTitle; @@ -294,8 +305,6 @@ this.orderFanliRecieveTitle = orderFanliRecieveTitle; } - - public String getWeiquanDrawbackFanliTitle() { return weiquanDrawbackFanliTitle; } @@ -368,7 +377,6 @@ this.orderFanliRecieveMsg = orderFanliRecieveMsg; } - public String getWeiquanDrawbackFanliMsg() { return weiquanDrawbackFanliMsg; } @@ -392,8 +400,6 @@ public void setExtractApplayPush(String extractApplayPush) { this.extractApplayPush = extractApplayPush; } - - public String getExtractTransferFailPush() { return extractTransferFailPush; @@ -467,4 +473,52 @@ this.weiquanDrawbackSharePush = weiquanDrawbackSharePush; } + public String getShareOrderStatisticedTitle() { + return shareOrderStatisticedTitle; + } + + public void setShareOrderStatisticedTitle(String shareOrderStatisticedTitle) { + this.shareOrderStatisticedTitle = shareOrderStatisticedTitle; + } + + public String getShareOrderStatisticedPush() { + return shareOrderStatisticedPush; + } + + public void setShareOrderStatisticedPush(String shareOrderStatisticedPush) { + this.shareOrderStatisticedPush = shareOrderStatisticedPush; + } + + public String getShareOrderStatisticedMsg() { + return shareOrderStatisticedMsg; + } + + public void setShareOrderStatisticedMsg(String shareOrderStatisticedMsg) { + this.shareOrderStatisticedMsg = shareOrderStatisticedMsg; + } + + public String getInviteOrderStatisticedTitle() { + return inviteOrderStatisticedTitle; + } + + public void setInviteOrderStatisticedTitle(String inviteOrderStatisticedTitle) { + this.inviteOrderStatisticedTitle = inviteOrderStatisticedTitle; + } + + public String getInviteOrderStatisticedPush() { + return inviteOrderStatisticedPush; + } + + public void setInviteOrderStatisticedPush(String inviteOrderStatisticedPush) { + this.inviteOrderStatisticedPush = inviteOrderStatisticedPush; + } + + public String getInviteOrderStatisticedMsg() { + return inviteOrderStatisticedMsg; + } + + public void setInviteOrderStatisticedMsg(String inviteOrderStatisticedMsg) { + this.inviteOrderStatisticedMsg = inviteOrderStatisticedMsg; + } + } diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoMapper.xml index fd18515..994b9d3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoMapper.xml @@ -266,6 +266,7 @@ + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_hongbao where id = #{id,jdbcType=BIGINT} </delete> @@ -555,14 +556,14 @@ <select id="selectCountByTypeAndStateAndCreateTime" resultType="java.lang.Long"> SELECT COUNT(h.`id`) FROM yeshi_ec_hongbao h WHERE uid=#{uid} - <foreach collection="type" item="itemType" open="and (" separator=" or " - close=")"> + <foreach collection="type" item="itemType" open="and (" + separator=" or " close=")"> h.`type`=#{itemType} </foreach> - - - <foreach collection="state" item="itemState" open="and (" separator=" or " - close=")"> + + + <foreach collection="state" item="itemState" open="and (" + separator=" or " close=")"> h.`state`=#{itemState} </foreach> @@ -573,87 +574,92 @@ ]]> #{maxTime}; </select> - + <select id="count24HOderByChannel" resultType="java.util.HashMap"> - SELECT COALESCE(SUM(b.money*2),0) AS 'commision', COALESCE(COUNT(b.id),0) AS'countOrder', - COALESCE(SUM(b.payMoney),0) AS 'payMoney', - <if test="type == 1"> - FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') AS 'createDate' - </if> - <if test="type == 2"> - FROM_UNIXTIME(u.`createtime`/1000,'%m') AS 'createDate' - </if> - <if test="type == 3"> - FROM_UNIXTIME(u.`createtime`/1000,'%Y') AS 'createDate' - </if> - FROM - ( - SELECT h.* FROM yeshi_ec_hongbao h - LEFT JOIN (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active` a - WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a - ON a.uid=h.`uid` WHERE a.uid IS NOT NULL AND (h.`type`=1 OR h.`type`=20) - ) b - LEFT JOIN yeshi_ec_user u ON u.`id`=b.uid - WHERE <![CDATA[b.createtime<u.`createtime`+1000*60*60*24 ]]> - <if test="startTime != null and startTime != '' "> - AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}' - </if> - <if test="endTime != null and endTime != '' "> - AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> '${endTime}' - </if> - <if test="years != null and years != '' "> - AND FROM_UNIXTIME(u.`createtime`/1000,'%Y') = '${years}' - </if> + SELECT COALESCE(SUM(b.money*2),0) AS 'commision', + COALESCE(COUNT(b.id),0) AS'countOrder', + COALESCE(SUM(b.payMoney),0) AS 'payMoney', <if test="type == 1"> - GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') + FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') AS 'createDate' </if> <if test="type == 2"> - GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m') + FROM_UNIXTIME(u.`createtime`/1000,'%m') AS 'createDate' </if> <if test="type == 3"> - GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y') - </if> + FROM_UNIXTIME(u.`createtime`/1000,'%Y') AS 'createDate' + </if> + FROM + ( + SELECT h.* FROM yeshi_ec_hongbao h + LEFT JOIN (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active` a + WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a + ON a.uid=h.`uid` WHERE a.uid IS NOT NULL AND (h.`type`=1 OR h.`type`=20) + ) b + LEFT JOIN yeshi_ec_user u ON u.`id`=b.uid + WHERE <![CDATA[b.createtime<u.`createtime`+1000*60*60*24 ]]> + <if test="startTime != null and startTime != '' "> + AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}' + </if> + <if test="endTime != null and endTime != '' "> + AND FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> + '${endTime}' + </if> + <if test="years != null and years != '' "> + AND FROM_UNIXTIME(u.`createtime`/1000,'%Y') = '${years}' + </if> + <if test="type == 1"> + GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m-%d') + </if> + <if test="type == 2"> + GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y-%m') + </if> + <if test="type == 3"> + GROUP BY FROM_UNIXTIME(u.`createtime`/1000,'%Y') + </if> ORDER BY u.`createtime` </select> - + <select id="countHistoryOderByChannel" resultType="java.util.HashMap"> - - SELECT COALESCE(SUM(h.`money`)*2,0) AS 'commision', COALESCE(COUNT(h.id),0) AS 'countOrder', - COALESCE(SUM(h.payMoney),0) AS 'payMoney', - <if test="type == 1"> - FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') AS 'createDate' - </if> - <if test="type == 2"> - FROM_UNIXTIME(h.`createtime`/1000,'%m') AS 'createDate' - </if> - <if test="type == 3"> - FROM_UNIXTIME(h.`createtime`/1000,'%Y') AS 'createDate' - </if> - FROM yeshi_ec_hongbao h - LEFT JOIN (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active` a - WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a ON h.`uid`=a.uid - WHERE (h.`type`=1 OR h.`type`=20) AND a.uid IS NOT NULL - <if test="startTime != null and startTime != '' "> - AND FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}' - </if> - <if test="endTime != null and endTime != '' "> - AND FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> '${endTime}' - </if> - <if test="years != null and years != '' "> - AND FROM_UNIXTIME(h.`createtime`/1000,'%Y') = '${years}' - </if> + + SELECT COALESCE(SUM(h.`money`)*2,0) AS 'commision', + COALESCE(COUNT(h.id),0) AS 'countOrder', + COALESCE(SUM(h.payMoney),0) AS 'payMoney', <if test="type == 1"> - GROUP BY FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') + FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') AS 'createDate' </if> <if test="type == 2"> - GROUP BY FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m') + FROM_UNIXTIME(h.`createtime`/1000,'%m') AS 'createDate' </if> <if test="type == 3"> - GROUP BY FROM_UNIXTIME(h.`createtime`/1000,'%Y') - </if> + FROM_UNIXTIME(h.`createtime`/1000,'%Y') AS 'createDate' + </if> + FROM yeshi_ec_hongbao h + LEFT JOIN (SELECT a.`lua_uid` AS uid FROM `yeshi_ec_log_user_active` a + WHERE a.`lua_channel`='${channel}' GROUP BY a.`lua_uid`) a ON + h.`uid`=a.uid + WHERE (h.`type`=1 OR h.`type`=20) AND a.uid IS NOT NULL + <if test="startTime != null and startTime != '' "> + AND FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}' + </if> + <if test="endTime != null and endTime != '' "> + AND FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') <![CDATA[ <= ]]> + '${endTime}' + </if> + <if test="years != null and years != '' "> + AND FROM_UNIXTIME(h.`createtime`/1000,'%Y') = '${years}' + </if> + <if test="type == 1"> + GROUP BY FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m-%d') + </if> + <if test="type == 2"> + GROUP BY FROM_UNIXTIME(h.`createtime`/1000,'%Y-%m') + </if> + <if test="type == 3"> + GROUP BY FROM_UNIXTIME(h.`createtime`/1000,'%Y') + </if> ORDER BY h.`createtime` </select> - + </mapper> diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2Mapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2Mapper.xml index e280628..0455912 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2Mapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/hongbao/HongBaoV2Mapper.xml @@ -99,8 +99,7 @@ </select> - <select id="listCanBalanceHongBaoByType" resultMap="BaseResultMap" - parameterType="java.lang.Long"> + <select id="listCanBalanceHongBaoByType" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> FROM yeshi_ec_hongbao_v2 h WHERE h.`hb_version`=2 AND @@ -216,7 +215,7 @@ <select id="listCanBalanceHongBaoByTypeAndUid" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> - from yeshi_ec_hongbao_v2 where hb_uid=#{uid} and `version`=2 + from yeshi_ec_hongbao_v2 where hb_uid=#{uid} and `hb_version`=2 <foreach collection="types" item="type" open=" and (" separator=" or " close=")"> @@ -231,6 +230,16 @@ NOW()>=hb_pre_get_time limit #{count} </select> + + <select id="countInviteOrderCountByUidAndSettleTime" resultType="java.lang.Long"> + SELECT COUNT(h.hb_id) FROM yeshi_ec_hongbao_v2 h LEFT JOIN + yeshi_ec_hongbao_order ho ON h.`hb_pid`=ho.`ho_hongbao_id` LEFT JOIN + yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE + h.`hb_uid`=#{uid} and (h.`hb_type`=6 or h.`hb_type`=7 OR + h.`hb_type`=21 OR h.`hb_type`=22) and co.`co_state`=#{state} and + co.`co_settle_time` is not null and co.`co_settle_time`>=#{minDate} + and #{maxDate}>co.`co_settle_time`; + </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from diff --git a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml index c3c3438..a758c65 100644 --- a/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml +++ b/fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml @@ -31,8 +31,8 @@ <id column="co_order_goods_id" property="id" jdbcType="BIGINT" /> </association> </resultMap> - - + + <resultMap id="BaseDetailResultMap" type="com.yeshi.fanli.entity.order.CommonOrder"> <id column="co_id" property="id" jdbcType="BIGINT" /> <result column="co_order_no" property="orderNo" jdbcType="VARCHAR" /> @@ -57,8 +57,9 @@ <id column="co_uid" property="id" jdbcType="BIGINT" /> </association> - <association property="commonOrderGoods" resultMap="com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper.BaseResultMap"> - + <association property="commonOrderGoods" + resultMap="com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper.BaseResultMap"> + </association> </resultMap> @@ -122,6 +123,14 @@ * from yeshi_ec_common_order where co_order_no=#{orderNo} and co_source_type=#{orderType} and co_order_by=#{orderBy} + </select> + + <select id="countByUidAndOrderStateWithOrderBalanceTime" + resultType="java.lang.Long"> + SELECT COUNT(*) FROM yeshi_ec_common_order co WHERE + co.`co_state`=#{state} and co.`co_uid`=#{uid} and co.`co_settle_time` + is not null and co.`co_settle_time`>=#{minDate} and + #{maxDate}>co.`co_settle_time` </select> @@ -290,7 +299,7 @@ DESC LIMIT ${start},${count} </select> - + <select id="countMoneyGroupOrderNoByUid" resultType="java.util.Map"> SELECT COALESCE(SUM(A.moneys),0)AS totalMoney,COUNT(*) AS totalRow FROM (SELECT COALESCE(SUM(th.`hb_money`),0)AS moneys FROM yeshi_ec_common_order tc @@ -402,7 +411,7 @@ parameterType="java.util.List"> SELECT COALESCE(SUM(tc.`co_settlement`),0)AS totalSettlement,COALESCE(SUM(tc.`co_count`),0)AS - totalCount,tc.`co_source_type`,tc.`co_order_no`,tg.* + totalCount,tc.`co_source_type`,tc.`co_order_no`,tg.*,tc.co_id FROM yeshi_ec_common_order_goods tg LEFT JOIN yeshi_ec_common_order tc ON diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java index 19ed847..c268891 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java @@ -5,7 +5,10 @@ import java.util.Collections; import java.util.Comparator; import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -40,6 +43,7 @@ import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.service.inter.user.UserNotificationService; import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; @@ -348,18 +352,51 @@ @Resource private ThreeSaleSerivce threeSaleSerivce; + @Resource + private UserNotificationService userNotificationService; + @Transactional @Override - public void addHongBao(CommonOrder commonOrder, int type) throws HongBaoException { - if (commonOrder == null || commonOrder.getId() == null || commonOrder.getUserInfo() == null) - throw new HongBaoException(1, "璁㈠崟淇℃伅涓嶅畬鏁�"); - HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId()); - if (hongBaoOrder == null) { - saveHongBao(commonOrder, type); - } else { - updateHongBao(hongBaoOrder, commonOrder, type); - } + public void addHongBao(List<CommonOrder> commonOrderList, int type) throws HongBaoException { + if (commonOrderList != null && commonOrderList.size() > 0) { + Map<Integer, HongBaoV2> notificationMap = new HashMap<>(); + for (CommonOrder commonOrder : commonOrderList) { + if (commonOrder == null || commonOrder.getId() == null || commonOrder.getUserInfo() == null) + throw new HongBaoException(1, "璁㈠崟淇℃伅涓嶅畬鏁�"); + HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId()); + if (hongBaoOrder == null) { + saveHongBao(commonOrder, type, notificationMap); + } else { + updateHongBao(hongBaoOrder, commonOrder, type); + } + } + /** + * 閫氱煡鐢ㄦ埛鐨勮繑鍒╂儏鍐� + */ + Iterator<Integer> its = notificationMap.keySet().iterator(); + while (its.hasNext()) { + Integer t = its.next(); + HongBaoV2 notify = notificationMap.get(t); + String orderId = commonOrderList.get(0).getOrderNo(); + Long uid = notify.getUserInfo().getId(); + BigDecimal money = notify.getMoney(); + switch (t) { + case HongBaoV2.TYPE_ZIGOU: + userNotificationService.orderFanliStatisticed(uid, orderId); + break; + case HongBaoV2.TYPE_SHARE_GOODS: + userNotificationService.orderShareStatisticed(uid, orderId, money); + break; + case HongBaoV2.TYPE_YIJI: + userNotificationService.orderInviteStatisticed(uid, orderId, money); + break; + case HongBaoV2.TYPE_ERJI: + userNotificationService.orderInviteStatisticed(uid, orderId, money); + break; + } + } + } } @Transactional @@ -490,7 +527,8 @@ } @Transactional - private void saveHongBao(CommonOrder commonOrder, int type) throws HongBaoException { + private void saveHongBao(CommonOrder commonOrder, int type, Map<Integer, HongBaoV2> notificationMap) + throws HongBaoException { if (type == HongBaoV2.TYPE_ZIGOU) {// 鑾峰彇鑷喘鐨勮繑鍒╂瘮渚� BigDecimal fanliRate = hongBaoManageService.getFanLiRate(commonOrder.getCreateTime().getTime()); HongBaoV2 hongBao = new HongBaoV2(); @@ -522,6 +560,12 @@ hongBaoOrder.setCreateTime(new Date()); hongBaoOrder.setHongBaoV2(hongBao); hongBaoOrderMapper.insertSelective(hongBaoOrder); + // 鍔犲叆閫氱煡 + if (notificationMap.get(type) == null) + notificationMap.put(type, hongBao); + else { + notificationMap.get(type).setMoney(notificationMap.get(type).getMoney().add(hongBao.getMoney())); + } UserInfo boss = threeSaleSerivce.getBoss(user.getId()); if (boss != null && hongBao.getState() != HongBaoV2.STATE_SHIXIAO) {// 1绾OSS瀛樺湪涓旂孩鍖呮湭澶辨晥 @@ -554,6 +598,13 @@ MoneyBigDecimalUtil.mul(hongBao.getMoney(), firstRate.divide(new BigDecimal(100)))); } hongBaoV2Mapper.insertSelective(firstHongbao); + // 鐢ㄦ埛閫氱煡 + if (notificationMap.get(HongBaoV2.TYPE_YIJI) == null) + notificationMap.put(HongBaoV2.TYPE_YIJI, firstHongbao); + else { + notificationMap.get(HongBaoV2.TYPE_YIJI) + .setMoney(notificationMap.get(HongBaoV2.TYPE_YIJI).getMoney().add(firstHongbao.getMoney())); + } // 鎻掑叆浜岀骇瀛愮孩鍖� boss = threeSaleSerivce.getBoss(boss.getId()); @@ -571,7 +622,7 @@ secondHongbao.setVersion(2); secondHongbao.setState(hongBao.getState()); if (hongBao.getState() == HongBaoV2.STATE_KELINGQU) { - firstHongbao.setMoney( + secondHongbao.setMoney( MoneyBigDecimalUtil.mul(hongBao.getMoney(), secondRate.divide(new BigDecimal(100)))); Calendar calendar = Calendar.getInstance(); calendar.setTime(commonOrder.getSettleTime()); @@ -584,6 +635,14 @@ MoneyBigDecimalUtil.mul(hongBao.getMoney(), secondRate.divide(new BigDecimal(100)))); } hongBaoV2Mapper.insertSelective(secondHongbao); + + // 鐢ㄦ埛閫氱煡 + if (notificationMap.get(HongBaoV2.TYPE_ERJI) == null) + notificationMap.put(HongBaoV2.TYPE_ERJI, secondHongbao); + else { + notificationMap.get(HongBaoV2.TYPE_ERJI).setMoney( + notificationMap.get(HongBaoV2.TYPE_ERJI).getMoney().add(secondHongbao.getMoney())); + } } } @@ -623,6 +682,12 @@ hongBaoOrder.setHongBaoV2(hongBao); hongBaoOrderMapper.insertSelective(hongBaoOrder); + if (notificationMap.get(type) == null) + notificationMap.put(type, hongBao); + else { + notificationMap.get(type).setMoney(notificationMap.get(type).getMoney().add(hongBao.getMoney())); + } + // 淇敼缁熻鏁版嵁 Long goodsId = commonOrder.getCommonOrderGoods().getId(); // 鏌ヨ鍟嗗搧 diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java index 3a5c937..cc4fe93 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java @@ -241,8 +241,8 @@ orderStateContent = "宸茬淮鏉�"; /* 璁㈠崟缁存潈 鍒ゆ柇鏄惁鍏ㄩ儴缁存潈 */ - List<TaoBaoWeiQuanOrder> listWQ = - taoBaoWeiQuanOrderMapper.selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛"); + List<TaoBaoWeiQuanOrder> listWQ = taoBaoWeiQuanOrderMapper + .selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛"); boolean isPart = false;// 榛樿澶辨晥 @@ -362,57 +362,64 @@ @Transactional @Override - public CommonOrder addTaoBaoOrder(TaoBaoOrder taoBaoOrder, Long uid) throws CommonOrderException { - CommonOrder commonOrder = commonOrderMapper.selectByOrderNoAndOrderTypeAndOrderBy(taoBaoOrder.getOrderId(), - Constant.SOURCE_TYPE_TAOBAO, taoBaoOrder.getOrderBy()); - if (commonOrder == null)// 鏂板 - { - commonOrder = TaoBaoOrderUtil.convert(taoBaoOrder); - CommonOrderGoods goods = new CommonOrderGoods(); - goods.setGoodsId(taoBaoOrder.getAuctionId() + ""); - goods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); - // 鍟嗗搧鏄惁宸茬粡鎻掑叆 - List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper - .listByGoodsIdAndGoodsType(goods.getGoodsId(), goods.getGoodsType()); - if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧 + public List<CommonOrder> addTaoBaoOrder(List<TaoBaoOrder> taoBaoOrders, Long uid) throws CommonOrderException { + List<CommonOrder> commonOrderList = new ArrayList<>(); + for (TaoBaoOrder taoBaoOrder : taoBaoOrders) { + CommonOrder commonOrder = commonOrderMapper.selectByOrderNoAndOrderTypeAndOrderBy(taoBaoOrder.getOrderId(), + Constant.SOURCE_TYPE_TAOBAO, taoBaoOrder.getOrderBy()); + if (commonOrder == null)// 鏂板 { - TaoBaoGoodsBrief taoBaoGoods = null; - try { - taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId()); - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } - if (taoBaoGoods != null) { - goods = CommonOrderGoodsFactory.create(taoBaoGoods); - } - goods.setCreateTime(new Date()); - goods.setUpdateTime(new Date()); - commonOrderGoodsMapper.insertSelective(goods); - } else - goods.setId(commonGoodsList.get(commonGoodsList.size() - 1).getId()); - commonOrder.setCommonOrderGoods(goods); - commonOrder.setUserInfo(new UserInfo(uid)); - commonOrder.setCreateTime(new Date()); - commonOrderMapper.insertSelective(commonOrder); - + commonOrder = TaoBaoOrderUtil.convert(taoBaoOrder); + CommonOrderGoods goods = new CommonOrderGoods(); + goods.setGoodsId(taoBaoOrder.getAuctionId() + ""); + goods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); + // 鍟嗗搧鏄惁宸茬粡鎻掑叆 + List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper + .listByGoodsIdAndGoodsType(goods.getGoodsId(), goods.getGoodsType()); + if (commonGoodsList.size() <= 0)// 涓嶅瓨鍦ㄥ氨鎻掑叆鍟嗗搧 + { + TaoBaoGoodsBrief taoBaoGoods = null; + try { + taoBaoGoods = TaoKeApiUtil.getSimpleGoodsInfo(taoBaoOrder.getAuctionId()); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + if (taoBaoGoods != null) { + goods = CommonOrderGoodsFactory.create(taoBaoGoods); + } + goods.setCreateTime(new Date()); + goods.setUpdateTime(new Date()); + commonOrderGoodsMapper.insertSelective(goods); + } else + goods.setId(commonGoodsList.get(commonGoodsList.size() - 1).getId()); + commonOrder.setCommonOrderGoods(goods); + commonOrder.setUserInfo(new UserInfo(uid)); + commonOrder.setCreateTime(new Date()); + commonOrderMapper.insertSelective(commonOrder); - return commonOrder; - } else {// 淇敼 - // 宸茬粡缁撶畻鎴栬�呭凡缁忓け鏁堢殑璁㈠崟涓嶅鐞� - if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_SX) - return commonOrder; - CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder); - CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId()); - updateCommonOrder.seteIncome(newCommonOrder.geteIncome()); - updateCommonOrder.setEstimate(newCommonOrder.getEstimate()); - updateCommonOrder.setPayment(newCommonOrder.getPayment()); - updateCommonOrder.setSettlement(newCommonOrder.getSettlement()); - updateCommonOrder.setSettleTime(newCommonOrder.getSettleTime()); - updateCommonOrder.setState(newCommonOrder.getState()); - updateCommonOrder.setUpdateTime(new Date()); - commonOrderMapper.updateByPrimaryKeySelective(updateCommonOrder); - return commonOrderMapper.selectByPrimaryKey(updateCommonOrder.getId()); + commonOrderList.add(commonOrder); + continue; + } else {// 淇敼 + // 宸茬粡缁撶畻鎴栬�呭凡缁忓け鏁堢殑璁㈠崟涓嶅鐞� + if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_SX) { + commonOrderList.add(commonOrder); + continue; + } + CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder); + CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId()); + updateCommonOrder.seteIncome(newCommonOrder.geteIncome()); + updateCommonOrder.setEstimate(newCommonOrder.getEstimate()); + updateCommonOrder.setPayment(newCommonOrder.getPayment()); + updateCommonOrder.setSettlement(newCommonOrder.getSettlement()); + updateCommonOrder.setSettleTime(newCommonOrder.getSettleTime()); + updateCommonOrder.setState(newCommonOrder.getState()); + updateCommonOrder.setUpdateTime(new Date()); + commonOrderMapper.updateByPrimaryKeySelective(updateCommonOrder); + commonOrderList.add(commonOrderMapper.selectByPrimaryKey(updateCommonOrder.getId())); + continue; + } } + return commonOrderList; } @Override @@ -420,4 +427,10 @@ String endTime, Integer day) { return commonOrderMapper.countMoneyGroupOrderNoByUid(uid, type, orderNo, startTime, endTime, day); } + + @Override + public long countByUidAndOrderStateWithOrderBalanceTime(Long uid, int state, Date minDate, Date maxDate) { + + return commonOrderMapper.countByUidAndOrderStateWithOrderBalanceTime(uid, state, minDate, maxDate); + } } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java index 90402ea..8e712c0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java @@ -2,6 +2,7 @@ import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -758,6 +759,7 @@ updateHongBao.setId(hongBao.getId()); updateHongBao.setGetTime(new Date()); updateHongBao.setState(HongBaoV2.STATE_YILINGQU); + updateHongBao.setUpdateTime(new Date()); hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao); // 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚� hbIdList.add(hongBao.getId()); @@ -799,6 +801,7 @@ updateHongBao.setId(hb.getId()); updateHongBao.setGetTime(new Date()); updateHongBao.setState(HongBaoV2.STATE_YILINGQU); + updateHongBao.setUpdateTime(new Date()); hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao); // 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚� hbIdList.add(hb.getId()); @@ -819,8 +822,23 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, 0, 0, 0, invitemoney, - new Date()); + // 鏌ヨ閭�璇疯禋鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗� + Calendar ca = Calendar.getInstance(); + Date maxDate = new Date(TimeUtil + .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); + ca.add(Calendar.MONTH, -1); + + Date minDate = new Date(TimeUtil + .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); + long validCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS, + minDate, maxDate); + long weiQuanCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ, + minDate, maxDate); + long invalidCount = hongBaoV2Mapper.countInviteOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_SX, + minDate, maxDate); + + UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createInvite(uid, (int) validCount, + (int) weiQuanCount, (int) invalidCount, invitemoney, new Date()); userMoneyDetail.setId(accountDetails.getId()); userMoneyDetailMapper.insert(userMoneyDetail); } catch (UserMoneyDetailException e) { @@ -869,6 +887,7 @@ updateHongBao.setId(hongBao.getId()); updateHongBao.setGetTime(new Date()); updateHongBao.setState(HongBao.STATE_YILINGQU); + updateHongBao.setUpdateTime(new Date()); hongBaoV2Mapper.updateByPrimaryKeySelective(updateHongBao); // 娣诲姞鍒扮孩鍖呰繑鍒╄褰曢泦鍚� hbIdList.add(hongBao.getId()); @@ -897,8 +916,24 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, 0, 0, 0, sharemoney, - new Date()); + // 璁$畻鏈湀鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗� + Calendar ca = Calendar.getInstance(); + + Date maxDate = new Date(TimeUtil + .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); + ca.add(Calendar.MONTH, -1); + + Date minDate = new Date(TimeUtil + .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); + long validCount = commonOrderService.countByUidAndOrderStateWithOrderBalanceTime(uid, + CommonOrder.STATE_JS, minDate, maxDate); + long weiQuanCount = commonOrderService.countByUidAndOrderStateWithOrderBalanceTime(uid, + CommonOrder.STATE_WQ, minDate, maxDate); + long invalidCount = commonOrderService.countByUidAndOrderStateWithOrderBalanceTime(uid, + CommonOrder.STATE_SX, minDate, maxDate); + + UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, (int) validCount, + (int) weiQuanCount, (int) invalidCount, sharemoney, new Date()); userMoneyDetail.setId(accountDetails.getId()); userMoneyDetailMapper.insert(userMoneyDetail); } catch (UserMoneyDetailException e) { @@ -998,13 +1033,14 @@ orderMapper.updateByPrimaryKeySelective(updateOrder); // 鐢ㄧ涓�涓瓙璁㈠崟閿佸畾鐢ㄦ埛 - for (TaoBaoOrder taoBaoOrder : orderList) { + List<CommonOrder> commonOrderList = null; + try { + commonOrderList = commonOrderService.addTaoBaoOrder(orderList, uid); + hongBaoV2Service.addHongBao(commonOrderList, HongBaoV2.TYPE_ZIGOU); + } catch (CommonOrderException e) { try { - CommonOrder commonOrder = commonOrderService.addTaoBaoOrder(taoBaoOrder, uid); - hongBaoV2Service.addHongBao(commonOrder, HongBaoV2.TYPE_ZIGOU); - } catch (CommonOrderException e) { - e.printStackTrace(); - } catch (HongBaoException e1) { + LogHelper.errorDetailInfo(e, null, "璁㈠崟鍙�:" + orderId); + } catch (Exception e1) { e1.printStackTrace(); } } @@ -1028,15 +1064,13 @@ return; // 鐢ㄧ涓�涓瓙璁㈠崟閿佸畾鐢ㄦ埛 - for (TaoBaoOrder taoBaoOrder : orderList) { - try { - CommonOrder commonOrder = commonOrderService.addTaoBaoOrder(taoBaoOrder, uid); - hongBaoV2Service.addHongBao(commonOrder, HongBaoV2.TYPE_SHARE_GOODS); - } catch (CommonOrderException e) { - e.printStackTrace(); - } catch (HongBaoException e1) { - e1.printStackTrace(); - } + try { + List<CommonOrder> commonOrders = commonOrderService.addTaoBaoOrder(orderList, uid); + hongBaoV2Service.addHongBao(commonOrders, HongBaoV2.TYPE_SHARE_GOODS); + } catch (CommonOrderException e) { + e.printStackTrace(); + } catch (HongBaoException e1) { + e1.printStackTrace(); } } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java index 945f3a3..ecd5b44 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java @@ -25,6 +25,7 @@ import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.money.UserMoneyDetail; +import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack; @@ -108,14 +109,22 @@ List<HongBaoV2> mainHongBaoList = new ArrayList<>(); if (commonOrderList != null) for (CommonOrderVO vo : commonOrderList) { + // 淇敼璁㈠崟鐘舵�佷负缁存潈 + CommonOrder co = new CommonOrder(vo.getId()); + co.setState(CommonOrder.STATE_WQ); + co.setUpdateTime(new Date()); + commonOrderMapper.updateByPrimaryKeySelective(co); + HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(vo.getId()); mainHongBaoList.add(hongBaoOrder.getHongBaoV2()); } if (mainHongBaoList == null || mainHongBaoList.size() == 0) return; for (int i = 0; i < mainHongBaoList.size(); i++) { + HongBaoV2 hb = hongBaoV2Mapper.selectByPrimaryKey(mainHongBaoList.get(i).getId()); + mainHongBaoList.set(i, hb); // 鍙鐞嗚繑鍒╄鍗� - if (mainHongBaoList.get(i).getType() != HongBaoV2.TYPE_ZIGOU) { + if (hb.getType() != HongBaoV2.TYPE_ZIGOU) { mainHongBaoList.remove(i); i--; } @@ -222,6 +231,12 @@ List<HongBaoV2> mainHongBaoList = new ArrayList<>(); if (commonOrderList != null) for (CommonOrderVO vo : commonOrderList) { + // 鏇存敼璁㈠崟鐘舵�� + CommonOrder co = new CommonOrder(vo.getId()); + co.setState(CommonOrder.STATE_WQ); + co.setUpdateTime(new Date()); + commonOrderMapper.updateByPrimaryKeySelective(co); + HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(vo.getId()); mainHongBaoList.add(hongBaoOrder.getHongBaoV2()); } @@ -344,6 +359,14 @@ List<HongBaoV2> mainHongBaoList = new ArrayList<>(); if (commonOrderList != null) for (CommonOrderVO vo : commonOrderList) { + CommonOrder co = commonOrderMapper.selectByPrimaryKey(vo.getId()); + if (co.getState() != CommonOrder.STATE_WQ) { + co = new CommonOrder(vo.getId()); + co.setState(CommonOrder.STATE_WQ); + co.setUpdateTime(new Date()); + commonOrderMapper.updateByPrimaryKeySelective(co); + } + HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(vo.getId()); mainHongBaoList.add(hongBaoOrder.getHongBaoV2()); } @@ -355,6 +378,9 @@ if (mainHongBaoList != null) for (HongBaoV2 hongBao : mainHongBaoList) { + HongBaoV2 hb = hongBaoV2Mapper.selectByPrimaryKey(hongBao.getId()); + hongBao = hb; + if (hongBao.getState() == HongBaoV2.STATE_SHIXIAO) continue; // 杩斿埄绾㈠寘涓嶈鍏� diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserNotificationServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserNotificationServiceImpl.java index b788e80..5904c41 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserNotificationServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserNotificationServiceImpl.java @@ -35,7 +35,7 @@ @Override public void newerHongBao(Long uid, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getNewerHongbaoTitle(), @@ -47,7 +47,7 @@ @Override public void orderFanliRecieved(Long uid, String orderId, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getOrderFanliRecieveTitle(), Constant.znxConfig @@ -59,7 +59,7 @@ @Override public void tiChengRecieved(Long uid, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getShareMoneyRecieveTitle(), @@ -71,7 +71,7 @@ @Override public void orderFanliStatisticed(Long uid, String orderId) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getFanliOrderStatisticedTitle(), @@ -83,7 +83,7 @@ @Override public void tiChengStatisticed(Long uid, String orderId, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; orderId = orderId.substring(0, orderId.length() - 6) + "******"; try { @@ -96,7 +96,7 @@ @Override public void weiQuanFanli(Long uid, String orderId, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; // 鍙彂閫佺珯鍐呬俊 AccountMessage am = new AccountMessage(); @@ -111,7 +111,7 @@ @Override public void weiQuanTiCheng(Long uid, String orderId, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; orderId = orderId.substring(0, orderId.length() - 6) + "******"; AccountMessage am = new AccountMessage(); @@ -126,7 +126,7 @@ @Override public void extractApply(Long uid) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getExtractApplayTitle(), @@ -138,7 +138,7 @@ @Override public void extractTransferFail(Long uid, String time) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getExtractTransferFailTitle(), @@ -150,7 +150,7 @@ @Override public void extractWrong(Long uid, Extract extract, String time) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; // 鎻愮幇澶辫触鐭俊閫氱煡 // try { @@ -177,7 +177,7 @@ @Override public void extractSuccess(Long uid, Extract extract, String time) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; // 鎻愮幇鎴愬姛鐭俊閫氱煡 // try { @@ -205,7 +205,7 @@ @Override public void alipayAccountValidRight(Long uid, BigDecimal money, String account) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; BindingAccount ba = new BindingAccount(); ba.setAccount(account); @@ -223,7 +223,7 @@ @Override public void tiChengInviteRecieved(Long uid, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getInviteMoneyRecieveTitle(), @@ -236,7 +236,7 @@ @Override public void tiChengShareRecieved(Long uid, BigDecimal money) { - if(Constant.IS_TEST) + if (Constant.IS_TEST) return; try { pushService.pushZNX(uid, Constant.znxConfig.getShareMoneyRecieveTitle(), @@ -247,4 +247,32 @@ } + @Override + public void orderShareStatisticed(Long uid, String orderId, BigDecimal money) { + if (Constant.IS_TEST) + return; + orderId = orderId.substring(0, orderId.length() - 6) + "******"; + try { + pushService.pushZNX(uid, Constant.znxConfig.getShareOrderStatisticedMsg(), Constant.znxConfig + .getShareOrderStatisticedMsg().replace("[璁㈠崟鍙穄", orderId).replace("[閲戦]", money.toString())); + } catch (PushException e) { + e.printStackTrace(); + } + + } + + @Override + public void orderInviteStatisticed(Long uid, String orderId, BigDecimal money) { + if (Constant.IS_TEST) + return; + orderId = orderId.substring(0, orderId.length() - 6) + "******"; + try { + pushService.pushZNX(uid, Constant.znxConfig.getInviteOrderStatisticedTitle(), Constant.znxConfig + .getInviteOrderStatisticedMsg().replace("[璁㈠崟鍙穄", orderId).replace("[閲戦]", money.toString())); + } catch (PushException e) { + e.printStackTrace(); + } + + } + } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/HongBaoV2Service.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/HongBaoV2Service.java index f018b86..1fbbb48 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/HongBaoV2Service.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/hongbao/HongBaoV2Service.java @@ -32,7 +32,7 @@ * 绫诲瀷 * @throws HongBaoException */ - public void addHongBao(CommonOrder commonOrder, int type) throws HongBaoException; + public void addHongBao(List<CommonOrder> commonOrder, int type) throws HongBaoException; /** * 灏嗚�佺増鏈殑绾㈠寘瀵硅薄杞负鏂扮増鏈殑瀵硅薄 diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java index 4312b76..87f1f97 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderService.java @@ -1,8 +1,11 @@ package com.yeshi.fanli.service.inter.order; import java.math.BigDecimal; +import java.util.Date; import java.util.List; import java.util.Map; + +import org.apache.ibatis.annotations.Param; import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; @@ -125,10 +128,11 @@ * @param uid * @return */ - public CommonOrder addTaoBaoOrder(TaoBaoOrder taoBaoOrder, Long uid) throws CommonOrderException; - + public List<CommonOrder> addTaoBaoOrder(List<TaoBaoOrder> taoBaoOrder, Long uid) throws CommonOrderException; + /** * 鏍规嵁鎻愭潯浠剁粺璁″凡鍒拌处閲戦 + * * @param uid * @param type * @param orderNo @@ -137,7 +141,17 @@ * @param day * @return */ - public Map<String, Object> countMoneyGroupOrderNoByUid(Long uid, Integer type, String orderNo, String startTime, + public Map<String, Object> countMoneyGroupOrderNoByUid(Long uid, Integer type, String orderNo, String startTime, String endTime, Integer day); + /** + * 鏍规嵁鐢ㄦ埛ID锛岃鍗曠姸鎬侊紝缁撶畻鏃堕棿缁熻璁㈠崟鏁伴噺 + * @param uid + * @param state + * @param minDate + * @param maxDate + * @return + */ + long countByUidAndOrderStateWithOrderBalanceTime(Long uid, int state, Date minDate, Date maxDate); + } diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserNotificationService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserNotificationService.java index be1d63a..518be36 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserNotificationService.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserNotificationService.java @@ -36,23 +36,22 @@ * @param money */ public void tiChengRecieved(Long uid, BigDecimal money); - - + /** * 閭�璇锋彁鎴愬埌璐� + * * @param uid * @param money */ public void tiChengInviteRecieved(Long uid, BigDecimal money); - - + /** * 鍒嗕韩鎻愭垚鍒拌处 + * * @param uid * @param money */ public void tiChengShareRecieved(Long uid, BigDecimal money); - /** * 璁㈠崟琚粺璁� @@ -72,6 +71,24 @@ public void tiChengStatisticed(Long uid, String orderId, BigDecimal money); /** + * 鍒嗕韩璁㈠崟琚粺璁� + * + * @param uid + * @param orderId + * @param money + */ + public void orderShareStatisticed(Long uid, String orderId, BigDecimal money); + + /** + * 閭�璇疯鍗曡缁熻 + * + * @param uid + * @param orderId + * @param money + */ + public void orderInviteStatisticed(Long uid, String orderId, BigDecimal money); + + /** * 缁存潈杩斿埄璁㈠崟鎵f * * @param uid diff --git a/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java b/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java index bcdcece..600238f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/CMQManager.java @@ -50,6 +50,17 @@ public static String GOODS_UPDATE = "goods_update_queue"; static { + + if (Constant.IS_TEST) { + QUEUENAME_ORDER = "test-" + QUEUENAME_ORDER; + EXTRACT_RESULT = "test-" + EXTRACT_RESULT; + PUSH_IOS = "test-" + PUSH_IOS; + FANLI_ORDER = "test-" + FANLI_ORDER; + FANLI_ORDER_NEW = "test-" + FANLI_ORDER_NEW; + FANLI_TICHENG_ORDER = "test-" + FANLI_TICHENG_ORDER; + ORDER_WEIQUAN = "test-" + ORDER_WEIQUAN; + } + QUEUENAME_ORDER += "-" + Constant.systemCommonConfig.getProjectName(); EXTRACT_RESULT += "-" + Constant.systemCommonConfig.getProjectName(); PUSH_IOS += "-" + Constant.systemCommonConfig.getProjectName(); @@ -194,8 +205,7 @@ } return map; } - - + public Map<String, HongBaoV2> consumeFanLiMsgNew(int count) { List<Message> list = cmqUtil.recieveMsg(count, FANLI_ORDER_NEW); Map<String, HongBaoV2> map = new HashMap<>(); @@ -209,12 +219,11 @@ } return map; } - public void deleteFanLiMsg(String receiptHandle) { cmqUtil.deleteMsg(FANLI_ORDER, receiptHandle); } - + public void deleteFanLiMsgNew(String receiptHandle) { cmqUtil.deleteMsg(FANLI_ORDER_NEW, receiptHandle); } diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java index 3710772..9d4eeb6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java @@ -1600,9 +1600,7 @@ "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"); headers.put("Referer", "https://detail.tmall.com/item.htm?id=" + auctionId); String url = String.format("https://hws.m.taobao.com/cache/desc/5.0?id=" + auctionId); - LogHelper.test("浠g悊IP:" + ip.getIp() + ":" + ip.getPort()); String result = HttpUtil.get(url, headers, ip); - LogHelper.test("杩斿洖鍐呭:" + result); if (!StringUtil.isNullOrEmpty(result)) { JSONObject data = JSONObject.fromObject(result); @@ -1612,7 +1610,7 @@ for (int i = 0; i < array.size(); i++) { String itemStr = array.optString(i).replace("<img", "<a").replace("</img>", "<a>"); html += itemStr; - } + } Document doc = Jsoup.parse(html); Elements items = doc.getElementsByTag("a"); for (int i = 0; i < items.size(); i++) { @@ -1630,8 +1628,8 @@ img.setPicture("http:" + item.ownText().trim()); if (img != null && img.getPicture() != null && img.getPicture().endsWith(".jpg")) imgList.add(img); - } - + } + } } diff --git a/fanli/src/main/resource/druid.properties b/fanli/src/main/resource/druid.properties index c5e5b71..d453ca0 100644 --- a/fanli/src/main/resource/druid.properties +++ b/fanli/src/main/resource/druid.properties @@ -1,8 +1,8 @@ druid.driverClassName=com.mysql.jdbc.Driver #鏈湴娴嬭瘯 -#druid.url=jdbc:mysql://192.168.1.122:3306/ec_quan -#druid.username=root -#druid.password=hexiaohui +druid.url=jdbc:mysql://192.168.1.122:3306/ec_quan +druid.username=root +druid.password=hexiaohui #druid.url=jdbc:mysql://192.168.1.253:3306/ec_quan @@ -22,12 +22,12 @@ #澶栫綉姝e紡 -druid.url=jdbc:mysql://172.16.16.17:3306/ec_quan -druid.username=root -druid.password=Yeshi2016@ +#druid.url=jdbc:mysql://172.16.16.17:3306/ec_quan +#druid.username=root +#druid.password=Yeshi2016@ #澶栫綉鏈湴娴嬭瘯 -#druid.url=jdbc:mysql://gz-cdb-r13d0yi9.sql.tencentcdb.com:62929/ec_quan_test +#druid.url=jdbc:mysql://gz-cdb-r13d0yi9.sql.tencentcdb.com:62929/ec_quan #druid.username=root #druid.password=Yeshi2016@ diff --git a/fanli/src/main/resource/znx_msg.properties b/fanli/src/main/resource/znx_msg.properties index 0cf05eb..3234ca7 100644 --- a/fanli/src/main/resource/znx_msg.properties +++ b/fanli/src/main/resource/znx_msg.properties @@ -19,7 +19,19 @@ #鎻愭垚璁㈠崟琚粺璁� ticheng_order_statisticed_title=濂栭噾璁㈠崟宸茶缁熻 ticheng_order_statisticed_push=鎮ㄦ湁涓�涓柊鐨勫閲戣鍗曘�愯鍗曞彿锛歔璁㈠崟鍙穄銆� 锛屾潵鑷簬浣犵殑鍒嗕韩濂栭噾璁㈠崟鎴栬�呴個璇峰閲戣鍗曪紝棰勪及濂栭噾锛� 楼[閲戦]鍏冿紙娉細璁㈠崟閫�娆惧悗鍒欒璁㈠崟澶辨晥锛屾病鏈夊閲戯級 -ticheng_order_statisticed_msg=鎮ㄦ湁涓�涓柊鐨勫閲戣鍗曘�愯鍗曞彿锛歔璁㈠崟鍙穄銆� 锛屾潵鑷簬浣犵殑鍒嗕韩濂栭噾鎴栬�呴個璇峰閲戯紝棰勪及濂栭噾锛� 楼[閲戦]鍏冿紙娉細璁㈠崟閫�娆惧悗鍒欒璁㈠崟澶辨晥锛屾病鏈夊閲戯級 +ticheng_order_statisticed_msg=鎮ㄦ湁涓�涓柊鐨勫閲戣鍗曘�愯鍗曞彿锛歔璁㈠崟鍙穄銆� 锛屾潵鑷簬浣犵殑鍒嗕韩濂栭噾鎴栬�呴個璇峰閲戣鍗曪紝棰勪及濂栭噾锛� 楼[閲戦]鍏冿紙娉細璁㈠崟閫�娆惧悗鍒欒璁㈠崟澶辨晥锛屾病鏈夊閲戯級 + +#鍒嗕韩璧氳缁熻 +share_order_statisticed_title=鍒嗕韩璁㈠崟宸茶缁熻 +share_order_statisticed_push=鎮ㄦ湁涓�涓柊鐨勫垎浜鍗曘�愯鍗曞彿锛歔璁㈠崟鍙穄銆� 锛屾潵鑷簬浣犵殑鍒嗕韩濂栭噾璁㈠崟锛岄浼板閲戯細 楼[閲戦]鍏冿紙娉細璁㈠崟閫�娆惧悗鍒欒璁㈠崟澶辨晥锛屾病鏈夊閲戯級 +share_order_statisticed_msg=鎮ㄦ湁涓�涓柊鐨勫垎浜鍗曘�愯鍗曞彿锛歔璁㈠崟鍙穄銆� 锛屾潵鑷簬浣犵殑鍒嗕韩濂栭噾璁㈠崟锛岄浼板閲戯細 楼[閲戦]鍏冿紙娉細璁㈠崟閫�娆惧悗鍒欒璁㈠崟澶辨晥锛屾病鏈夊閲戯級 + +#閭�璇疯禋琚粺璁� +invite_order_statisticed_title=閭�璇疯鍗曞凡琚粺璁� +invite_order_statisticed_push=鎮ㄦ湁涓�涓柊鐨勯個璇疯鍗曘�愯鍗曞彿锛歔璁㈠崟鍙穄銆� 锛屾潵鑷簬浣犵殑閭�璇峰閲戣鍗曪紝棰勪及濂栭噾锛� 楼[閲戦]鍏冿紙娉細璁㈠崟閫�娆惧悗鍒欒璁㈠崟澶辨晥锛屾病鏈夊閲戯級 +invite_order_statisticed_msg=鎮ㄦ湁涓�涓柊鐨勯個璇疯鍗曘�愯鍗曞彿锛歔璁㈠崟鍙穄銆� 锛屾潵鑷簬浣犵殑閭�璇峰閲戣鍗曪紝棰勪及濂栭噾锛� 楼[閲戦]鍏冿紙娉細璁㈠崟閫�娆惧悗鍒欒璁㈠崟澶辨晥锛屾病鏈夊閲戯級 + + diff --git a/fanli/src/test/java/org/fanli/TBImgTest.java b/fanli/src/test/java/org/fanli/TBImgTest.java index cb09a00..cd03d51 100644 --- a/fanli/src/test/java/org/fanli/TBImgTest.java +++ b/fanli/src/test/java/org/fanli/TBImgTest.java @@ -4,6 +4,7 @@ import org.junit.Ignore; import org.junit.Test; +import org.yeshi.utils.entity.ProxyIP; import com.yeshi.fanli.entity.common.ImageInfo; import com.yeshi.fanli.util.taobao.TaoBaoUtil; @@ -13,7 +14,7 @@ @Test public void test1() { - List<ImageInfo> list = TaoBaoUtil.getTBDetailImageWithSize(565204406588L); + List<ImageInfo> list = TaoBaoUtil.getTBDetailImageWithSizev2(565204406588L,new ProxyIP("175.25.184.247", 23128)); for (ImageInfo info : list) System.out.println(info.getPicture()); } diff --git a/fanli/src/test/java/org/fanli/TaoKeTest.java b/fanli/src/test/java/org/fanli/TaoKeTest.java index 2ac6799..7c9b1ce 100644 --- a/fanli/src/test/java/org/fanli/TaoKeTest.java +++ b/fanli/src/test/java/org/fanli/TaoKeTest.java @@ -17,11 +17,10 @@ import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService; import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService; import com.yeshi.fanli.util.BeanUtil; -import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; -//@Ignore +@Ignore public class TaoKeTest { @Test diff --git a/utils/src/main/java/org/yeshi/utils/HttpUtil.java b/utils/src/main/java/org/yeshi/utils/HttpUtil.java index 8f60fd8..491f9f9 100644 --- a/utils/src/main/java/org/yeshi/utils/HttpUtil.java +++ b/utils/src/main/java/org/yeshi/utils/HttpUtil.java @@ -9,7 +9,9 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; import java.util.Map; import org.apache.commons.httpclient.Header; @@ -24,6 +26,18 @@ import org.apache.commons.httpclient.methods.multipart.Part; import org.apache.commons.httpclient.methods.multipart.StringPart; import org.apache.commons.io.FileUtils; +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.yeshi.utils.entity.ProxyIP; import net.sf.json.JSONArray; @@ -100,6 +114,7 @@ HttpClient client = new HttpClient(); if (ipInfo != null) client.getHostConfiguration().setProxy(ipInfo.getIp(), ipInfo.getPort()); + client.getHttpConnectionManager().getParams().setConnectionTimeout(5000); try { GetMethod method = new GetMethod(url); if (headers != null) { @@ -119,6 +134,33 @@ return ""; } + public static String get(String url, Map<String, String> headers, ProxyIP ipInfo, String userName, + String proxyPwd) { + CloseableHttpClient httpclient = null; + if (!StringUtil.isNullOrEmpty(userName)) { + CredentialsProvider credsProvider = new BasicCredentialsProvider(); + credsProvider.setCredentials(new AuthScope(ipInfo.getIp(), ipInfo.getPort()), + new UsernamePasswordCredentials(userName, proxyPwd)); + httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build(); + } else + HttpClients.createDefault(); + HttpHost proxy = null; + if (ipInfo.getPort() != 0 && ipInfo.getPort() != 80) { + proxy = new HttpHost(ipInfo.getIp(), ipInfo.getPort()); + } else + proxy = new HttpHost(ipInfo.getIp()); + RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); + HttpPost post = new HttpPost(url); + try { + post.setConfig(config); + CloseableHttpResponse response = httpclient.execute(post); + return EntityUtils.toString(response.getEntity()); + } catch (Exception e) { + return null; + } + + } + public static String getAsString(String url, String fromCharset, String toCharset) { HttpClient client = new HttpClient(); GetMethod method = new GetMethod(url); -- Gitblit v1.8.0