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 org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.ObjectUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
import java.util.Collections;
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.Optional;
|
|
/**
|
* @program: trading-order-master
|
* @description: 理财
|
* @create: 2025-01-22 17:13
|
**/
|
@RestController
|
@RequestMapping("finance")
|
@Api(tags = "理财")
|
@Slf4j
|
public class FinanceController {
|
|
@Autowired
|
FinanceService service;
|
|
@PostMapping("/add")
|
@ApiOperation(value = "理财-添加")
|
public Result<?> login(@Valid @RequestBody FinanceVo vo) {
|
Finance finance = ConverterUtil.convert(vo, Finance.class);
|
service.save(finance);
|
return Result.ok("添加成功");
|
}
|
|
/**
|
* 修改理财
|
*/
|
@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("该理财产品已被用户持有,无法修改");
|
// }
|
|
// 如果没有用户持有,继续进行修改操作
|
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());
|
|
service.save(finance);
|
return Result.ok("修改成功");
|
})
|
.orElseGet(() -> Result.failed("理财信息不存在"));
|
}
|
|
|
/**
|
* 删除理财
|
*/
|
@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("理财信息不存在");
|
}
|
}
|
|
/**
|
* 查询单个理财
|
*/
|
@GetMapping("/find/{id}")
|
@ApiOperation(value = "理财-查询")
|
public Result<?> getFinance(@PathVariable Long id) {
|
return Optional.ofNullable(service.getById(id))
|
.map(Result::ok)
|
.orElseGet(() -> Result.failed("理财信息不存在"));
|
}
|
|
/**
|
* 查询所有理财
|
*/
|
@GetMapping("/list")
|
@ApiOperation(value = "理财-查询所有")
|
public Result<?> getAllFinances() {
|
List<Finance> finances = service.list();
|
return Result.ok(finances.isEmpty() ? Collections.emptyList() : finances);
|
}
|
}
|