Browse Source

3.18查询筛选多地区条件

Huang
huangqizhen 4 months ago
parent
commit
7578d3731c
  1. 2
      src/main/java/com/example/demo/domain/entity/Detail.java
  2. 3
      src/main/java/com/example/demo/domain/vo/ConsumeDetail.java
  3. 1
      src/main/java/com/example/demo/domain/vo/RechargeA.java
  4. 4
      src/main/java/com/example/demo/domain/vo/RechargeVo.java
  5. 1
      src/main/java/com/example/demo/domain/vo/RefundA.java
  6. 2
      src/main/java/com/example/demo/domain/vo/SumConsume.java
  7. 1
      src/main/java/com/example/demo/domain/vo/SumDetailY.java
  8. 58
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  9. 130
      src/main/java/com/example/demo/mapper/DetailYMapper.java
  10. 66
      src/main/java/com/example/demo/mapper/RechargeMapper.java
  11. 60
      src/main/java/com/example/demo/mapper/RefundMapper.java
  12. 1
      src/main/java/com/example/demo/mapper/StatisticsMapper.java
  13. 4
      src/main/resources/application.yml
  14. 51
      src/main/resources/mapper/ConsumeMapper.xml
  15. 139
      src/main/resources/mapper/DetailYMapper.xml
  16. 76
      src/main/resources/mapper/RechargeMapper.xml
  17. 101
      src/main/resources/mapper/RefundMapper.xml

2
src/main/java/com/example/demo/domain/entity/Detail.java

@ -9,6 +9,7 @@ import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@Data
@NoArgsConstructor
@ -70,6 +71,7 @@ public class Detail implements Serializable {
private String sortField;
private String sortOrder;
private List<String> areas;
}

3
src/main/java/com/example/demo/domain/vo/ConsumeDetail.java

@ -7,6 +7,8 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@NoArgsConstructor
public class ConsumeDetail {
@ -49,5 +51,6 @@ public class ConsumeDetail {
private String sortField;
private String sortOrder;
private List<String> areas;
}

1
src/main/java/com/example/demo/domain/vo/RechargeA.java

@ -31,4 +31,5 @@ public class RechargeA {
private String rechargeWay;
private String area;
private Integer status;
private List<String> areas;
}

4
src/main/java/com/example/demo/domain/vo/RechargeVo.java

@ -7,6 +7,8 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@NoArgsConstructor
public class RechargeVo {
@ -48,4 +50,6 @@ public class RechargeVo {
private String sortField;
private String sortOrder;
private List<String> areas;
}

1
src/main/java/com/example/demo/domain/vo/RefundA.java

@ -38,5 +38,6 @@ public class RefundA {
private String category;
private BigDecimal amount;
private List<String> areas;
}

2
src/main/java/com/example/demo/domain/vo/SumConsume.java

@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@NoArgsConstructor
@ -23,4 +24,5 @@ public class SumConsume {
private Date endDate;
private String token;
private String area;
private List<String> areas;
}

1
src/main/java/com/example/demo/domain/vo/SumDetailY.java

@ -24,4 +24,5 @@ public class SumDetailY {
private Integer updateType;
private String consumePlatform;
private String types;
private List<String> areas;
}

58
src/main/java/com/example/demo/mapper/ConsumeMapper.java

@ -46,35 +46,35 @@ public interface ConsumeMapper {
//userName
//模糊分页查询查询消费明细
@Select({
"<script>",
"select detail_y.*,admin.name as adminName,product.name as productName from detail_y ",
"left join `admin` on detail_y.admin_id=admin.admin_id ",
"left join `user` on detail_y.jwcode= user.jwcode ",
"left join product on detail_y.product_id= product.product_id ",
"<where>",
// "`detail_flag`=1 AND update_type = '1'",
"update_type=1",
"<if test='jwcode!=null'>and detail_y.jwcode =#{jwcode}</if>",
"<if test='productName!=null and productName.length>0'>and product.name = #{productName}</if>",
"<if test='consumePlatform!=null and consumePlatform.length>0'>and detail_y.consume_platform=#{consumePlatform}</if>",
"<if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if>",
"<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"<if test='area!=null and area.length>0'>and area=#{area}</if>",
"</where>",
"<choose>",
" <!-- 优先使用前端传入的排序参数 -->",
" <when test='sortField != null or sortOrder != null'>",
" ORDER BY ${sortField} ${sortOrder}",
" </when>",
" <!-- 默认排序 -->",
" <otherwise>",
"ORDER BY detail_y.create_time DESC",
" </otherwise>",
"</choose>",
"</script>"
})
// @Select({
// "<script>",
// "select detail_y.*,admin.name as adminName,product.name as productName from detail_y ",
// "left join `admin` on detail_y.admin_id=admin.admin_id ",
// "left join `user` on detail_y.jwcode= user.jwcode ",
// "left join product on detail_y.product_id= product.product_id ",
// "<where>",
//// "`detail_flag`=1 AND update_type = '1'",
// "update_type=1",
// "<if test='jwcode!=null'>and detail_y.jwcode =#{jwcode}</if>",
// "<if test='productName!=null and productName.length>0'>and product.name = #{productName}</if>",
// "<if test='consumePlatform!=null and consumePlatform.length>0'>and detail_y.consume_platform=#{consumePlatform}</if>",
// "<if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if>",
// "<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>",
// "<if test='area!=null and area.length>0'>and area=#{area}</if>",
// "</where>",
//
// "<choose>",
// " <!-- 优先使用前端传入的排序参数 -->",
// " <when test='sortField != null or sortOrder != null'>",
// " ORDER BY ${sortField} ${sortOrder}",
// " </when>",
// " <!-- 默认排序 -->",
// " <otherwise>",
// "ORDER BY detail_y.create_time DESC",
// " </otherwise>",
// "</choose>",
// "</script>"
// })
List<ConsumeDetail> select(ConsumeDetail consumeDetail);

130
src/main/java/com/example/demo/mapper/DetailYMapper.java

@ -40,40 +40,40 @@ public interface DetailYMapper {
})
DetailY selectByDetailyId(Integer detaily_id);
@Select({
"<script>",
"SELECT ",
"`user`.name,`user`.area,user_gold.buy_jb,user_gold.core_jb,user_gold.free_12,user_gold.free_6,",
"user_gold.jwcode,",
"SUM(CASE WHEN detail_y.update_type = 0 THEN detail_y.recharge_coin ELSE 0 END) AS Rcoin,",
"SUM(CASE WHEN detail_y.update_type = 1 THEN detail_y.recharge_coin + detail_y.free_coin + detail_y.task_coin ELSE 0 END) AS Scoin",
"FROM ",
"detail_y",
"LEFT JOIN ",
"user_gold ON detail_y.jwcode = user_gold.jwcode",
"LEFT JOIN",
"`user` ON detail_y.jwcode = `user`.jwcode",
"<where>",
"<if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode=#{jwcode}</if>",
"<if test='area!=null and area.length>0'>AND `user`.area=#{area}</if>",
"</where>",
"GROUP BY",
"user_gold.jwcode",
"<choose>",
" <!-- 优先使用前端传入的排序参数 -->",
" <when test='sortField != null or sortOrder != null'>",
" ORDER BY ${sortField} ${sortOrder}",
" </when>",
" <!-- 默认排序 -->",
" <otherwise>",
"ORDER BY ",
"Rcoin DESC",
" </otherwise>",
"</choose>",
"</script>"
})
// @Select({
// "<script>",
// "SELECT ",
// "`user`.name,`user`.area,user_gold.buy_jb,user_gold.core_jb,user_gold.free_12,user_gold.free_6,",
// "user_gold.jwcode,",
// "SUM(CASE WHEN detail_y.update_type = 0 THEN detail_y.recharge_coin ELSE 0 END) AS Rcoin,",
// "SUM(CASE WHEN detail_y.update_type = 1 THEN detail_y.recharge_coin + detail_y.free_coin + detail_y.task_coin ELSE 0 END) AS Scoin",
// "FROM ",
// "detail_y",
// "LEFT JOIN ",
// "user_gold ON detail_y.jwcode = user_gold.jwcode",
// "LEFT JOIN",
// "`user` ON detail_y.jwcode = `user`.jwcode",
// "<where>",
// "<if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode=#{jwcode}</if>",
// "<if test='area!=null and area.length>0'>AND `user`.area=#{area}</if>",
// "</where>",
// "GROUP BY",
// "user_gold.jwcode",
//
// "<choose>",
// " <!-- 优先使用前端传入的排序参数 -->",
// " <when test='sortField != null or sortOrder != null'>",
// " ORDER BY ${sortField} ${sortOrder}",
// " </when>",
// " <!-- 默认排序 -->",
// " <otherwise>",
// "ORDER BY ",
// "Rcoin DESC",
// " </otherwise>",
// "</choose>",
// "</script>"
//
// })
List<DetailYgold> selectgold(DetailYgold detailYgold);
// @Select({
@ -110,22 +110,22 @@ public interface DetailYMapper {
List<DetailY> select1(DetailY detailY);
@Select({
"<script>",
"SELECT",
" SUM(`recharge_coin`) AS 'sumR',",
" SUM(`task_coin`) AS 'sumT',",
" SUM(`free_coin`) AS 'sumF'",
"FROM",
"`detail_y`",
"<where>",
"<if test='jwcode!=null and jwcode.length>0'>AND jwcode=#{jwcode}</if>",
"<if test='updateType!=null'>AND update_type=#{updateType}</if>",
"<if test='startDate != null and endDate != null'>AND create_time BETWEEN #{startDate} AND #{endDate}</if>",
"<if test='area!=null and area.length>0'>AND area=#{area}</if>",
"</where>",
"</script>"
})
// @Select({
// "<script>",
// "SELECT",
// " SUM(`recharge_coin`) AS 'sumR',",
// " SUM(`task_coin`) AS 'sumT',",
// " SUM(`free_coin`) AS 'sumF'",
// "FROM",
// "`detail_y`",
// "<where>",
// "<if test='jwcode!=null and jwcode.length>0'>AND jwcode=#{jwcode}</if>",
// "<if test='updateType!=null'>AND update_type=#{updateType}</if>",
// "<if test='startDate != null and endDate != null'>AND create_time BETWEEN #{startDate} AND #{endDate}</if>",
// "<if test='area!=null and area.length>0'>AND area=#{area}</if>",
// "</where>",
// "</script>"
// })
DetailY getCount(DetailY detailY);
//导出数据的SQL
@ -143,20 +143,20 @@ public interface DetailYMapper {
@Select("SELECT COUNT(*) FROM detail_y")
int getTotalCount();
@Select({
"<script>",
"SELECT d.detaily_id,u.name,d.jwcode,u.area,d.consume_platform,d.update_type,d.recharge_coin,d.task_coin," +
"d.free_coin,d.create_admin,d.create_time",
"FROM detail_y d",
"LEFT JOIN user u on d.jwcode = u.jwcode ",
"<where>",
"<if test='updateType!=null'>AND d.update_type=#{updateType}</if>",
"<if test='jwcode!=null'>AND d.jwcode=#{jwcode}</if>",
"<if test='area != null '>AND u.area=#{area}</if>",
"<if test='startDate != null and endDate != null'>AND create_time BETWEEN #{startDate} AND #{endDate}</if>",
"</where>",
"ORDER BY detaily_id desc",
"</script>"
})
// @Select({
// "<script>",
// "SELECT d.detaily_id,u.name,d.jwcode,u.area,d.consume_platform,d.update_type,d.recharge_coin,d.task_coin," +
// "d.free_coin,d.create_admin,d.create_time",
// "FROM detail_y d",
// "LEFT JOIN user u on d.jwcode = u.jwcode ",
// "<where>",
// "<if test='updateType!=null'>AND d.update_type=#{updateType}</if>",
// "<if test='jwcode!=null'>AND d.jwcode=#{jwcode}</if>",
// "<if test='area != null '>AND u.area=#{area}</if>",
// "<if test='startDate != null and endDate != null'>AND create_time BETWEEN #{startDate} AND #{endDate}</if>",
// "</where>",
// "ORDER BY detaily_id desc",
// "</script>"
// })
List<UserDetailExport> searchAll(DetailExport detailExport);
}

66
src/main/java/com/example/demo/mapper/RechargeMapper.java

@ -49,39 +49,39 @@ public interface RechargeMapper {
})
int update(Recharge recharge);
@Select({
"<script>",
"SELECT user.`name` as user_name,recharge.jwcode,recharge.create_time,recharge.recharge_time," +
"recharge.recharge_way,recharge.remark,recharge.paid_gold,recharge.free_gold,recharge.recharge_gold,recharge.pay_way,recharge.recharge_voucher," +
"recharge.recharge_id,recharge.activity_id,recharge.admin_id,activity.activity_name,audit.`status`,audit.audit_id,audit.reson, admin.name,user.area,audit.detail_id FROM recharge",
"LEFT JOIN audit ON recharge.recharge_id = audit.recharge_id",
"LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode",
"LEFT JOIN activity on recharge.activity_id = activity.activity_id",
"LEFT JOIN `admin` on recharge.admin_id = `admin`.admin_id",
"<where>",
"flag='1'",
"<if test='jwcode!=null and jwcode.length>0'>and recharge.jwcode=#{jwcode}</if>",
"<if test='activityId!=null'>and recharge.activity_id=#{activityId}</if>",
"<if test='adminId!=null'>and recharge.admin_id=#{adminId}</if>",
"<if test='startDate != null and endDate != null'>AND recharge.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"<if test='payWay!=null and payWay.length>0 '>and pay_way like concat('%',#{payWay},'%')</if>",
"<if test='rechargeWay!=null and rechargeWay.length>0 '>and recharge_way like concat('%',#{rechargeWay},'%')</if>",
"<if test='area!=null and area.length>0'>and user.area=#{area}</if>",
"<if test='status!=null'>and audit.status=#{status}</if>",
"</where>",
"<choose>",
" <!-- 优先使用前端传入的排序参数 -->",
" <when test='sortField != null or sortOrder != null'>",
" ORDER BY ${sortField} ${sortOrder}",
" </when>",
" <!-- 默认排序 -->",
" <otherwise>",
"ORDER BY recharge.create_time DESC",
" </otherwise>",
"</choose>",
"</script>"
})
// @Select({
// "<script>",
// "SELECT user.`name` as user_name,recharge.jwcode,recharge.create_time,recharge.recharge_time," +
// "recharge.recharge_way,recharge.remark,recharge.paid_gold,recharge.free_gold,recharge.recharge_gold,recharge.pay_way,recharge.recharge_voucher," +
// "recharge.recharge_id,recharge.activity_id,recharge.admin_id,activity.activity_name,audit.`status`,audit.audit_id,audit.reson, admin.name,user.area,audit.detail_id FROM recharge",
// "LEFT JOIN audit ON recharge.recharge_id = audit.recharge_id",
// "LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode",
// "LEFT JOIN activity on recharge.activity_id = activity.activity_id",
// "LEFT JOIN `admin` on recharge.admin_id = `admin`.admin_id",
// "<where>",
// "flag='1'",
// "<if test='jwcode!=null and jwcode.length>0'>and recharge.jwcode=#{jwcode}</if>",
// "<if test='activityId!=null'>and recharge.activity_id=#{activityId}</if>",
// "<if test='adminId!=null'>and recharge.admin_id=#{adminId}</if>",
// "<if test='startDate != null and endDate != null'>AND recharge.create_time BETWEEN #{startDate} AND #{endDate}</if>",
// "<if test='payWay!=null and payWay.length>0 '>and pay_way like concat('%',#{payWay},'%')</if>",
// "<if test='rechargeWay!=null and rechargeWay.length>0 '>and recharge_way like concat('%',#{rechargeWay},'%')</if>",
// "<if test='area!=null and area.length>0'>and user.area=#{area}</if>",
// "<if test='status!=null'>and audit.status=#{status}</if>",
// "</where>",
// "<choose>",
// " <!-- 优先使用前端传入的排序参数 -->",
// " <when test='sortField != null or sortOrder != null'>",
// " ORDER BY ${sortField} ${sortOrder}",
// " </when>",
// " <!-- 默认排序 -->",
// " <otherwise>",
// "ORDER BY recharge.create_time DESC",
// " </otherwise>",
// "</choose>",
//
// "</script>"
// })
List<RechargeVo> select(RechargeVo rechargeVo);
//根据jwcode和充值类型判断有没有有首充标识设为0否者设为1
@Select({"select count(*) from detail",

60
src/main/java/com/example/demo/mapper/RefundMapper.java

@ -75,35 +75,35 @@ public interface RefundMapper {
Detail selectByDetailId(Integer detailId);
@Select({
"<script>",
"SELECT d.jwcode,d.refund_type,d.refund_goods,d.recharge_coin,d.free_coin,d.task_coin,d.remark,d.create_time,d.detail_id,",
" u.area, a.name AS adminName,",
" u.name AS userName,",
" au.status , au.reson AS auditReson,au.refund_id,au.audit_id",
"FROM detail d",
"LEFT JOIN `admin` a ON d.admin_id = a.admin_id",
"LEFT JOIN `user` u ON d.jwcode = u.jwcode",
"LEFT JOIN audit au ON d.detail_id = au.refund_id",
"WHERE d.detail_flag = 1 and update_type = 2 ",
"<if test='status!=null'>and au.status=#{status}</if>",
"<if test='area!=null and area.length>0'>AND u.area = #{area}</if>",
"<if test='jwcode != null'>AND d.jwcode = #{jwcode}</if>",
"<if test='refundType != null and refundType.length>0'>AND d.refund_type LIKE CONCAT('%', #{refundType}, '%')</if>",
"<if test='refundGoods != null and refundGoods.length>0'>AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%')</if>",
"<if test='startDate != null and endDate != null'>AND d.create_time BETWEEN #{startDate} AND #{endDate}</if>",
"<choose>",
" <!-- 优先使用前端传入的排序参数 -->",
" <when test='sortField != null or sortOrder != null'>",
" ORDER BY ${sortField} ${sortOrder}",
" </when>",
" <!-- 默认排序 -->",
" <otherwise>",
"ORDER BY d.create_time DESC",
" </otherwise>",
"</choose>",
"</script>"
})
// @Select({
// "<script>",
// "SELECT d.jwcode,d.refund_type,d.refund_goods,d.recharge_coin,d.free_coin,d.task_coin,d.remark,d.create_time,d.detail_id,",
// " u.area, a.name AS adminName,",
// " u.name AS userName,",
// " au.status , au.reson AS auditReson,au.refund_id,au.audit_id",
// "FROM detail d",
// "LEFT JOIN `admin` a ON d.admin_id = a.admin_id",
// "LEFT JOIN `user` u ON d.jwcode = u.jwcode",
// "LEFT JOIN audit au ON d.detail_id = au.refund_id",
// "WHERE d.detail_flag = 1 and update_type = 2 ",
// "<if test='status!=null'>and au.status=#{status}</if>",
// "<if test='area!=null and area.length>0'>AND u.area = #{area}</if>",
// "<if test='jwcode != null'>AND d.jwcode = #{jwcode}</if>",
// "<if test='refundType != null and refundType.length>0'>AND d.refund_type LIKE CONCAT('%', #{refundType}, '%')</if>",
// "<if test='refundGoods != null and refundGoods.length>0'>AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%')</if>",
// "<if test='startDate != null and endDate != null'>AND d.create_time BETWEEN #{startDate} AND #{endDate}</if>",
//
// "<choose>",
// " <!-- 优先使用前端传入的排序参数 -->",
// " <when test='sortField != null or sortOrder != null'>",
// " ORDER BY ${sortField} ${sortOrder}",
// " </when>",
// " <!-- 默认排序 -->",
// " <otherwise>",
// "ORDER BY d.create_time DESC",
// " </otherwise>",
// "</choose>",
// "</script>"
// })
List<Detail> select(Detail detail);
}

1
src/main/java/com/example/demo/mapper/StatisticsMapper.java

@ -178,7 +178,6 @@ public interface StatisticsMapper {
})
SumCoin getDayConsumeCoin();
// @Select({"SELECT DATE_FORMAT(create_time, '%Y-%m') AS month," ,
// " SUM(recharge_coin) AS rechargeSumCoin," ,
// " SUM(free_coin) AS freeSumCoin,",

4
src/main/resources/application.yml

@ -17,8 +17,8 @@ spring:
connection-timeout: 30000
pool-name: HwgoldHikariCP
driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai
url: jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=Asia/Shanghai
url: jdbc:mysql://54.251.137.151:10701/hwgold?serverTimezone=Asia/Shanghai
# url: jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=Asia/Shanghai
username: hwgold
password: 'AGX4Z3YMxiCG3GR2'
application:

51
src/main/resources/mapper/ConsumeMapper.xml

@ -19,6 +19,57 @@
<if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if>
<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>
<if test='area!=null and area.length>0'>and area=#{area}</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
</select>
<select id="select" resultType="com.example.demo.domain.vo.ConsumeDetail">
SELECT
detail_y.*,
admin.name AS adminName,
product.name AS productName
FROM detail_y
LEFT JOIN `admin` ON detail_y.admin_id = admin.admin_id
LEFT JOIN `user` ON detail_y.jwcode = user.jwcode
LEFT JOIN product ON detail_y.product_id = product.product_id
<where>
update_type = 1
<if test='jwcode != null'>
AND detail_y.jwcode = #{jwcode}
</if>
<if test='productName != null and productName.length > 0'>
AND product.name = #{productName}
</if>
<if test='consumePlatform != null and consumePlatform.length > 0'>
AND detail_y.consume_platform = #{consumePlatform}
</if>
<if test='consumeType != null and consumeType.length > 0'>
AND detail_y.consume_type = #{consumeType}
</if>
<if test='startDate != null and endDate != null'>
AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}
</if>
<if test='area != null and area.length > 0'>
AND area = #{area}
</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
<choose>
<when test="sortField != null and sortField >0 or sortOrder != null and sortOrder >0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY detail_y.create_time DESC
</otherwise>
</choose>
</select>
</mapper>

139
src/main/resources/mapper/DetailYMapper.xml

@ -44,10 +44,16 @@
<if test="area != null and area.length > 0">
AND area = #{area}
</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
<choose>
<!-- 优先使用前端传入的排序参数 -->
<when test="sortField != null or sortOrder != null">
<when test="sortField != null and sortField >0 or sortOrder != null and sortOrder >0">
ORDER BY ${sortField} ${sortOrder}
</when>
<!-- 默认排序 -->
@ -97,16 +103,16 @@
<if test="area != null and area.length > 0">
AND area = #{area}
</if>
<!-- <if test="areas != null">-->
<!-- AND area IN-->
<!-- <foreach collection="areas" item="areas" open="(" separator="," close=")">-->
<!-- #{areas}-->
<!-- </foreach>-->
<!-- </if>-->
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
<choose>
<!-- 优先使用前端传入的排序参数 -->
<when test="sortField != null or sortOrder != null">
<when test="sortField != null and sortField >0 or sortOrder != null and sortOrder >0">
ORDER BY ${sortField} ${sortOrder}
</when>
<!-- 默认排序 -->
@ -158,6 +164,12 @@
<if test="area != null and area.length > 0">
AND area = #{area}
</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
GROUP BY
types;
@ -165,4 +177,115 @@
<select id="getarea" resultType="java.lang.String">
SELECT DISTINCT area FROM detail_y
</select>
<select id="selectgold" resultType="com.example.demo.domain.vo.DetailYgold">
SELECT
`user`.name,
`user`.area,
user_gold.buy_jb,
user_gold.core_jb,
user_gold.free_12,
user_gold.free_6,
user_gold.jwcode,
SUM(CASE WHEN detail_y.update_type = 0 THEN detail_y.recharge_coin ELSE 0 END) AS Rcoin,
SUM(CASE WHEN detail_y.update_type = 1 THEN detail_y.recharge_coin + detail_y.free_coin + detail_y.task_coin ELSE 0 END) AS Scoin
FROM
detail_y
LEFT JOIN
user_gold ON detail_y.jwcode = user_gold.jwcode
LEFT JOIN
`user` ON detail_y.jwcode = `user`.jwcode
<where>
<if test='jwcode != null and jwcode.length > 0'>
AND detail_y.jwcode = #{jwcode}
</if>
<if test='area != null and area.length > 0'>
AND `user`.area = #{area}
</if>
<if test="areas != null">
AND `user`.area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
GROUP BY
user_gold.jwcode
<choose>
<when test='sortField != null or sortOrder != null'>
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY Rcoin DESC
</otherwise>
</choose>
</select>
<select id="getCount" resultType="com.example.demo.domain.entity.DetailY">
SELECT
SUM(`recharge_coin`) AS sumR,
SUM(`task_coin`) AS sumT,
SUM(`free_coin`) AS sumF
FROM
`detail_y`
<where>
<if test='jwcode != null and jwcode.length > 0'>
AND jwcode = #{jwcode}
</if>
<if test='updateType != null'>
AND update_type = #{updateType}
</if>
<if test='startDate != null and endDate != null'>
AND create_time BETWEEN #{startDate} AND #{endDate}
</if>
<if test='area != null and area.length > 0'>
AND area = #{area}
</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
</select>
<select id="searchAll" resultType="com.example.demo.domain.vo.DetailExport">
SELECT
d.detaily_id,
u.name,
d.jwcode,
u.area,
d.consume_platform,
d.update_type,
d.recharge_coin,
d.task_coin,
d.free_coin,
d.create_admin,
d.create_time
FROM
detail_y d
LEFT JOIN
user u ON d.jwcode = u.jwcode
<where>
<if test="updateType != null">
AND d.update_type = #{updateType}
</if>
<if test="jwcode != null">
AND d.jwcode = #{jwcode}
</if>
<if test="area != null">
AND u.area = #{area}
</if>
<if test="areas != null">
AND u.area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
<if test="startDate != null and endDate != null">
AND d.create_time BETWEEN #{startDate} AND #{endDate}
</if>
</where>
ORDER BY
d.detaily_id DESC
</select>
</mapper>

76
src/main/resources/mapper/RechargeMapper.xml

@ -37,6 +37,12 @@
<if test='rechargeWay!=null and rechargeWay.length>0 '>and recharge_way like concat('%',#{rechargeWay},'%')</if>
<if test='area!=null and area.length>0'>and user.area=#{area}</if>
<if test='status!=null'>and audit.status=#{status}</if>
<if test="areas != null">
AND user.area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
GROUP BY
flag;
@ -47,4 +53,74 @@
FROM
recharge
</select>
<select id="select" resultType="com.example.demo.domain.vo.RechargeVo">
SELECT
user.`name` AS user_name,
recharge.jwcode,
recharge.create_time,
recharge.recharge_time,
recharge.recharge_way,
recharge.remark,
recharge.paid_gold,
recharge.free_gold,
recharge.recharge_gold,
recharge.pay_way,
recharge.recharge_voucher,
recharge.recharge_id,
recharge.activity_id,
recharge.admin_id,
activity.activity_name,
audit.`status`,
audit.audit_id,
audit.reson,
admin.name,
user.area,
audit.detail_id
FROM recharge
LEFT JOIN audit ON recharge.recharge_id = audit.recharge_id
LEFT JOIN `user` ON recharge.jwcode = `user`.jwcode
LEFT JOIN activity ON recharge.activity_id = activity.activity_id
LEFT JOIN `admin` ON recharge.admin_id = `admin`.admin_id
<where>
flag = '1'
<if test='jwcode != null and jwcode.length > 0'>
AND recharge.jwcode = #{jwcode}
</if>
<if test='activityId != null'>
AND recharge.activity_id = #{activityId}
</if>
<if test='adminId != null'>
AND recharge.admin_id = #{adminId}
</if>
<if test='startDate != null and endDate != null'>
AND recharge.create_time BETWEEN #{startDate} AND #{endDate}
</if>
<if test='payWay != null and payWay.length > 0'>
AND pay_way LIKE CONCAT('%', #{payWay}, '%')
</if>
<if test='rechargeWay != null and rechargeWay.length > 0'>
AND recharge_way LIKE CONCAT('%', #{rechargeWay}, '%')
</if>
<if test='area != null and area.length > 0'>
AND user.area = #{area}
</if>
<if test='status != null'>
AND audit.status = #{status}
</if>
<if test="areas != null">
AND user.area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
<choose>
<when test="sortField != null and sortField >0 or sortOrder != null and sortOrder >0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY recharge.create_time DESC
</otherwise>
</choose>
</select>
</mapper>

101
src/main/resources/mapper/RefundMapper.xml

@ -35,8 +35,109 @@
<if test='area!=null and area.length>0'>and user.area=#{area}</if>
<if test='refundType != null and refundType.length>0'>AND d.refund_type LIKE CONCAT('%', #{refundType}, '%')</if>
<if test='refundGoods != null and refundGoods.length>0'>AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%')</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
GROUP BY
au.status
</select>
<select id="select" resultType="com.example.demo.domain.entity.Detail">
SELECT
d.jwcode,
d.refund_type,
d.refund_goods,
d.recharge_coin,
d.free_coin,
d.task_coin,
d.remark,
d.create_time,
d.detail_id,
u.area,
a.name AS adminName,
u.name AS userName,
au.status,
au.reson AS auditReson,
au.refund_id,
au.audit_id
FROM detail d
LEFT JOIN `admin` a ON d.admin_id = a.admin_id
LEFT JOIN `user` u ON d.jwcode = u.jwcode
LEFT JOIN audit au ON d.detail_id = au.refund_id
<where>
d.detail_flag = 1
AND update_type = 2
<if test='status != null'>
AND au.status = #{status}
</if>
<if test='area != null and area.length > 0'>
AND u.area = #{area}
</if>
<if test='jwcode != null'>
AND d.jwcode = #{jwcode}
</if>
<if test='refundType != null and refundType.length > 0'>
AND d.refund_type LIKE CONCAT('%', #{refundType}, '%')
</if>
<if test='refundGoods != null and refundGoods.length > 0'>
AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%')
</if>
<if test='startDate != null and endDate != null'>
AND d.create_time BETWEEN #{startDate} AND #{endDate}
</if>
<if test="areas != null">
AND u.area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
<choose>
<when test="sortField != null and sortField >0 or sortOrder != null and sortOrder >0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY d.create_time DESC
</otherwise>
</choose>
</select>
<select id="queryDetailYWithUser" resultType="map">
SELECT
d.detaily_id,
u.name,
d.jwcode,
u.area,
d.consume_platform,
d.update_type,
d.recharge_coin,
d.task_coin,
d.free_coin,
d.create_admin,
d.create_time
FROM
detail_y d
LEFT JOIN
user u ON d.jwcode = u.jwcode
<where>
<if test='updateType != null'>
AND d.update_type = #{updateType}
</if>
<if test='jwcode != null'>
AND d.jwcode = #{jwcode}
</if>
<if test='area != null'>
AND u.area = #{area}
</if>
<if test='startDate != null and endDate != null'>
AND create_time BETWEEN #{startDate} AND #{endDate}
</if>
</where>
ORDER BY
detaily_id DESC
</select>
</mapper>
Loading…
Cancel
Save