From dc6abd25de0fc12e7a9de54f628f970c8fdc5910 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 22 May 2026 16:57:16 +0800
Subject: [PATCH] 理财

---
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/finance/FinanceController.java |  250 ++++++++++++++++++++++++++++---------------------
 1 files changed, 141 insertions(+), 109 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/finance/FinanceController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/finance/FinanceController.java
index 015e97c..9b2e596 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/finance/FinanceController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/finance/FinanceController.java
@@ -1,129 +1,161 @@
 package com.yami.trading.admin.controller.finance;
 
-import com.yami.trading.admin.model.LoginModel;
 import com.yami.trading.bean.finance.Finance;
-import com.yami.trading.bean.vo.FinanceVo;
-import com.yami.trading.common.domain.Result;
-import com.yami.trading.common.exception.YamiShopBindException;
-import com.yami.trading.common.util.ConvertUtil;
-import com.yami.trading.common.util.GoogleAuthenticator;
-import com.yami.trading.security.common.bo.UserInfoInTokenBO;
-import com.yami.trading.security.common.enums.SysTypeEnum;
-import com.yami.trading.security.common.vo.TokenInfoVO;
-import com.yami.trading.service.finance.FinanceService;
-import com.yami.trading.sys.model.SysUser;
-import com.yami.trading.util.ConverterUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
+import com.yami.trading.common.exception.BusinessException;
+import com.yami.trading.common.util.StringUtils;
+import com.yami.trading.common.web.ResultObject;
+import com.yami.trading.service.finance.service.FinanceService;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.ObjectUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
-import javax.validation.Valid;
-import java.util.Collections;
+import javax.servlet.http.HttpServletRequest;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.Map;
+
 
 /**
- * @program: trading-order-master
- * @description: 理财
- * @create: 2025-01-22 17:13
- **/
+ * 理财产品
+ *
+ */
 @RestController
-@RequestMapping("finance")
-@Api(tags = "理财")
-@Slf4j
+@CrossOrigin
 public class FinanceController {
 
-    @Autowired
-    FinanceService service;
+	private Logger logger = LogManager.getLogger(FinanceController.class);
+	
+	@Autowired
+	protected FinanceService financeService;
+	
+	private final String action = "/api/finance!";
 
-    @PostMapping("/add")
-    @ApiOperation(value = "理财-添加")
-    public Result<?> login(@Valid @RequestBody FinanceVo vo) {
-        Finance finance = ConverterUtil.convert(vo, Finance.class);
-        service.save(finance);
-        return Result.ok("添加成功");
-    }
+	/**
+	 * 理财产品列表
+	 */
+	@RequestMapping(action + "list.action")
+	public Object list() {
+		
+		ResultObject resultObject = new ResultObject();
 
-    /**
-     * 修改理财
-     */
-    @PutMapping("/update/{id}")
-    @ApiOperation(value = "理财-修改")
-    public Result<?> updateFinance(@PathVariable Long id, @Valid @RequestBody FinanceVo vo) {
-        // 查询该理财产品是否被用户持有
-//        boolean isHeldByUsers = userFinanceService.isFinanceHeldByUsers(id);
-//        if (isHeldByUsers) {
-//            return Result.failed("该理财产品已被用户持有,无法修改");
-//        }
+		try {
+			
+			List<Finance> data = this.financeService.findAllState_1();
+			resultObject.setData(bulidData(data));
+			resultObject.setCode("0");
+			
+		} catch (BusinessException e) {
+			resultObject.setCode("1");
+			resultObject.setMsg(e.getMessage());
+		} catch (Throwable t) {
+			resultObject.setCode("1");
+			resultObject.setMsg("程序错误");
+			logger.error("error:", t);
+		}
 
-        // 如果没有用户持有,继续进行修改操作
-        return Optional.ofNullable(service.getById(id))
-                .map(finance -> {
-                    finance.setName(vo.getName());
-                    finance.setName_en(vo.getName_en());
-                    finance.setName_cn(vo.getName_cn());
-                    finance.setName_kn(vo.getName_kn());
-                    finance.setName_jn(vo.getName_jn());
-                    finance.setImg(vo.getImg());
-                    finance.setCycle(vo.getCycle());
-                    finance.setDaily_rate(vo.getDaily_rate());
-                    finance.setDaily_rate_max(vo.getDaily_rate_max());
-                    finance.setToday_rate(vo.getToday_rate());
-                    finance.setDefault_ratio(vo.getDefault_ratio());
-                    finance.setInvestment_min(vo.getInvestment_min());
-                    finance.setInvestment_max(vo.getInvestment_max());
-                    finance.setState(vo.getState());
-                    finance.setBuyCurrency(vo.getBuyCurrency());
-                    finance.setOutputCurrency(vo.getOutputCurrency());
+		return resultObject;
+	}
 
-                    service.save(finance);
-                    return Result.ok("修改成功");
-                })
-                .orElseGet(() -> Result.failed("理财信息不存在"));
-    }
+	/**
+	 * 理财产品详情
+	 */
+	@RequestMapping(action + "get.action")
+	public Object get(HttpServletRequest request) {
+		String id = request.getParameter("id");
+		
+		ResultObject resultObject = new ResultObject();
+		
+		try {
+			
+			Finance data = this.financeService.findById(id);
+			if (!StringUtils.isNullOrEmpty(data.getImg())) {
+				String path = data.getImg();
+				data.setImg(path);
+			}
+			
+			resultObject.setData(data);
+			resultObject.setCode("0");
+			
+		} catch (BusinessException e) {
+			resultObject.setCode("1");
+			resultObject.setMsg(e.getMessage());
+		} catch (Throwable t) {
+			resultObject.setCode("1");
+			resultObject.setMsg("程序错误");
+			logger.error("error:", t);
+		}
 
+		return resultObject;
+	}
 
-    /**
-     * 删除理财
-     */
-    @DeleteMapping("/delete/{id}")
-    @ApiOperation(value = "理财-删除")
-    public Result<?> deleteFinance(@PathVariable Long id) {
-        boolean removed = service.removeById(id);
-        if (removed) {
-            // 查询该理财产品是否被用户持有
-//        boolean isHeldByUsers = userFinanceService.isFinanceHeldByUsers(id);
-//        if (isHeldByUsers) {
-//            return Result.failed("该理财产品已被用户持有,无法删除");
-//        }
-            return Result.ok("删除成功");
-        } else {
-            return Result.failed("理财信息不存在");
-        }
-    }
+	protected List<Map<String, Object>> bulidData(List<Finance> finances) throws ParseException {
 
-    /**
-     * 查询单个理财
-     */
-    @GetMapping("/find/{id}")
-    @ApiOperation(value = "理财-查询")
-    public Result<?> getFinance(@PathVariable Long id) {
-        return Optional.ofNullable(service.getById(id))
-                .map(Result::ok)
-                .orElseGet(() -> Result.failed("理财信息不存在"));
-    }
+		List<Map<String, Object>> result_finances = new ArrayList<Map<String, Object>>();
 
-    /**
-     * 查询所有理财
-     */
-    @GetMapping("/list")
-    @ApiOperation(value = "理财-查询所有")
-    public Result<?> getAllFinances() {
-        List<Finance> finances = service.list();
-        return Result.ok(finances.isEmpty() ? Collections.emptyList() : finances);
-    }
+		for (int i = 0; i < finances.size(); i++) {
+			
+			Map<String, Object> map = new HashMap<String, Object>();
+			
+			Finance finance = finances.get(i);
+
+			System.out.println(finance);
+			
+			String path = finance.getImg();
+			map.put("img", path);
+			map.put("id", finance.getUuid());
+
+			map.put("name", finance.getName());
+			map.put("name_en", finance.getNameEn());
+			map.put("name_cn", finance.getNameCn());
+			map.put("name_kn", finance.getNameKn());
+			map.put("name_jn", finance.getNameJn());
+			map.put("cycle", finance.getCycle());
+			map.put("daily_rate", finance.getDailyRate() + " ~ " + finance.getDailyRateMax());
+			map.put("daily_rate_max", finance.getDailyRateMax());
+			map.put("today_rate", finance.getTodayRate());
+			map.put("default_ratio", finance.getDefaultRatio());
+			map.put("investment_min", finance.getInvestmentMin());
+			map.put("investment_max", finance.getInvestmentMax());
+			map.put("state", finance.getState());
+			map.put("buyCurrency", finance.getBuyCurrency());
+			map.put("outputCurrency", finance.getOutputCurrency());
+
+			result_finances.add(map);
+		}
+
+		return result_finances;
+	}
+
+	private Map<String, Object> bulidData(Finance finance) throws ParseException {
+
+		Map<String, Object> map = new HashMap<String, Object>();
+		
+		String path = finance.getImg();
+		map.put("img", path);
+		map.put("id", finance.getUuid());
+
+		map.put("name", finance.getName());
+		map.put("name_en", finance.getNameEn());
+		map.put("name_cn", finance.getNameCn());
+		map.put("name_kn", finance.getNameKn());
+		map.put("name_jn", finance.getNameJn());
+		map.put("cycle", finance.getCycle());
+		map.put("daily_rate", finance.getDailyRate());
+		map.put("daily_rate_max", finance.getDailyRateMax());
+		map.put("today_rate", finance.getTodayRate());
+		map.put("default_ratio", finance.getDefaultRatio());
+		map.put("investment_min", finance.getInvestmentMin());
+		map.put("investment_max", finance.getInvestmentMax());
+		map.put("state", finance.getState());
+		map.put("buyCurrency", finance.getBuyCurrency());
+		map.put("outputCurrency", finance.getOutputCurrency());
+
+		return map;
+	}
+	
 }

--
Gitblit v1.9.3