ソースを参照

fix 关联推广人优惠码使用人数

zoujiajian 3 年 前
コミット
06d333df9b

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/OrderDonMapper.java

@@ -36,4 +36,6 @@ public interface OrderDonMapper extends BaseMapper<OrderDon> {
 	BrokenLineObjView selectPersonDistributeBrokenLine(@Param("userId") Long userId, @Param("first") String first, @Param("end") String end);
 
 	ChannelStatisticsView selectChannelStatistics(@Param("first") String first, @Param("end") String end);
+
+	Integer selectCouponCodeUserNum(@Param("dsPopularizeId") Long dsPopularizeId, @Param("noOrderAllStatus") List<String> noOrderAllStatus);
 }

+ 8 - 0
netflix-dao/src/main/resources/mapper/OrderDonMapper.xml

@@ -134,4 +134,12 @@
             and curdate &lt;= #{end}
         </if>
     </select>
+
+    <select id="selectCouponCodeUserNum" resultType="java.lang.Integer">
+        select count(distinct user_id) from order_don where ds_popularize_id = #{dsPopularizeId}
+        and status not in
+        <foreach collection="noOrderAllStatus" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
 </mapper>

+ 1 - 3
netflix-web/src/main/java/com/cyksj/web/controller/manage/coupon/CouponController.java

@@ -157,9 +157,7 @@ public class CouponController {
 	public Result<SearchResult<CouponDistributePopularizeView>> getRelationList(HttpServletRequest request) {
 		SearchResult<CouponDistributePopularizeView> search = beanSearcher.search(CouponDistributePopularizeView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
 		search.getDataList().forEach(data -> {
-			Integer usedNum = orderDonMapper.selectCount(Wrappers.lambdaQuery(OrderDon.class)
-					.eq(OrderDon::getDsPopularizeId, data.getId())
-					.notIn(OrderDon::getStatus, Constant.noOrderAllStatus));
+			Integer usedNum = orderDonMapper.selectCouponCodeUserNum(data.getId(), Constant.noOrderAllStatus);
 			data.setUsedNum(usedNum);
 		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);