Pārlūkot izejas kodu

标签订单数据每日详情

zoujiajian 2 gadi atpakaļ
vecāks
revīzija
81ced45603

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

@@ -1,6 +1,7 @@
 package com.cyksj.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cyksj.model.entity.OrderDon;
 import com.cyksj.model.entity.RealGoodsInterestUser;
 import com.cyksj.model.excel.ExcelOrderDonInfo;
@@ -65,4 +66,6 @@ public interface OrderDonMapper extends BaseMapper<OrderDon> {
 	BrokenLineObjView selectDsPlatBrokenLineMoney(@Param("sharedId") Long sharedId, @Param("first") String first, @Param("end") String end);
 
 	UserOrderDetailView getTagUserData(@Param("tagName") String tagName, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
+	Page<UserOrderDetailView> getTagUserDataPage(@Param("page") Page<UserOrderDetailView> page, @Param("tagName") String tagName, @Param("startTime") String startTime, @Param("endTime") String endTime);
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserOrderDetailView.java

@@ -1,5 +1,6 @@
 package com.cyksj.model.views;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -17,4 +18,8 @@ public class UserOrderDetailView {
 	private Integer numOfOrder;
 
 	private BigDecimal orderMoney;
+
+	private String date;
+
+	Page<UserOrderDetailView> records;
 }

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

@@ -333,4 +333,28 @@
         </if>
         and money > 0
     </select>
+
+    <select id="getTagUserDataPage" resultType="com.cyksj.model.views.UserOrderDetailView">
+        select count(if(status != 'refund', 1, NULL)) as numOfOrder, (sum(money) - sum(ifnull(refund_money, 0))) / 100
+        as orderMoney,date_format(o.created_time,'%Y-%m-%d')  as date
+        from `order_don` o
+        where exists (select cu.user_id
+        from (select relation_id
+        from `corp_user_tag`
+        where tag_name = #{tagName}) s
+        left join corp_user_follow_relation cufr on cufr.id = s.relation_id
+        left join corp_user_auth ca on ca.external_userid = cufr.corp_user_id
+        left join corp_user cu on cu.id = ca.corp_user_id
+        where cu.user_id != 0 and cu.user_id = o.user_id )
+        and status not in ('close', 'noPayment')
+        <if test="startTime != null">
+            and o.created_time >= #{startTime}
+        </if>
+        <if test="endTime != null">
+            and o.created_time &lt; #{endTime}
+        </if>
+        and money > 0
+        group by date_format(o.created_time,'%Y-%m-%d')
+        order by date_format(o.created_time,'%Y-%m-%d') desc
+    </select>
 </mapper>

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/corp/CorpTagService.java

@@ -45,5 +45,5 @@ public interface CorpTagService {
 	 */
 	CorpTagGroupView addGroup(CorpTagGroupView tagGroup) throws Exception;
 
-	UserOrderDetailView getTagUserData(String tagName, String startTime, String endTime);
+	UserOrderDetailView getTagUserData(Integer start, Integer limit, String tagName, String startTime, String endTime);
 }

+ 5 - 1
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpTagServiceImpl.java

@@ -416,8 +416,12 @@ public class CorpTagServiceImpl implements CorpTagService {
 	}
 
 	@Override
-	public UserOrderDetailView getTagUserData(String tagName, String startTime, String endTime) {
+	public UserOrderDetailView getTagUserData(Integer start, Integer limit, String tagName, String startTime, String endTime) {
 		UserOrderDetailView u = orderDonMapper.getTagUserData(tagName, startTime, endTime);
+
+		Page<UserOrderDetailView> records = orderDonMapper.getTagUserDataPage(new Page<>(start, limit), tagName, startTime, endTime);
+
+		u.setRecords(records);
 		return u;
 	}
 }

+ 2 - 4
netflix-web/src/main/java/com/cyksj/web/controller/manage/corp/CorpTagController.java

@@ -173,11 +173,9 @@ public class CorpTagController {
 	 * 通过标签 查找对应用户订单数据
 	 */
 	@GetMapping("/get/tagUser/data")
-	public Result<UserOrderDetailView> getTagUserData(@RequestParam(required = true) String tagName, String startTime, String endTime) {
+	public Result<UserOrderDetailView> getTagUserData(@RequestParam(defaultValue = "1") Integer start, @RequestParam(defaultValue = "10") Integer limit, @RequestParam(required = true) String tagName, String startTime, String endTime) {
 		Assert.notEmpty(tagName, "请输入对应标签");
-		UserOrderDetailView userOrderDetailView = corpTagService.getTagUserData(tagName, startTime, endTime);
+		UserOrderDetailView userOrderDetailView = corpTagService.getTagUserData(start, limit, tagName, startTime, endTime);
 		return GatewayResponse.SUCCESS.newBuilder().toResult(userOrderDetailView);
 	}
-
-
 }