14 changed files with 245 additions and 32 deletions
-
28src/main/java/com/example/demo/config/JacksonConfig.java
-
28src/main/java/com/example/demo/config/LocalDateTimeDeserializer.java
-
27src/main/java/com/example/demo/config/LocalDateTimeSerializer.java
-
12src/main/java/com/example/demo/controller/StatisticsController.java
-
33src/main/java/com/example/demo/domain/entity/Activity.java
-
22src/main/java/com/example/demo/domain/vo/Meium.java
-
6src/main/java/com/example/demo/domain/vo/Page.java
-
1src/main/java/com/example/demo/mapper/RechargeMapper.java
-
33src/main/java/com/example/demo/mapper/StatisticsMapper.java
-
14src/main/java/com/example/demo/mapper/UserMapper.java
-
11src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
-
11src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
-
44src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
-
7src/main/java/com/example/demo/sevice/StatisticsService.java
@ -0,0 +1,28 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
|
||||
|
//import com.example.demo.config.LocalDateTimeSerializer; |
||||
|
//import com.example.demo.config.LocalDateTimeDeserializer; |
||||
|
import com.fasterxml.jackson.databind.ObjectMapper; |
||||
|
import com.fasterxml.jackson.databind.module.SimpleModule; |
||||
|
import org.springframework.context.annotation.Bean; |
||||
|
import org.springframework.context.annotation.Configuration; |
||||
|
|
||||
|
import java.time.LocalDateTime; |
||||
|
|
||||
|
|
||||
|
@Configuration |
||||
|
public class JacksonConfig { |
||||
|
|
||||
|
@Bean |
||||
|
public ObjectMapper objectMapper() { |
||||
|
SimpleModule module = new SimpleModule(); |
||||
|
module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer()); |
||||
|
module.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer()); |
||||
|
|
||||
|
ObjectMapper mapper = new ObjectMapper(); |
||||
|
mapper.registerModule(module); |
||||
|
|
||||
|
return mapper; |
||||
|
} |
||||
|
} |
@ -0,0 +1,28 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
|
||||
|
|
||||
|
import com.fasterxml.jackson.core.JsonParser; |
||||
|
import com.fasterxml.jackson.databind.DeserializationContext; |
||||
|
import com.fasterxml.jackson.databind.deser.std.StdDeserializer; |
||||
|
import java.io.IOException; |
||||
|
import java.time.LocalDateTime; |
||||
|
import java.time.format.DateTimeFormatter; |
||||
|
|
||||
|
public class LocalDateTimeDeserializer extends StdDeserializer<LocalDateTime> { |
||||
|
|
||||
|
private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
||||
|
|
||||
|
public LocalDateTimeDeserializer() { |
||||
|
this(null); |
||||
|
} |
||||
|
|
||||
|
public LocalDateTimeDeserializer(Class<?> vc) { |
||||
|
super(vc); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { |
||||
|
return LocalDateTime.parse(p.getValueAsString(), formatter); |
||||
|
} |
||||
|
} |
@ -0,0 +1,27 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
|
||||
|
import com.fasterxml.jackson.core.JsonGenerator; |
||||
|
import com.fasterxml.jackson.databind.SerializerProvider; |
||||
|
import com.fasterxml.jackson.databind.ser.std.StdSerializer; |
||||
|
import java.io.IOException; |
||||
|
import java.time.LocalDateTime; |
||||
|
import java.time.format.DateTimeFormatter; |
||||
|
|
||||
|
public class LocalDateTimeSerializer extends StdSerializer<LocalDateTime> { |
||||
|
|
||||
|
private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
||||
|
|
||||
|
public LocalDateTimeSerializer() { |
||||
|
this(null); |
||||
|
} |
||||
|
|
||||
|
public LocalDateTimeSerializer(Class<LocalDateTime> t) { |
||||
|
super(t); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void serialize(LocalDateTime value, JsonGenerator gen, SerializerProvider provider) throws IOException { |
||||
|
gen.writeString(value.format(formatter)); |
||||
|
} |
||||
|
} |
@ -1,24 +1,40 @@ |
|||||
package com.example.demo.domain.vo; |
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonAnySetter; |
||||
import lombok.Data; |
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
import java.math.BigDecimal; |
import java.math.BigDecimal; |
||||
|
import java.time.LocalDateTime; |
||||
import java.util.Date; |
import java.util.Date; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.Map; |
||||
|
|
||||
@Data |
@Data |
||||
@NoArgsConstructor |
@NoArgsConstructor |
||||
public class Meium { |
|
||||
|
public class Meium implements Serializable { |
||||
//中间-11个月 每月充值金币 |
//中间-11个月 每月充值金币 |
||||
private BigDecimal rechargeSumCoin; |
private BigDecimal rechargeSumCoin; |
||||
//中间-11个月 每月免费金币 |
//中间-11个月 每月免费金币 |
||||
private BigDecimal freeSumCoin; |
private BigDecimal freeSumCoin; |
||||
//中间-11个月 每月任务金币 |
//中间-11个月 每月任务金币 |
||||
private BigDecimal taskSumCoin; |
private BigDecimal taskSumCoin; |
||||
|
private String area; |
||||
|
private String store; |
||||
private BigDecimal totalRechargeSum; |
private BigDecimal totalRechargeSum; |
||||
private Date searchStartTime; |
|
||||
private Date searchEndTime; |
|
||||
|
private LocalDateTime searchStartTime; |
||||
|
private LocalDateTime searchEndTime; |
||||
private String updateType; |
private String updateType; |
||||
private String type; |
private String type; |
||||
|
private String token; // 新增的token字段 |
||||
|
|
||||
|
// 如果有更多的未知字段,可以使用@JsonAnySetter来捕获它们 |
||||
|
private Map<String, Object> additionalProperties = new HashMap<>(); |
||||
|
|
||||
|
@JsonAnySetter |
||||
|
public void setAdditionalProperty(String name, Object value) { |
||||
|
this.additionalProperties.put(name, value); |
||||
|
} |
||||
|
|
||||
} |
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue