Browse Source

4.17 完成消费明细接口

Huang
huangqizhen 3 months ago
parent
commit
42563d2f42
  1. 13
      src/main/java/com/example/demo/controller/DouController.java
  2. 8
      src/main/java/com/example/demo/domain/dou/Pay.java
  3. 9
      src/main/java/com/example/demo/domain/dou/Spend.java
  4. 27
      src/main/java/com/example/demo/domain/dou/SpendTotal.java
  5. 2
      src/main/java/com/example/demo/domain/vo/Page.java
  6. 2
      src/main/java/com/example/demo/domain/vo/RechargeVo.java
  7. 1
      src/main/java/com/example/demo/mapperLink/DouMapper.java
  8. 17
      src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java
  9. 3
      src/main/java/com/example/demo/sevice/DouService.java
  10. 36
      src/main/resources/mapperLink/DouMapper.xml
  11. 17
      src/main/resources/mapperPay/PayMapper.xml

13
src/main/java/com/example/demo/controller/DouController.java

@ -4,6 +4,7 @@ package com.example.demo.controller;
import com.example.demo.domain.dou.Records; import com.example.demo.domain.dou.Records;
import com.example.demo.domain.dou.Searchinfo; import com.example.demo.domain.dou.Searchinfo;
import com.example.demo.domain.dou.SpendTotal;
import com.example.demo.domain.dou.YveTotal; import com.example.demo.domain.dou.YveTotal;
import com.example.demo.domain.vo.Page; import com.example.demo.domain.vo.Page;
import com.example.demo.domain.vo.Result; import com.example.demo.domain.vo.Result;
@ -80,4 +81,16 @@ public class DouController {
return Result.success(douService.searchPay(page.getPageNum(), page.getPageSize(), page.getPay())); return Result.success(douService.searchPay(page.getPageNum(), page.getPageSize(), page.getPay()));
} }
} }
@RequestMapping("/getSpend")
public Result getSpend(@RequestBody Page page){
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.success(douService.getSpend(page.getSpend()));
} else {
return Result.success(douService.searchSpend(page.getPageNum(), page.getPageSize(), page.getSpend()));
}
}
@RequestMapping("/getSpendTotal")
public Result getSpendTotal(@RequestBody SpendTotal spendTotal){
return Result.success(douService.getSpendTotal(spendTotal));
}
} }

8
src/main/java/com/example/demo/domain/dou/Pay.java

@ -1,8 +1,10 @@
package com.example.demo.domain.dou; package com.example.demo.domain.dou;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -25,7 +27,13 @@ public class Pay {
private String name; private String name;
private String deptName; private String deptName;
private String shopName; private String shopName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime; private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime; private Date endTime;
private String sortField;
private String sortOrder;
} }

9
src/main/java/com/example/demo/domain/dou/Spend.java

@ -1,10 +1,13 @@
package com.example.demo.domain.dou; package com.example.demo.domain.dou;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@ -27,4 +30,10 @@ public class Spend implements Serializable {
private Integer payType; private Integer payType;
private Integer sourceType; private Integer sourceType;
private Integer time; private Integer time;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
} }

27
src/main/java/com/example/demo/domain/dou/SpendTotal.java

@ -0,0 +1,27 @@
package com.example.demo.domain.dou;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SpendTotal {
private String token;
private Integer SpendTotal;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
private String jwcode;
private String sourceName;
private Integer payType;
private String ipAddress;
}

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

@ -2,6 +2,7 @@ package com.example.demo.domain.vo;
import com.example.demo.domain.dou.Pay; import com.example.demo.domain.dou.Pay;
import com.example.demo.domain.dou.Spend;
import com.example.demo.domain.dou.Yve; import com.example.demo.domain.dou.Yve;
import com.example.demo.domain.entity.*; import com.example.demo.domain.entity.*;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@ -32,6 +33,7 @@ public class Page implements Serializable {
private DetailYgold detailYgold; private DetailYgold detailYgold;
private Yve yve; private Yve yve;
private Pay pay; private Pay pay;
private Spend spend;
} }

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

@ -36,7 +36,7 @@ public class RechargeVo implements Serializable { // 实现 Serializable 接口
private Date createTime; private Date createTime;
private Date startDate; private Date startDate;
private Date endDate; private Date endDate;
private String userName;
private String username;
private String activityName; private String activityName;
private Integer status; private Integer status;
private String reson; private String reson;

1
src/main/java/com/example/demo/mapperLink/DouMapper.java

@ -15,5 +15,6 @@ public interface DouMapper {
YveTotal getYveTotal(YveTotal yveTotal); YveTotal getYveTotal(YveTotal yveTotal);
List<String> getIp(); List<String> getIp();
List<Spend> getSpend(Spend spend); List<Spend> getSpend(Spend spend);
Integer getSpendTotal(SpendTotal spendTotal);
} }

17
src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java

@ -141,4 +141,21 @@ public class DouServiceImpl implements DouService {
List<Pay> list= payMapper.getPay(pay); List<Pay> list= payMapper.getPay(pay);
return new PageInfo<>(list); return new PageInfo<>(list);
} }
@Override
public List<Spend> getSpend(Spend spend) {
return douMapper.getSpend(spend);
}
@Override
public Object searchSpend(Integer pageNum, Integer pageSize, Spend spend) {
PageHelper.startPage(pageNum, pageSize);
List<Spend> list= douMapper.getSpend(spend);
return new PageInfo<>(list);
}
@Override
public Integer getSpendTotal(SpendTotal spendTotal) {
return douMapper.getSpendTotal(spendTotal);
}
} }

3
src/main/java/com/example/demo/sevice/DouService.java

@ -19,4 +19,7 @@ public interface DouService {
List<String> getPayIp(); List<String> getPayIp();
List<Pay> getPay(Pay pay); List<Pay> getPay(Pay pay);
Object searchPay(Integer pageNum, Integer pageSize, Pay pay); Object searchPay(Integer pageNum, Integer pageSize, Pay pay);
List<Spend> getSpend(Spend spend);
Object searchSpend(Integer pageNum, Integer pageSize, Spend spend);
Integer getSpendTotal(SpendTotal spendTotal);
} }

36
src/main/resources/mapperLink/DouMapper.xml

@ -15,7 +15,7 @@
fy.jinbi_free, fy.jinbi_free,
fy.jinbi_buy, fy.jinbi_buy,
fy.s1, fy.s1,
COUNT(CASE WHEN fmr.data = 1 THEN 1 END) AS data_1_count,
COUNT(CASE WHEN fmr.data = 1 THEN 1 END) AS number,
fm2.nickname AS master_nickname, -- 师傅的昵称 fm2.nickname AS master_nickname, -- 师傅的昵称
fm2.shop AS master_shop -- 师傅的店铺 fm2.shop AS master_shop -- 师傅的店铺
FROM fx_member fm FROM fx_member fm
@ -102,11 +102,43 @@
<if test="payType != null and payType.length > 0"> <if test="payType != null and payType.length > 0">
AND fy.pay_type = #{payType} AND fy.pay_type = #{payType}
</if> </if>
<if test="startTime != null and endTime != null">
and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
</if>
</where>
<choose>
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder}
</when>
</choose>
</select>
<select id="getSpendTotal" resultType="java.lang.Integer">
SELECT
SELECT
sum(fy.money) as SpendTotal
FROM fx_member fm
LEFT JOIN fx_yaoqing_records fy ON fm.id = fy.uid
<where>
<if test="jwcode != null and jwcode.length > 0">
AND fm.jwcode = #{jwcode}
</if>
<if test="ipAddress != null and ipAddress.length > 0">
AND fm.ip_address = #{ipAddress}
</if>
<if test="sourceName != null and sourceName.length > 0">
AND fy.source_name = #{sourceName}
</if>
<if test="payType != null and payType.length > 0">
AND fy.pay_type = #{payType}
</if>
<if test="sourceType != null and sourceType.length > 0"> <if test="sourceType != null and sourceType.length > 0">
AND fy.source_type = #{sourceType} AND fy.source_type = #{sourceType}
</if> </if>
<if test="startTime != null and endTime != null">
and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
</if>
</where> </where>
</select> </select>
</mapper> </mapper>

17
src/main/resources/mapperPay/PayMapper.xml

@ -8,25 +8,30 @@
LEFT JOIN member_info as mi on go.jwcode = mi.jwcode LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
LEFT JOIN g_pay_style gps on go.pay_style=gps.id LEFT JOIN g_pay_style gps on go.pay_style=gps.id
<where> <where>
<if test="jwcode != null and jwcode.length > 0">
go.jwcode = #{jwcode}
<if test="jwcode != null">
and go.jwcode = #{jwcode}
</if> </if>
<if test="orderNo != null and orderNo.length > 0"> <if test="orderNo != null and orderNo.length > 0">
go.order_no = #{orderNo}
and go.order_no = #{orderNo}
</if> </if>
<if test="type != null and type.length > 0"> <if test="type != null and type.length > 0">
go.type = #{type}
and go.type = #{type}
</if> </if>
<if test="payStyle != null and payStyle.length > 0"> <if test="payStyle != null and payStyle.length > 0">
go.pay_style = #{payStyle}
and go.pay_style = #{payStyle}
</if> </if>
<if test="deptName !=null and deptName.length > 0"> <if test="deptName !=null and deptName.length > 0">
mi.deptName = #{deptName}
and mi.deptName = #{deptName}
</if> </if>
<if test="startTime != null and endTime != null"> <if test="startTime != null and endTime != null">
and FROM_UNIXTIME(go.success_time) BETWEEN #{startTime} AND #{endTime} and FROM_UNIXTIME(go.success_time) BETWEEN #{startTime} AND #{endTime}
</if> </if>
</where> </where>
<choose>
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder}
</when>
</choose>
</select> </select>
<select id="getPayIp" resultType="java.lang.String"> <select id="getPayIp" resultType="java.lang.String">
SELECT DISTINCT deptName FROM member_info SELECT DISTINCT deptName FROM member_info

Loading…
Cancel
Save