Browse Source

关联订单总数

master
xyiege 4 years ago
parent
commit
8c2e50f940
  1. 7
      src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java
  2. 6
      src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java
  3. 23
      src/main/resources/mapper/szwh/OrderMapper.xml

7
src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java

@ -78,6 +78,13 @@ public interface OrderMapper {
@Param("startTime") String start,
@Param("endTime") String end);
/**
* 按照条件统计
* @param map
* @return
*/
int countOrderByMap(@Param("map") Map map);
/**
* 计算条件订单总额,返回 BigDecimal
* @param cmap ( 字段条件 field,condition)

6
src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java

@ -70,6 +70,9 @@ public class OrderServiceImpl implements OrderService {
qumap.put("startrs",starrs);
List<Order> orderList=orderMapper.getOrderList(qumap,starrs,limit);
// 统计符合条件的总数
int total = orderMapper.countOrderByMap(qumap);
// 存放结果list
List relist = new ArrayList();
@ -133,6 +136,9 @@ public class OrderServiceImpl implements OrderService {
relist.add(tomap);
}
// 记录总数
retmap.put("total",total);
retmap.put("start",starrs+1);
retmap.put("cur_page",page);
retmap.put("end",page*limit);

23
src/main/resources/mapper/szwh/OrderMapper.xml

@ -90,6 +90,29 @@
where #{key} between ${startTime} and ${endTime}
</select>
<!-- 统计多个条件的总数 -->
<select id="countOrderByMap" parameterType="java.util.Map" resultMap="java.lang.Integer">
select count(*)
from <include refid="tbName"/>
<where>
<if test="map!=null">
<!-- 查询条件封装在map中,以k-v形式进行查询-->
<foreach collection="map" item="v" index="k" separator="and">
<if test="v != null and v != '' and k!='id' and k!='charges_type'">
${k} = #{v}
</if>
<if test="k=='id'">
${k}>#{v}
</if>
</foreach>
</if>
<if test="map==null">
id>#{startRs}
</if>
</where>
</select>
<!-- 条件订单总额 -->
<select id="sumOrderByMap" parameterType="java.util.Map" resultType="java.math.BigDecimal">
select sum(#{cmap.field}) from

Loading…
Cancel
Save