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