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; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonAnySetter; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.util.Date; |
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
|
|||
@Data |
|||
@NoArgsConstructor |
|||
public class Meium { |
|||
public class Meium implements Serializable { |
|||
//中间-11个月 每月充值金币 |
|||
private BigDecimal rechargeSumCoin; |
|||
//中间-11个月 每月免费金币 |
|||
private BigDecimal freeSumCoin; |
|||
//中间-11个月 每月任务金币 |
|||
private BigDecimal taskSumCoin; |
|||
private String area; |
|||
private String store; |
|||
private BigDecimal totalRechargeSum; |
|||
private Date searchStartTime; |
|||
private Date searchEndTime; |
|||
private LocalDateTime searchStartTime; |
|||
private LocalDateTime searchEndTime; |
|||
private String updateType; |
|||
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