6 changed files with 217 additions and 0 deletions
-
68src/main/java/com/example/demo/controller/RateController.java
-
30src/main/java/com/example/demo/domain/vo/RateDetail.java
-
18src/main/java/com/example/demo/mapper/RateMapper.java
-
16src/main/java/com/example/demo/service/RateService.java
-
43src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
-
42src/main/resources/mapper/RateMapper.xml
@ -0,0 +1,68 @@ |
|||||
|
package com.example.demo.controller; |
||||
|
|
||||
|
|
||||
|
import com.example.demo.domain.entity.Rate; |
||||
|
import com.example.demo.domain.vo.Page; |
||||
|
import com.example.demo.domain.vo.Result; |
||||
|
import com.example.demo.mapper.RateMapper; |
||||
|
import com.example.demo.service.RateService; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.util.ObjectUtils; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import java.util.Map; |
||||
|
|
||||
|
|
||||
|
@RestController |
||||
|
@RequestMapping("/rate") |
||||
|
@RequiredArgsConstructor |
||||
|
@Slf4j |
||||
|
@CrossOrigin |
||||
|
public class RateController { |
||||
|
|
||||
|
@Autowired |
||||
|
private RateService rateService; |
||||
|
|
||||
|
//货币汇率列表 |
||||
|
@PostMapping("/selectAll") |
||||
|
public Result selectAll(@RequestBody Page page){ |
||||
|
if (ObjectUtils.isEmpty(page.getPageNum())) { |
||||
|
return Result.error("页码数为空!"); |
||||
|
} |
||||
|
if (ObjectUtils.isEmpty(page.getPageSize())) { |
||||
|
return Result.error("页大小为空!"); |
||||
|
} else { |
||||
|
return Result.success(rateService.selectAll(page.getPageNum(), page.getPageSize())); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
//添加 |
||||
|
@PostMapping("/add") |
||||
|
public Result add(@RequestBody Rate rate){ |
||||
|
rateService.add(rate); |
||||
|
return Result.success("添加成功"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@PostMapping("/selectById") |
||||
|
public Result selectById(@RequestBody Map<String, Object> requestBody){ |
||||
|
Integer id = (Integer) requestBody.get("id"); |
||||
|
Rate rate =rateService.selectById(id); |
||||
|
return Result.success(rate); |
||||
|
} |
||||
|
|
||||
|
//编辑 |
||||
|
@PostMapping("/update") |
||||
|
public Result update(@RequestBody Rate rate){ |
||||
|
rateService.update(rate); |
||||
|
return Result.success("编辑成功"); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.util.Date; |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
public class RateDetail { |
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
|
||||
|
private Integer id; |
||||
|
private String rateName; |
||||
|
private BigDecimal num = BigDecimal.ZERO;; |
||||
|
private Integer adminId;//提交人 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date createTime; // 创建时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date updateTime; // 更新时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date lastTime; // 最晚时间 |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
@ -0,0 +1,18 @@ |
|||||
|
package com.example.demo.mapper; |
||||
|
|
||||
|
import com.example.demo.domain.entity.Rate; |
||||
|
import com.example.demo.domain.vo.RateDetail; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
@Mapper |
||||
|
public interface RateMapper { |
||||
|
List<Rate> selectAll(); |
||||
|
|
||||
|
Rate selectById(Integer id); |
||||
|
|
||||
|
void add(Rate rate); |
||||
|
|
||||
|
void update(Rate rate); |
||||
|
|
||||
|
} |
@ -0,0 +1,16 @@ |
|||||
|
package com.example.demo.service; |
||||
|
|
||||
|
import com.example.demo.domain.entity.Rate; |
||||
|
import com.example.demo.domain.vo.RateDetail; |
||||
|
import com.github.pagehelper.PageInfo; |
||||
|
|
||||
|
public interface RateService { |
||||
|
|
||||
|
PageInfo<Rate> selectAll(Integer pageNum, Integer pageSize); |
||||
|
|
||||
|
Rate selectById(Integer id); |
||||
|
|
||||
|
void add(Rate rate); |
||||
|
|
||||
|
void update(Rate rate); |
||||
|
} |
@ -0,0 +1,43 @@ |
|||||
|
package com.example.demo.serviceImpl; |
||||
|
|
||||
|
import com.example.demo.domain.entity.Rate; |
||||
|
import com.example.demo.domain.vo.ConsumeUser; |
||||
|
import com.example.demo.domain.vo.RateDetail; |
||||
|
import com.example.demo.mapper.RateMapper; |
||||
|
import com.example.demo.service.RateService; |
||||
|
import com.github.pagehelper.PageHelper; |
||||
|
import com.github.pagehelper.PageInfo; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
|
||||
|
@Service |
||||
|
public class RateServiceImpl implements RateService { |
||||
|
@Autowired |
||||
|
private RateMapper rateMapper; |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public PageInfo<Rate> selectAll(Integer pageNum, Integer pageSize) { |
||||
|
PageHelper.startPage(pageNum, pageSize); |
||||
|
List<Rate> rates = rateMapper.selectAll(); |
||||
|
return new PageInfo<>(rates); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Rate selectById(Integer id) { |
||||
|
return rateMapper.selectById(id); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void add(Rate rate) { |
||||
|
rateMapper.add(rate); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void update(Rate rate) { |
||||
|
rateMapper.update(rate); |
||||
|
} |
||||
|
} |
@ -0,0 +1,42 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.example.demo.mapper.RateMapper"> |
||||
|
<select id="selectAll" resultType="com.example.demo.domain.vo.RateDetail"> |
||||
|
SELECT |
||||
|
*, |
||||
|
CASE |
||||
|
WHEN update_time IS NULL OR create_time > update_time THEN create_time |
||||
|
ELSE update_time |
||||
|
END AS last_time |
||||
|
FROM rate |
||||
|
</select> |
||||
|
|
||||
|
<select id="selectById" resultType="com.example.demo.domain.entity.Rate"> |
||||
|
SELECT * FROM rate WHERE id= #{id} |
||||
|
</select> |
||||
|
|
||||
|
|
||||
|
<update id="update"> |
||||
|
UPDATE |
||||
|
rate |
||||
|
SET |
||||
|
rate_name=#{rateName}, |
||||
|
num=#{num}, |
||||
|
admin_id=#{adminId}, |
||||
|
update_time=#{updateTime} |
||||
|
WHERE |
||||
|
id=#{id} |
||||
|
</update> |
||||
|
|
||||
|
|
||||
|
<insert id="add"> |
||||
|
INSERT INTO rate |
||||
|
(rate_name, num, admin_id, create_time) |
||||
|
VALUES |
||||
|
(#{rateName}, #{num}, #{adminId}, #{createTime}) |
||||
|
<selectKey keyProperty="id" resultType="java.lang.Integer" order="AFTER"> |
||||
|
SELECT LAST_INSERT_ID() |
||||
|
</selectKey> |
||||
|
</insert> |
||||
|
|
||||
|
</mapper> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue