You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.7 KiB

6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
  1. package com.example.demo.controller.coin;
  2. import com.example.demo.config.interfac.Log;
  3. import com.example.demo.domain.entity.Rate;
  4. import com.example.demo.domain.vo.coin.Page;
  5. import com.example.demo.domain.vo.coin.Result;
  6. import com.example.demo.service.coin.RateService;
  7. import lombok.RequiredArgsConstructor;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.security.core.parameters.P;
  11. import org.springframework.util.ObjectUtils;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.math.BigDecimal;
  14. import java.util.List;
  15. import java.util.Map;
  16. @RestController
  17. @RequestMapping("/rate")
  18. @RequiredArgsConstructor
  19. @Slf4j
  20. @CrossOrigin
  21. public class RateController {
  22. @Autowired
  23. private RateService rateService;
  24. //货币汇率列表
  25. @Log("获取汇率列表")
  26. @PostMapping("/selectAll")
  27. public Result selectAll(@RequestBody Page page){
  28. if (ObjectUtils.isEmpty(page.getPageNum())) {
  29. return Result.error("页码数为空!");
  30. }
  31. if (ObjectUtils.isEmpty(page.getPageSize())) {
  32. return Result.error("页大小为空!");
  33. } else {
  34. return Result.success(rateService.selectAll(page.getPageNum(), page.getPageSize()));
  35. }
  36. }
  37. //查询货币
  38. @Log("查询货币汇率")
  39. @PostMapping("/selectById")
  40. public Result selectById(@RequestBody Map<String, Object> requestBody) {
  41. Integer id = (Integer) requestBody.get("id");
  42. if (ObjectUtils.isEmpty(id)) {
  43. return Result.error("id 为空!");
  44. }
  45. Rate rate = rateService.selectById(id);
  46. return Result.success(rate);
  47. }
  48. // 编辑
  49. @Log("编辑货币汇率")
  50. @PostMapping("/update")
  51. public Result update(@RequestBody Rate rate) {
  52. if (ObjectUtils.isEmpty(rate.getId())) {
  53. return Result.error("id不能为空");
  54. }
  55. if (ObjectUtils.isEmpty(rate.getRateName())) {
  56. return Result.error("汇率名称不能为空");
  57. }
  58. if(rate.getNum()==null || rate.getNum().compareTo(BigDecimal.ZERO) <= 0){
  59. return Result.error(("汇率数值不能小于等于0"));
  60. }
  61. rateService.update(rate);
  62. if (rate.getNum() == null || rate.getNum().equals(BigDecimal.ZERO)) {
  63. return Result.error("汇率数值存在异常");
  64. }else
  65. return Result.success("编辑成功");
  66. }
  67. //查询货币名称列表
  68. @PostMapping("/listRateName")
  69. public Result listRateName(){
  70. try {
  71. List<Rate> rate= rateService.listRateName();
  72. return Result.success(rate);
  73. } catch (Exception e) {
  74. return Result.error("获取货币列表失败");
  75. }
  76. }
  77. }