zoujiajian 2 år sedan
förälder
incheckning
db2642f2bf

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

@@ -21,6 +21,8 @@ public class UserOrderDetailView {
 
 	private Integer numOfEpOrder;
 
+	private Integer epOrderMoney;
+
 	private BigDecimal orderRate;
 
 	private Integer numOfOrder;

+ 2 - 1
netflix-dao/src/main/resources/mapper/OrderDonMapper.xml

@@ -316,7 +316,8 @@
     <select id="getTagUserData" 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,
-        count(if(status != 'refund' and o.goods_id = 15)) as numOfEpOrder
+        count(if(status != 'refund' and o.goods_id = 15,1,NULL)) as numOfEpOrder,
+        (sum(if(o.goods_id = 15,money,0)) - sum(ifnull(if(o.goods_id = 15,refund_money,0), 0))) / 100 as epOrderMoney
         from (select cu.user_id
         from (select relation_id
         from `corp_user_tag` ct

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

@@ -428,7 +428,7 @@ public class CorpTagServiceImpl implements CorpTagService {
 
 		u.setNumOfUser(u2.getNumOfUser());
 		u.setDelNumOfUser(u2.getDelNumOfUser());
-		u.setOrderRate(BigDecimal.valueOf(u.getNumOfUser()).divide(BigDecimal.valueOf(u.getNumOfEpOrder()), 2, RoundingMode.DOWN));
+		u.setOrderRate(u.getNumOfUser() == 0 ? BigDecimal.ZERO : BigDecimal.valueOf(u.getNumOfEpOrder()).divide(BigDecimal.valueOf(u.getNumOfUser()), 2, RoundingMode.UP));
 		Page<UserOrderDetailView> records = orderDonMapper.getTagUserDataPage(new Page<>(start, limit), tagIdStr, startTime, endTime);
 
 		u.setRecords(records);