package com.gear.customer.swx.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gear.common.config.GearConfig; import com.gear.common.core.domain.AjaxResult; import com.gear.common.exception.CustomerException; import com.gear.common.utils.file.FileUploadUtils; import com.gear.common.utils.file.FileUtils; import com.gear.common.utils.oss.AliyunOssUtil; import com.gear.common.vo.Result; import com.gear.customer.swx.biz.SwxBizUser; import com.gear.customer.swx.vo.request.*; import com.gear.customer.swx.vo.response.SwxUserInfoVo; import com.gear.framework.config.ServerConfig; import com.gear.swx.domain.SwxLoanRecord; import com.gear.swx.domain.SwxNft; import com.gear.swx.domain.SwxRechargeRecord; import com.gear.swx.domain.SwxWithdrawalRecord; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.UUID; @RestController @RequestMapping("/swx/customer/user") public class SwxUserOperateController { @Autowired private SwxBizUser swxBizUser; @Autowired private ServerConfig serverConfig; @Value("${aliyun.oss.endpoint}") public String endpoint; /** * 用户认证 * @param request * @param * @return */ @PostMapping("/identification") public Result identification(HttpServletRequest request, @RequestBody SwxUserIdentificationVo swxUserIdentificationVo){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.identification(userId,swxUserIdentificationVo)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @PostMapping("/getUserInfo") public Result getUserInfo(HttpServletRequest request){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.getUserInfo(userId)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @PostMapping("/recharge") public Result recharge(HttpServletRequest request, @RequestBody SwxUserRechargeVo vo){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.recharge(userId,vo)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } /**提现*/ @PostMapping("/withdrawal") public Result withdrawal(HttpServletRequest request,@RequestBody SwxUserWithdrawalVo vo){ if (vo.getWithdrawalType() == null) throw new CustomerException("10025"); try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.withdrawal(userId,vo)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @GetMapping("/listRecharge") public Result> listRecharge(HttpServletRequest request,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.listRecharge(userId,pageNo,pageSize)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @GetMapping("/listWithdrwal") public Result> listWithdrwal(HttpServletRequest request,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.listWithdrwal(userId,pageNo,pageSize)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @GetMapping("/listNft") public Result> listNft(HttpServletRequest request){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.listNft(userId)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @PostMapping("/buyNft") public Result buyNft(HttpServletRequest request, @RequestBody SwxUserBuyNftVo swxUserBuyNftVo){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.buyNft(userId,swxUserBuyNftVo)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @PostMapping("/loan") public Result loan(HttpServletRequest request, @RequestBody SwxUserLoanVo swxUserLoanVo){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.loan(userId,swxUserLoanVo)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @GetMapping("/listLoanRecord") public Result> listLoanRecord(HttpServletRequest request,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.listLoanRecord(userId,pageNo,pageSize)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } @PostMapping("/upload") public AjaxResult uploadFile(MultipartFile file) throws Exception { try { // 上传文件路径 String filePath = GearConfig.getUploadPath(); // 上传并返回新文件名称 String fileName = FileUploadUtils.upload(filePath, file); String url = serverConfig.getUrl() + fileName; // url = url.replace("http://www.saxtrader.net/", "https://www.saxtrader.net/"); url = url.replace("http://www.saxtrader.net/", "https://www.galaxydigitalgold.xyz/"); url = url.replace("http://www.galaxytrader.cloud/", "https://www.galaxydigitalgold.xyz/"); url = url.replace("http://www.galaxydigitalgold.xyz/", "https://www.galaxydigitalgold.xyz/"); /*String fileName = "image/"+ UUID.randomUUID()+new SimpleDateFormat("yyyy-mm-dd").format(new Date())+"."+file.getOriginalFilename(); String url = "https://"+"sax-bucket-1."+endpoint+"/" + fileName; AliyunOssUtil.uploadMultipartFile(fileName,file);*/ AjaxResult ajax = AjaxResult.success(); ajax.put("url", url); return ajax; } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @PostMapping("/repassword") public Result repassword(HttpServletRequest request,@RequestBody SwxUserRegisterVo vo){ try { String userId = (String)request.getAttribute("userId"); return Result.OK(swxBizUser.repassword(userId,vo)); }catch (CustomerException e){ return Result.error(e.getMessage()); } } }