Browse Source

6.28 汇率

wangyetao/feature-20250628170337-汇率
HY-LSZNWIN10\Administrator 3 days ago
parent
commit
b292fc48dd
  1. 68
      src/main/java/com/example/demo/controller/RateController.java
  2. 30
      src/main/java/com/example/demo/domain/vo/RateDetail.java
  3. 18
      src/main/java/com/example/demo/mapper/RateMapper.java
  4. 16
      src/main/java/com/example/demo/service/RateService.java
  5. 43
      src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
  6. 42
      src/main/resources/mapper/RateMapper.xml

68
src/main/java/com/example/demo/controller/RateController.java

@ -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("编辑成功");
}
}

30
src/main/java/com/example/demo/domain/vo/RateDetail.java

@ -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; // 最晚时间
}

18
src/main/java/com/example/demo/mapper/RateMapper.java

@ -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);
}

16
src/main/java/com/example/demo/service/RateService.java

@ -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);
}

43
src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java

@ -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);
}
}

42
src/main/resources/mapper/RateMapper.xml

@ -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>
Loading…
Cancel
Save