fanli/libs/osp-sdk-1.0.jarBinary files differ
fanli/libs/vop-sdk-1.0.jarBinary files differ
fanli/pom.xml
@@ -134,24 +134,6 @@ <scope>system</scope> <systemPath>${basedir}/libs/vpush-server-sdk-2.0.jar</systemPath> </dependency> <!-- 唯品会 --> <dependency> <groupId>vop-sdk</groupId> <artifactId>vop-sdk</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/libs/vop-sdk-1.0.jar</systemPath> </dependency> <dependency> <groupId>osp-sdk</groupId> <artifactId>osp-sdk</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/libs/osp-sdk-1.0.jar</systemPath> </dependency> </dependencies> fanli/src/main/java/com/yeshi/fanli/controller/admin/ExtractAdminController.java
@@ -50,6 +50,7 @@ import com.yeshi.fanli.service.inter.money.extract.ExtractAuditRecordService; import com.yeshi.fanli.service.inter.money.extract.ExtractCountService; import com.yeshi.fanli.service.inter.money.extract.ExtractService; import com.yeshi.fanli.service.inter.order.CommonOrderCountService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService; import com.yeshi.fanli.service.inter.push.PushRecordService; @@ -102,10 +103,12 @@ @Resource private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService; @Resource private UserInfoExtraService userInfoExtraService; @Resource private CommonOrderCountService commonOrderCountService; /** * @@ -397,6 +400,11 @@ if (adminUser == null) { record.setAdminUser(new AdminUser()); } // 查询用户备注信息 UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(record.getExtract().getUserInfo().getId()); if (extra != null) { record.getExtract().getUserInfo().setStateDesc(extra.getMark()); } int warnLevel = 0; Extract extract = record.getExtract(); @@ -436,7 +444,26 @@ } record.setExtraInfoStr(desc.toString()); } if (warnLevel == 0) { // 查询同店铺商品,同商品订单超过一定数量的 List<Integer> typeList = new ArrayList<>(); typeList.add(HongBaoV2.TYPE_ZIGOU); long sameGoodsOrderCount = commonOrderCountService.countSameGoodsOrderByUidAndHongBaoType(typeList, record.getExtract().getUserInfo().getId(), Integer.parseInt(configService.get("admin_min_same_goods_order_count"))); long sameShopOrderCount = commonOrderCountService.countSameShopOrderByUidAndHongBaoType(typeList, record.getExtract().getUserInfo().getId(), Integer.parseInt(configService.get("admin_min_same_shop_order_count"))); if (sameGoodsOrderCount > 0 || sameShopOrderCount > 0) { warnLevel = 3; record.setExtraInfoStr( String.format("同店铺:%s 同商品:%s", sameShopOrderCount, sameGoodsOrderCount)); } } record.setWarnLevel(warnLevel); } int count = extractAuditRecordService.getMyAuditedTimeSlotCount(key, state, null, days); @@ -446,7 +473,7 @@ GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.serializeNulls(); gsonBuilder.setDateFormat("yyyy-MM-dd HH:mm:ss"); Gson gson = gsonBuilder.create(); JSONObject data = new JSONObject(); @@ -560,14 +587,14 @@ } else { surplusTime = DateUtil.dateDiff(formattodayTime, formatTime); } String mark = ""; UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(extract.getUserInfo().getId()); if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getMark())) { mark = "警惕!! " + userInfoExtra.getMark(); } data.put("mark",mark); data.put("mark", mark); data.put("extract", extract); data.put("beforeMoney", beforeMoney); data.put("surplusTime", surplusTime); @@ -637,7 +664,7 @@ mark = "警惕!! " + userInfoExtra.getMark(); } data.put("mark",mark); data.put("mark", mark); data.put("extract", extract); data.put("beforeMoney", beforeMoney); data.put("surplusTime", surplusTime); @@ -850,8 +877,8 @@ innerList.put("name", "驳回数"); } List<ChartTDO> list = extractAuditRecordService.countAuditTotal(state, dateType, year, startTime, endTime); List<ChartTDO> list = extractAuditRecordService.countAuditTotal(state, dateType, year, startTime, endTime); if (dateType != 3) { innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); } else { @@ -935,8 +962,8 @@ JSONObject innerList = new JSONObject(); innerList.put("name", "总计"); List<ChartTDO> list = extractAuditRecordService.countExtractApplyMoney(null, dateType, year, startTime, endTime); List<ChartTDO> list = extractAuditRecordService.countExtractApplyMoney(null, dateType, year, startTime, endTime); if (dateType != 3) { innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); @@ -1020,12 +1047,11 @@ Gson gson = new Gson(); List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); JSONObject innerList = new JSONObject(); innerList.put("name", "总计"); List<ChartTDO> list = extractAuditRecordService.countExtractApplyNumber(null, dateType, year, startTime, endTime); List<ChartTDO> list = extractAuditRecordService.countExtractApplyNumber(null, dateType, year, startTime, endTime); if (dateType != 3) { innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); @@ -1057,7 +1083,6 @@ } } /** * 下载提现红包Openid * @param callback @@ -1072,28 +1097,29 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无用户满足自动提现条件")); return; } String filepath = "自动提现OpenId "+ java.lang.System.currentTimeMillis() + ".txt"; String filepath = "自动提现OpenId " + java.lang.System.currentTimeMillis() + ".txt"; response.reset(); response.setContentType("application/octet-stream"); String fileName= URLDecoder.decode(filepath,"utf-8"); response.addHeader("Content-Disposition","attachment;"+ "filename=\"" +URLEncoder.encode(fileName, "utf-8") + "\""); response.setContentType("application/octet-stream"); String fileName = URLDecoder.decode(filepath, "utf-8"); response.addHeader("Content-Disposition", "attachment;" + "filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\""); StringBuilder sb = new StringBuilder(); for(String t:list){ sb.append(t+"\r\n"); for (String t : list) { sb.append(t + "\r\n"); } String opid_str = sb.toString(); if (!StringUtil.isNullOrEmpty(opid_str) && opid_str.endsWith("\r\n")) { opid_str = opid_str.substring(0, opid_str.length() - 2); } OutputStream os = response.getOutputStream(); byte[] byt = opid_str.getBytes(); os.write(byt); os.flush(); os.close(); OutputStream os = response.getOutputStream(); byte[] byt = opid_str.getBytes(); os.write(byt); os.flush(); os.close(); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); @@ -1140,7 +1166,7 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无用户满足自动提现条件")); return; } if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } @@ -1149,22 +1175,22 @@ if (pageSize == null || pageSize < 1) { pageSize = Constant.PAGE_SIZE; } int count = list.size(); int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1; PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); List<UserInfo> listResult = null; if (pageIndex < totalPage) { int start = (pageIndex - 1) * pageSize; listResult = list.subList(start, start + pageSize); } else if (pageIndex == totalPage) { listResult = list.subList((pageIndex - 1) * pageSize, list.size()); listResult = list.subList((pageIndex - 1) * pageSize, list.size()); } else { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("没有更多了")); return; } JSONObject data = new JSONObject(); data.put("pe", pe); data.put("result_list", listResult); fanli/src/main/java/com/yeshi/fanli/dao/mybatis/order/CommonOrderCountMapper.java
@@ -1,66 +1,89 @@ package com.yeshi.fanli.dao.mybatis.order; import java.math.BigDecimal; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import com.yeshi.fanli.dto.ChartTDO; public interface CommonOrderCountMapper { /** * 当前各个状态订单数 * @param state 状态 * @return */ Long countByState(@Param("state")Integer state); /** * 统计所有订单 * @param channel * @return */ List<ChartTDO> countOrderNumber(@Param("dateType") Integer dateType, @Param("year") String year, @Param("startTime")String startTime, @Param("endTime")String endTime,@Param("sourceType") int sourceType); /** * 奖金统计 * * @param uid * @return */ Map<String, Object> countOrderNumberBySettleTime(@Param("uid")Long uid, @Param("state")Integer state, @Param("day")Integer day); /** * 统计自购、分享有效订单数量 * * @param uid * @return */ long countValidOrder(@Param("uid")Long uid); /** * 根据订单号 查询金额 * @param orderNo * @return */ BigDecimal getMoneyByOrderNo(@Param("orderNo")String orderNo); /** * 统计已到账返利订单 * @param uid * @param dateTime * @return */ long countValidOrderByDate(@Param("uid")Long uid, @Param("dateTime")String dateTime); package com.yeshi.fanli.dao.mybatis.order; import java.math.BigDecimal; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import com.yeshi.fanli.dto.ChartTDO; public interface CommonOrderCountMapper { /** * 当前各个状态订单数 * * @param state * 状态 * @return */ Long countByState(@Param("state") Integer state); /** * 统计所有订单 * * @param channel * @return */ List<ChartTDO> countOrderNumber(@Param("dateType") Integer dateType, @Param("year") String year, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("sourceType") int sourceType); /** * 奖金统计 * * @param uid * @return */ Map<String, Object> countOrderNumberBySettleTime(@Param("uid") Long uid, @Param("state") Integer state, @Param("day") Integer day); /** * 统计自购、分享有效订单数量 * * @param uid * @return */ long countValidOrder(@Param("uid") Long uid); /** * 根据订单号 查询金额 * * @param orderNo * @return */ BigDecimal getMoneyByOrderNo(@Param("orderNo") String orderNo); /** * 统计已到账返利订单 * * @param uid * @param dateTime * @return */ long countValidOrderByDate(@Param("uid") Long uid, @Param("dateTime") String dateTime); /** * 查询用户在同一店铺购买超过一定数量商品的店铺数量 * * @param typeList * -红包类型 * @param uid * -用户ID * @param minSameShopGoodsCount * -同一店铺买的最小订单数 * @return */ long countSameShopOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid, @Param("minSameShopGoodsCount") int minSameShopGoodsCount); /** * 查询用户购买相同商品超过一定的订单数量的商品数量 * @param typeList * @param uid * @param minSameGoodsOrderCount * @return */ long countSameGoodsOrderByUidAndHongBaoType(@Param("typeList") List<Integer> typeList, @Param("uid") Long uid, @Param("minSameGoodsOrderCount") int minSameGoodsOrderCount); } fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
@@ -322,9 +322,9 @@ // 每15分钟爬取一次 @Scheduled(cron = "0 0/15 * * * ? ") public void pullCommonOrder() { LogHelper.job("正在执行15min订单爬取"); if (!Constant.IS_TASK) return; LogHelper.job("正在执行15min订单爬取"); long currentTime = System.currentTimeMillis() - 1000 * 60; String h = TimeUtil.getGernalTime(currentTime, "HH"); String m = TimeUtil.getGernalTime(currentTime, "mm"); fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderCountMapper.xml
@@ -1,185 +1,225 @@ <?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.CommonOrderCountMapper"> <resultMap id="ChartMap" type="com.yeshi.fanli.dto.ChartTDO"> <result column="showDate" property="showDate" jdbcType="VARCHAR" /> <result column="showValue" property="showValue" jdbcType="VARCHAR" /> </resultMap> <sql id="Column_DateType"> <if test="dateType == 1"> DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') AS 'showDate' </if> <if test="dateType == 2"> DATE_FORMAT(t.`co_third_create_time`,'%m') AS 'showDate' </if> <if test="dateType == 3"> DATE_FORMAT(t.`co_third_create_time`,'%Y') AS 'showDate' </if> </sql> <sql id="Count_Select_DateType"> <if test="startTime != null and startTime != '' "> AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}' </if> <if test="endTime != null and endTime != '' "> AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') <![CDATA[ <= ]]>'${endTime}' </if> <if test="year != null and year != '' "> AND DATE_FORMAT(t.`co_third_create_time`,'%Y') = '${year}' </if> </sql> <sql id="Count_Group_DateType"> <if test="dateType == 1"> GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') </if> <if test="dateType == 2"> GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m') </if> <if test="dateType == 3"> GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y') </if> </sql> <select id="countByState" resultType="java.lang.Long"> SELECT IFNULL(COUNT(t.`co_id`),0) FROM `yeshi_ec_common_order` t WHERE 1=1 <if test="type != null"> AND t.`co_state` = #{state} </if> </select> <select id="countOrderNumber" resultMap="ChartMap"> SELECT IFNULL(COUNT(t.`co_id`),0) AS showValue,<include refid="Column_DateType"/> FROM `yeshi_ec_common_order` t WHERE t.co_source_type=#{sourceType} and t.`co_third_create_time` IS NOT NULL <include refid="Count_Select_DateType"/> <include refid="Count_Group_DateType"/> ORDER BY t.`co_third_create_time` </select> <select id="countOrderNumberBySettleTime" resultType="java.util.HashMap"> <!-- 统计历史订单数量 根据结算时间 --> SELECT SUM(A.self)AS totalSelf,SUM(A.shared)AS totalShared,SUM(A.invite)AS totalInvite FROM ( <!-- 返利订单 --> SELECT IFNULL(COUNT(ho_id),0) AS self,0 AS shared,0 AS invite FROM (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} and v2.hb_state!=4 AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2) ) hb ON hb.hb_id=ho.`ho_hongbao_id` <!-- 自购订单 --> LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hb.hb_id IS NOT NULL <if test="state != null"> AND co.`co_state` = ${state} </if> <if test="day != null and day == 1"> <!-- 今天 --> AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) </if> <if test="day != null and day == 2"> <!-- 昨天 --> AND TO_DAYS(NOW()) - TO_DAYS(co.co_settle_time) = 1 </if> <if test="day != null and day == 3"> <!-- 本月 --> AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') </if> <if test="day != null and day == 4"> <!-- 上月 --> AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 </if> GROUP BY co.`co_order_no`, co.`co_source_type`)YX UNION ALL <!-- 分享订单 --> SELECT 0 AS self,IFNULL(COUNT(ho_id),0) AS shared,0 AS invite FROM (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20 and v2.hb_state!=4 ) hb ON hb.hb_id=ho.`ho_hongbao_id` <!-- 分享订单 --> LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hb.hb_id IS NOT NULL and hb.hb_state!=4 <if test="state != null"> AND co.`co_state` = ${state} </if> <if test="day != null and day == 1"> <!-- 今天 --> AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) </if> <if test="day != null and day == 2"> <!-- 昨天 --> AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1 </if> <if test="day != null and day == 3"> <!-- 本月 --> AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') </if> <if test="day != null and day == 4"> <!-- 上月 --> AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 </if> GROUP BY co.`co_order_no`, co.`co_source_type`)WQ UNION ALL <!-- 邀请订单 --> SELECT 0 AS self,0 AS shared,IFNULL(COUNT(ho_id),0) AS invite FROM (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7 OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 ) and v2.hb_state!=4 ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hbp.hb_id IS NOT NULL and hbp.hb_state!=4 <if test="state != null"> AND co.`co_state` = ${state} </if> <if test="day != null and day == 1"> <!-- 今天 --> AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) </if> <if test="day != null and day == 2"> <!-- 昨天 --> AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1 </if> <if test="day != null and day == 3"> <!-- 本月 --> AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') </if> <if test="day != null and day == 4"> <!-- 上月 --> AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 </if> GROUP BY co.`co_order_no`, co.`co_source_type`)SX )A </select> <select id="countValidOrder" resultType="java.lang.Long"> SELECT IFNULL(COUNT(co.`co_id`),0) FROM yeshi_ec_hongbao_order ho LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= #{uid} AND v2.`hb_type` IN(1,20))hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hb.hb_id IS NOT NULL AND <![CDATA[co.`co_state` <> 4]]> </select> <select id="getMoneyByOrderNo" resultType="java.math.BigDecimal"> SELECT SUM(v2.`hb_money`) FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v2 ON v2.hb_id=ho.`ho_hongbao_id` WHERE co.`co_order_no` = #{orderNo} </select> <select id="countValidOrderByDate" resultType="Long"> SELECT IFNULL(COUNT(co_order_no),0) FROM (SELECT DISTINCT co.co_order_no FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v2 ON v2.hb_id=ho.`ho_hongbao_id` WHERE co.`co_uid` = #{uid} AND v2.`hb_type` = 1 AND v2.`hb_state` = 3 AND AND co.`co_third_create_time` <![CDATA[>]]> #{dateTime})A </select> </mapper> <?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.CommonOrderCountMapper"> <resultMap id="ChartMap" type="com.yeshi.fanli.dto.ChartTDO"> <result column="showDate" property="showDate" jdbcType="VARCHAR" /> <result column="showValue" property="showValue" jdbcType="VARCHAR" /> </resultMap> <sql id="Column_DateType"> <if test="dateType == 1"> DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') AS 'showDate' </if> <if test="dateType == 2"> DATE_FORMAT(t.`co_third_create_time`,'%m') AS 'showDate' </if> <if test="dateType == 3"> DATE_FORMAT(t.`co_third_create_time`,'%Y') AS 'showDate' </if> </sql> <sql id="Count_Select_DateType"> <if test="startTime != null and startTime != '' "> AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d')<![CDATA[ >= ]]>'${startTime}' </if> <if test="endTime != null and endTime != '' "> AND DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') <![CDATA[ <= ]]>'${endTime}' </if> <if test="year != null and year != '' "> AND DATE_FORMAT(t.`co_third_create_time`,'%Y') = '${year}' </if> </sql> <sql id="Count_Group_DateType"> <if test="dateType == 1"> GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m-%d') </if> <if test="dateType == 2"> GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y-%m') </if> <if test="dateType == 3"> GROUP BY DATE_FORMAT(t.`co_third_create_time`,'%Y') </if> </sql> <select id="countByState" resultType="java.lang.Long"> SELECT IFNULL(COUNT(t.`co_id`),0) FROM `yeshi_ec_common_order` t WHERE 1=1 <if test="type != null"> AND t.`co_state` = #{state} </if> </select> <select id="countOrderNumber" resultMap="ChartMap"> SELECT IFNULL(COUNT(t.`co_id`),0) AS showValue,<include refid="Column_DateType"/> FROM `yeshi_ec_common_order` t WHERE t.co_source_type=#{sourceType} and t.`co_third_create_time` IS NOT NULL <include refid="Count_Select_DateType"/> <include refid="Count_Group_DateType"/> ORDER BY t.`co_third_create_time` </select> <select id="countOrderNumberBySettleTime" resultType="java.util.HashMap"> <!-- 统计历史订单数量 根据结算时间 --> SELECT SUM(A.self)AS totalSelf,SUM(A.shared)AS totalShared,SUM(A.invite)AS totalInvite FROM ( <!-- 返利订单 --> SELECT IFNULL(COUNT(ho_id),0) AS self,0 AS shared,0 AS invite FROM (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} and v2.hb_state!=4 AND (v2.`hb_type` = 1 OR v2.`hb_type` = 2) ) hb ON hb.hb_id=ho.`ho_hongbao_id` <!-- 自购订单 --> LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hb.hb_id IS NOT NULL <if test="state != null"> AND co.`co_state` = ${state} </if> <if test="day != null and day == 1"> <!-- 今天 --> AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) </if> <if test="day != null and day == 2"> <!-- 昨天 --> AND TO_DAYS(NOW()) - TO_DAYS(co.co_settle_time) = 1 </if> <if test="day != null and day == 3"> <!-- 本月 --> AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') </if> <if test="day != null and day == 4"> <!-- 上月 --> AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 </if> GROUP BY co.`co_order_no`, co.`co_source_type`)YX UNION ALL <!-- 分享订单 --> SELECT 0 AS self,IFNULL(COUNT(ho_id),0) AS shared,0 AS invite FROM (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} AND v2.`hb_type` = 20 and v2.hb_state!=4 ) hb ON hb.hb_id=ho.`ho_hongbao_id` <!-- 分享订单 --> LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hb.hb_id IS NOT NULL and hb.hb_state!=4 <if test="state != null"> AND co.`co_state` = ${state} </if> <if test="day != null and day == 1"> <!-- 今天 --> AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) </if> <if test="day != null and day == 2"> <!-- 昨天 --> AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1 </if> <if test="day != null and day == 3"> <!-- 本月 --> AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') </if> <if test="day != null and day == 4"> <!-- 上月 --> AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 </if> GROUP BY co.`co_order_no`, co.`co_source_type`)WQ UNION ALL <!-- 邀请订单 --> SELECT 0 AS self,0 AS shared,IFNULL(COUNT(ho_id),0) AS invite FROM (SELECT ho.`ho_id` FROM yeshi_ec_hongbao_order ho LEFT JOIN ( SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= ${uid} AND (v2.`hb_type` = 5 OR v2.`hb_type` = 6 OR v2.`hb_type` = 7 OR v2.`hb_type` = 21 OR v2.`hb_type` = 22 ) and v2.hb_state!=4 ) hbp ON hbp.hb_pid=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hbp.hb_id IS NOT NULL and hbp.hb_state!=4 <if test="state != null"> AND co.`co_state` = ${state} </if> <if test="day != null and day == 1"> <!-- 今天 --> AND TO_DAYS(co.`co_settle_time`) = TO_DAYS(NOW()) </if> <if test="day != null and day == 2"> <!-- 昨天 --> AND TO_DAYS(NOW()) - TO_DAYS(co.`co_settle_time`) = 1 </if> <if test="day != null and day == 3"> <!-- 本月 --> AND DATE_FORMAT(co.`co_settle_time`,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') </if> <if test="day != null and day == 4"> <!-- 上月 --> AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1 </if> GROUP BY co.`co_order_no`, co.`co_source_type`)SX )A </select> <select id="countValidOrder" resultType="java.lang.Long"> SELECT IFNULL(COUNT(co.`co_id`),0) FROM yeshi_ec_hongbao_order ho LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2 WHERE v2.`hb_uid`= #{uid} AND v2.`hb_type` IN(1,20))hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id` WHERE hb.hb_id IS NOT NULL AND <![CDATA[co.`co_state` <> 4]]> </select> <select id="getMoneyByOrderNo" resultType="java.math.BigDecimal"> SELECT SUM(v2.`hb_money`) FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v2 ON v2.hb_id=ho.`ho_hongbao_id` WHERE co.`co_order_no` = #{orderNo} </select> <select id="countValidOrderByDate" resultType="Long"> SELECT IFNULL(COUNT(co_order_no),0) FROM (SELECT DISTINCT co.co_order_no FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v2 ON v2.hb_id=ho.`ho_hongbao_id` WHERE co.`co_uid` = #{uid} AND v2.`hb_type` = 1 AND v2.`hb_state` = 3 AND AND co.`co_third_create_time` <![CDATA[>]]> #{dateTime})A </select> <select id="countSameShopOrderByUidAndHongBaoType" resultType="Long"> SELECT COUNT(*) FROM ( SELECT a.*,COUNT(*) AS num FROM ( SELECT co.*,COUNT(*) AS c,g.`cog_shop_id` AS shopId FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v ON v.`hb_id`=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` WHERE co.`co_uid`=#{uid} <if test="typeList!=null"> <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")"> v.`hb_type`=#{type} </foreach> </if> AND v.`hb_id` IS NOT NULL AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) AND g.`cog_shop_id`>0 GROUP BY co.`co_order_no`,co.`co_source_type` ) a GROUP BY a.shopId ) b WHERE b.num>=#{minSameShopGoodsCount}; </select> <select id="countSameGoodsOrderByUidAndHongBaoType" resultType="Long"> SELECT COUNT(*) FROM ( SELECT a.goodsId,COUNT(*) AS c FROM ( SELECT co.`co_order_goods_id` AS goodsId,co.`co_order_no` FROM yeshi_ec_common_order co LEFT JOIN yeshi_ec_hongbao_order ho ON co.`co_id`=ho.`ho_order_id` LEFT JOIN yeshi_ec_hongbao_v2 v ON v.`hb_id`=ho.`ho_hongbao_id` LEFT JOIN yeshi_ec_common_order_goods g ON co.`co_order_goods_id`=g.`cog_id` WHERE co.`co_uid`=#{uid} <if test="typeList!=null"> <foreach collection="typeList" item="type" open=" and (" separator=" or " close=")"> v.`hb_type`=#{type} </foreach> </if> AND v.`hb_id` IS NOT NULL AND (co.`co_state`=1 OR co.`co_state`=2 OR co.`co_state`=3) GROUP BY co.`co_order_no`,co.`co_order_goods_id` ) a GROUP BY goodsId ) b WHERE b.c>=#{minSameGoodsOrderCount} </select> </mapper> fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java
@@ -31,7 +31,7 @@ @Resource private JDOrderItemMapper jdOrderItemMapper; @Resource private PDDOrderMapper pddOrderMapper; @@ -43,8 +43,7 @@ return commonOrderCountMapper.countByState(state); } public List<ChartTDO> dayFactory(String startTime, String endTime, List<ChartTDO> list) throws Exception { public List<ChartTDO> dayFactory(String startTime, String endTime, List<ChartTDO> list) throws Exception { List<ChartTDO> listObject = new ArrayList<ChartTDO>(); if (startTime.equals(endTime)) { ChartTDO chartTDO = list.get(0); @@ -96,7 +95,7 @@ String total = null; for (int j = 0; j < list.size(); j++) { ChartTDO chartTDO = list.get(j); String month =chartTDO.getShowDate(); String month = chartTDO.getShowDate(); if ((i + "").equalsIgnoreCase(month) || i == Integer.parseInt(month)) { total = chartTDO.getShowValue(); break; @@ -106,7 +105,7 @@ if (total == null) { total = "0"; } ChartTDO chartTDO = new ChartTDO(); chartTDO.setShowValue(total); if (i < 10) { @@ -133,14 +132,14 @@ } @Override public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime, int sourceType) throws Exception { public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime, int sourceType) throws Exception { List<ChartTDO> result_list = null; // 用户订单 List<ChartTDO> listTotal = commonOrderCountMapper.countOrderNumber(dateType, year, startTime, endTime, sourceType); List<ChartTDO> listTotal = commonOrderCountMapper.countOrderNumber(dateType, year, startTime, endTime, sourceType); if (listTotal == null || listTotal.size() == 0) { return result_list; } @@ -205,14 +204,14 @@ } @Override public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime) throws Exception { public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime) throws Exception { return taoBaoWeiQuanOrderMapper.countWeiQaunOrderMoney(dateType, year, startTime, endTime); } @Override public List<ChartTDO> countWeiQaunOrderNumber(Integer dateType, String year, String startTime, String endTime) throws Exception { public List<ChartTDO> countWeiQaunOrderNumber(Integer dateType, String year, String startTime, String endTime) throws Exception { return taoBaoWeiQuanOrderMapper.countWeiQaunOrderNumber(dateType, year, startTime, endTime); } @@ -242,4 +241,14 @@ return commonOrderCountMapper.countValidOrderByDate(uid, dateTime); } @Override public long countSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount) { return commonOrderCountMapper.countSameShopOrderByUidAndHongBaoType(typeList, uid, minSameShopGoodsCount); } @Override public long countSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount) { return commonOrderCountMapper.countSameGoodsOrderByUidAndHongBaoType(typeList, uid, minSameGoodsOrderCount); } } fanli/src/main/java/com/yeshi/fanli/service/inter/order/CommonOrderCountService.java
@@ -4,28 +4,33 @@ import java.util.List; import java.util.Map; import com.yeshi.fanli.dto.ChartTDO; import org.apache.ibatis.annotations.Param; import com.yeshi.fanli.dto.ChartTDO; public interface CommonOrderCountService { /** * 当前各个状态订单数 * @param state 状态 * * @param state * 状态 * @return */ public Long countByState(Integer state); /** * 统计所有订单 * 统计所有订单 * * @param channel * @return */ public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime,int sourceType) throws Exception; public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime, int sourceType) throws Exception; /** * 统计总金额 * * @param dateType * @param year * @param startTime @@ -33,11 +38,12 @@ * @return * @throws Exception */ public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime) throws Exception; public List<ChartTDO> countWeiQaunOrderMoney(Integer dateType, String year, String startTime, String endTime) throws Exception; /** * 统计总个数 * * @param dateType * @param year * @param startTime @@ -50,6 +56,7 @@ /** * 根据结算时间统计 * * @param uid * @param state * @param day @@ -60,25 +67,50 @@ /** * 根据结算时间筛选 上个月已结算的订订单数量 * * @param uid * @return */ public Map<String, Object> lastMonthSettleOrderNumber(Long uid); /** * 根据订单号 统计奖励券加成金额 * 根据订单号 统计奖励券加成金额 * * @param orderNo * @return */ BigDecimal getMoneyByOrderNo(String orderNo); /** * 统计已到账返利订单 * * @param uid * @param dateTime * @return */ public long countValidOrderByDate(Long uid, String dateTime); /** * 查询用户在同一店铺购买超过一定数量商品的店铺数量 * * @param typeList * -红包类型 * @param uid * -用户ID * @param minSameShopGoodsCount * -同一店铺买的最小订单数 * @return */ long countSameShopOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameShopGoodsCount); /** * 查询用户购买相同商品超过一定的订单数量的商品数量 * * @param typeList * @param uid * @param minSameGoodsOrderCount * @return */ long countSameGoodsOrderByUidAndHongBaoType(List<Integer> typeList, Long uid, int minSameGoodsOrderCount); } fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -173,7 +173,7 @@ doJDOrderJob();// 京东订单处理 doPDDOrderJob();// 拼多多订单处理 doImportantTaoBaoGoodsUpdateJob();// 淘宝重要商品的信息更新 // doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加 doHongBaoRecieveIntegralGetJob();// 返利到账,金币增加 // doPlaceOrderIntegralJob();// 下单赠送金币任务 // doDouYinDeviceActiveJob();// 抖音设备激活广告监测 } @@ -722,7 +722,6 @@ } } }); } /** @@ -792,8 +791,9 @@ if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901", "yyyyMMdd")) { if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 一级返利小于0.01 // integralTaskRecordService.firstRebateOrderRewardBoss(threeSale.getBoss().getId(), // hongBaoV2.getUserInfo().getId(), null); integralTaskRecordService.firstRebateOrderRewardBoss( threeSale.getBoss().getId(), hongBaoV2.getUserInfo().getId(), null); LogHelper.test("自购-一级用户-" + threeSale.getBoss().getId() + "-hongBaoId:" + hongBaoV2.getId()); } @@ -809,8 +809,9 @@ if (threeSale.getSucceedTime() > TimeUtil .convertToTimeTemp("20190901", "yyyyMMdd")) { if (secondLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 二级返利小于0.01 // integralTaskRecordService.firstRebateOrderRewardBossSuper(threeSale.getBoss().getId(), // hongBaoV2.getUserInfo().getId(), null); integralTaskRecordService.firstRebateOrderRewardBossSuper( threeSale.getBoss().getId(), hongBaoV2.getUserInfo().getId(), null); LogHelper.test("自购-二级用户-" + threeSale.getBoss().getId() + "-hongBaoId:" + hongBaoV2.getId()); } @@ -864,8 +865,9 @@ if (threeSale.getSucceedTime() > TimeUtil.convertToTimeTemp("20190901", "yyyyMMdd")) { if (firstLevelMoney.compareTo(new BigDecimal("0.01")) < 0) {// 一级返利小于0.01 // integralTaskRecordService.firstSharerOrderRewardBoss(threeSale.getBoss().getId(), // hongBaoV2.getUserInfo().getId(), null); integralTaskRecordService.firstSharerOrderRewardBoss( threeSale.getBoss().getId(), hongBaoV2.getUserInfo().getId(), null); LogHelper.test("分享-一级用户-" + threeSale.getBoss().getId() + "-hongBaoId:" + hongBaoV2.getId()); } @@ -874,9 +876,8 @@ } } } // HongBaoRecieveCMQManager.getInstance() // .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, // key); HongBaoRecieveCMQManager.getInstance() .deleteQueueMsg(HongBaoRecieveCMQManager.QUEUE_INTEGRAL, key); } catch (Exception e) { try { LogHelper.errorDetailInfo(e); fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java
@@ -45,8 +45,8 @@ } else if (0 == order.getOrderStatus()) { state = CommonOrder.STATE_FK; } else if (1 == order.getOrderStatus()) { state = CommonOrder.STATE_FK; } else if (2 == order.getOrderStatus()) {// 确认收货 state = CommonOrder.STATE_FK; } else if (2 == order.getOrderStatus()) {// 确认收货 state = CommonOrder.STATE_JS; } else if (3 == order.getOrderStatus()) { state = CommonOrder.STATE_FK; @@ -89,6 +89,26 @@ int state = 0; if (order.getValidCode() < 16) { state = CommonOrder.STATE_SX; String stateDesc = null; if (order.getValidCode() == 4) stateDesc = "京东帮主订单"; else if (order.getValidCode() == 5) stateDesc = "账号异常"; else if (order.getValidCode() == 6) stateDesc = "赠品类目"; else if (order.getValidCode() == 7) stateDesc = "校园订单"; else if (order.getValidCode() == 8) stateDesc = "企业订单"; else if (order.getValidCode() == 9) stateDesc = "团购订单"; else if (order.getValidCode() == 10) stateDesc = "专用发票"; else if (order.getValidCode() == 11) stateDesc = "乡村推广员"; else if (order.getValidCode() == 13) stateDesc = "违规订单"; commonOrder.setStateDesc(stateDesc); } else if (order.getValidCode() == 16) { state = CommonOrder.STATE_FK; } else if (order.getValidCode() == 17) { fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoOrderUtil.java
@@ -734,7 +734,7 @@ String tradeId = taoBaoOrder.getTradeId(); String orderByStr = tradeId.substring(startIndex, endIndex + 1); if (orderByStr.length() > 8) { LogHelper.error(taoBaoOrder.getOrderId()+ "-订单的orderBy超过8位:" + taoBaoOrder.getOrderBy()); LogHelper.error(taoBaoOrder.getOrderId() + "-订单的orderBy超过8位:" + taoBaoOrder.getOrderBy()); } int orderBy = Integer.parseInt(orderByStr); // taoBaoOrder.setOrderBy(orderBy); @@ -821,7 +821,7 @@ Collections.sort(orderList, orderCM); String sts = ""; for (TaoBaoOrder order : orderList) { sts += order.getTradeId(); sts += (order.getTradeId() + "-" + order.getSpecialId() + "-" + order.getRelationId()); } return StringUtil.Md5(sts); } fanli/src/main/webapp/WEB-INF/lib/osp-sdk.jarBinary files differ
fanli/src/main/webapp/WEB-INF/lib/vop-sdk.jarBinary files differ