Commit 918dabed authored by liming's avatar liming

点赞接口

parent 25e8d0f7
......@@ -27,6 +27,7 @@
<properties>
<java.version>11</java.version>
<spring-boot.version>2.4.2</spring-boot.version>
<lombok.version>1.18.20</lombok.version>
<mybatis-plus.version>3.4.3.1</mybatis-plus.version>
<jasypt.version>3.0.3</jasypt.version>
<yaml.version>1.28</yaml.version>
......@@ -38,6 +39,7 @@
<commons.lang3.version>3.7</commons.lang3.version>
<aliyun-sdk.version>4.4.6</aliyun-sdk.version>
<aliyun-dysmsapi.version>1.1.0</aliyun-dysmsapi.version>
<org.mapstruct.version>1.4.2.Final</org.mapstruct.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
......@@ -48,6 +50,7 @@
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
<dependency>
......@@ -114,6 +117,11 @@
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>${aliyun-dysmsapi.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
......
......@@ -40,12 +40,12 @@ public class PraiseLog implements Serializable {
/**
* 点赞用户id
*/
private Long from;
private Long fromId;
/**
* 被点赞用户
*/
private Long to;
private Long toId;
/**
* 创建时间
......
......@@ -24,6 +24,11 @@
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
</dependency>
<dependency>
<groupId>com.easemob.im</groupId>
<artifactId>im-sdk-core</artifactId>
......@@ -41,6 +46,19 @@
<target>${java.version}</target>
<fork>true</fork>
<encoding>${project.build.sourceEncoding}</encoding>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
......
......@@ -9,7 +9,7 @@ import springfox.documentation.oas.annotations.EnableOpenApi;
@SpringBootApplication
@EnableOpenApi
@ComponentScan(value = "com.antai")
@MapperScan("com.antai")
@MapperScan("com.antai.**.mapper")
public class ServerApiApplication {
public static void main(String[] args) {
SpringApplication.run(ServerApiApplication.class, args);
......
package com.antai.sport.http.server.server.api;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@Api(tags = {"test"})
public class TestController {
@ApiOperation(value = "测试")
@GetMapping("test")
public Map test(){
return Map.of("test","hha");
}
}
package com.antai.sport.http.server.server.api.business.praise.controller;
import com.antai.sport.http.server.common.base.Result;
import com.antai.sport.http.server.server.api.business.praise.dto.ReqPraise;
import com.antai.sport.http.server.server.api.business.praise.service.PraiseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import static com.antai.sport.http.server.common.util.ResultUtil.success;
@RestController
@RequestMapping("praise")
@Api(tags = {"点赞"})
public class PraiseController {
@Resource
private PraiseService praiseService;
@ApiOperation("点赞")
@PostMapping
public ResponseEntity<Result> praise(@RequestBody ReqPraise param) {
praiseService.praise(param);
return success();
}
}
package com.antai.sport.http.server.server.api.business.praise.converter;
import com.antai.sport.http.server.repository.base.entity.PraiseLog;
import com.antai.sport.http.server.server.api.business.praise.dto.ReqPraise;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import java.time.LocalDateTime;
@Mapper(componentModel = "spring")
public interface PraiseConverter {
@Mappings({
@Mapping(source = "source.from", target = "fromId"),
@Mapping(source = "source.to", target = "toId"),
@Mapping(source = "createTime",target = "createTime")
})
PraiseLog reqPraiseToPraiseLog(ReqPraise source, LocalDateTime createTime);
}
package com.antai.sport.http.server.server.api.business.praise.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("点赞请求")
public class ReqPraise {
@ApiModelProperty("点赞类型 10:漫游 20:日常赛 30:系列赛 40:训练模式 50: 团练")
private Integer type;
@ApiModelProperty("源头数据id 比如漫游记录id 比赛赛事id 团练活动id等")
private Long sourceId;
@ApiModelProperty("点赞人")
private Long from;
@ApiModelProperty("被点赞人")
private Long to;
}
package com.antai.sport.http.server.server.api.business.praise.service;
import com.antai.sport.http.server.repository.base.entity.PraiseLog;
import com.antai.sport.http.server.repository.base.mapper.PraiseLogMapper;
import com.antai.sport.http.server.server.api.business.praise.converter.PraiseConverter;
import com.antai.sport.http.server.server.api.business.praise.dto.ReqPraise;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
@Service
public class PraiseService {
@Resource
private PraiseLogMapper praiseLogMapper;
@Resource
private PraiseConverter praiseConverter;
public void praise(ReqPraise param) {
PraiseLog praiseLog = praiseConverter.reqPraiseToPraiseLog(param, LocalDateTime.now());
praiseLogMapper.insert(praiseLog);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment