diff --git a/src/main/java/com/szxgl/nft/controller/NFTPhotoController.java b/src/main/java/com/szxgl/nft/controller/NFTPhotoController.java index a229c26..00c5f5e 100644 --- a/src/main/java/com/szxgl/nft/controller/NFTPhotoController.java +++ b/src/main/java/com/szxgl/nft/controller/NFTPhotoController.java @@ -52,8 +52,8 @@ public class NFTPhotoController { JSONObject jsonObject = JSONObject.parseObject(phone); System.out.println(jsonObject); //调用第三方接口 - JSONObject json = HttpClientUtils.httpPost("https://stg-nft-gallery.pingan.com.cn/PABankNewsConference/entropy", jsonObject); - //JSONObject json = HttpClientUtils.httpPost("https://nft-gallery.pingan.com.cn/PABankNewsConference/entropy", jsonObject); + //JSONObject json = HttpClientUtils.httpPost("https://stg-nft-gallery.pingan.com.cn/PABankNewsConference/entropy", jsonObject); + JSONObject json = HttpClientUtils.httpPost("https://nft-gallery.pingan.com.cn/PABankNewsConference/entropy", jsonObject); if(!"SUCCESS".equals(json.get("code"))){ log.error( "获取entropy失败!json:"+json); return R.error("获取entropy失败!"); @@ -90,8 +90,8 @@ public class NFTPhotoController { String format = String.format("{'seed':'%s','walletAddr':'%s','paintingHash':'%s','message':'%s'}",phone,walletAddr, map.get("painting_hash"),nickname); System.out.println(format); JSONObject jsonObject = JSONObject.parseObject(format); - JSONObject json = HttpClientUtils.httpPost("https://stg-nft-gallery.pingan.com.cn/PABankNewsConference/nfts", jsonObject); - //JSONObject json = HttpClientUtils.httpPost("https://nft-gallery.pingan.com.cn/PABankNewsConference/nfts", jsonObject); + //JSONObject json = HttpClientUtils.httpPost("https://stg-nft-gallery.pingan.com.cn/PABankNewsConference/nfts", jsonObject); + JSONObject json = HttpClientUtils.httpPost("https://nft-gallery.pingan.com.cn/PABankNewsConference/nfts", jsonObject); //第三方备份用户和NFT图片对应关系操作成功 if("SUCCESS".equals(json.get("code"))){ //绑定用户昵称 @@ -123,12 +123,14 @@ public class NFTPhotoController { url = String.format("https://cdn.xglpa.com/pars-nft/scene200/%s.png",url); }else if(status == 3 ){ url = String.format("https://cdn.xglpa.com/pars-nft/nonDirectional500/%s.png",url); + }else if(status == 4 ){ + url = String.format("https://cdn.xglpa.com/pars-nft/test10/%s.png",url); } map.remove("status"); map.put("url",url); //获取数字藏品数量 - int count = nftPhotoService.getNftCount(); - map.put("count",count); + //int count = nftPhotoService.getNftCount(); + //map.put("count",count); } return R.ok(map); } diff --git a/src/main/java/com/szxgl/nft/controller/UserController.java b/src/main/java/com/szxgl/nft/controller/UserController.java index 0e0118c..2b49bfd 100644 --- a/src/main/java/com/szxgl/nft/controller/UserController.java +++ b/src/main/java/com/szxgl/nft/controller/UserController.java @@ -116,7 +116,10 @@ public class UserController { url = String.format("https://cdn.xglpa.com/pars-nft/scene200/%s.png",url); }else if(status == 3 ){ url = String.format("https://cdn.xglpa.com/pars-nft/nonDirectional500/%s.png",url); + }else if(status == 4 ){ + url = String.format("https://cdn.xglpa.com/pars-nft/test10/%s.png",url); } + map.put("url",url); } return R.ok(map); diff --git a/src/main/java/com/szxgl/nft/controller/VerificationCodeController.java b/src/main/java/com/szxgl/nft/controller/VerificationCodeController.java index 6b604a3..4472739 100644 --- a/src/main/java/com/szxgl/nft/controller/VerificationCodeController.java +++ b/src/main/java/com/szxgl/nft/controller/VerificationCodeController.java @@ -2,6 +2,8 @@ package com.szxgl.nft.controller; import com.aliyuncs.exceptions.ClientException; import com.szxgl.nft.entity.RedisKeyName; +import com.szxgl.nft.entity.UserNftPhoto; +import com.szxgl.nft.service.NftPhotoService; import com.szxgl.nft.utils.AliyunSmsUtils; import com.szxgl.nft.utils.CookieUtil; import com.szxgl.nft.utils.R; @@ -14,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; @RestController @RequestMapping("/code") @@ -25,6 +30,9 @@ public class VerificationCodeController { private static final String openidCode = RedisKeyName.getOpenidCode(); + @Autowired + private NftPhotoService nftPhotoService; + /** * 获取验证码 * @param seed 手机号 @@ -42,15 +50,49 @@ public class VerificationCodeController { log.error("手机号为空:"+seed); return R.error("手机号为空"); } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + //活动开始时间 + String activityStartDate = "2022-3-6 10:00:00"; + long StartDate = sdf.parse(activityStartDate).getTime(); + //活动结束时间 + String activityEndDate = "2022-3-7 12:00:00"; + long EndDate = sdf.parse(activityEndDate).getTime(); + //当前时间 + long currentDate = new Date().getTime(); +// String activityCurrentDate = "2022-3-6 9:00:00"; +// long currentDate = sdf.parse(activityCurrentDate).getTime(); + //在活动时间内 + + if(currentDate < StartDate){ + return R.error("活动时间未开始"); + } + if(currentDate >= StartDate && currentDate <= EndDate){ + //香港手机号格式化:去掉区号 + if(seed.contains(" ")|| seed.contains("-")){ + seed = seed.replaceAll(" ", ""); + seed = seed.replaceAll("-", ""); + seed = seed.substring(4); + } + //判断是否为定向用户 + UserNftPhoto nftPhoto = nftPhotoService.getNftPhoto(seed); + if(nftPhoto == null){ + log.error("不是定向用户!"); + return R.error("不是定向用户"); + } + } + } catch (ParseException e) { + e.printStackTrace(); + } //获取验证码 String code = Integer.toString(AliyunSmsUtils.getNewcode()); log.info("发送的验证码为:"+code); -// try { -// //使用阿里云发送短信 -// AliyunSmsUtils.sendSms(seed,code); -// } catch (ClientException e) { -// e.printStackTrace(); -// } + try { + //使用阿里云发送短信 + AliyunSmsUtils.sendSms(seed,code); + } catch (ClientException e) { + e.printStackTrace(); + } //把验证码存入redis中 redisUtil.set(openidCode + openid, code, 300); return R.ok(code); diff --git a/src/main/java/com/szxgl/nft/utils/AliyunSmsUtils.java b/src/main/java/com/szxgl/nft/utils/AliyunSmsUtils.java index 7c0fcb7..6011830 100644 --- a/src/main/java/com/szxgl/nft/utils/AliyunSmsUtils.java +++ b/src/main/java/com/szxgl/nft/utils/AliyunSmsUtils.java @@ -41,10 +41,15 @@ public class AliyunSmsUtils { //必填:短信签名-可在短信控制台中找到 request.setSignName("平安银行"); // TODO 修改成自己的 + //国际/港澳台手机号 短信发送格式:国际区号+号码 + if(telephone.contains(" ") || telephone.contains("-")){ + telephone = telephone.replaceAll(" ", ""); + telephone = telephone.replaceAll("-", ""); + System.out.println(telephone.substring(1)); + } //国内手机正则 String regex = "[1][3-9]\\d{9}"; - boolean matches = telephone.matches(regex); - if(matches){ + if(telephone.matches(regex)){ //必填:短信模板-可在短信控制台中找到 //国内短信模板 request.setTemplateCode("SMS_235481516"); // TODO 修改成自己的 @@ -66,7 +71,7 @@ public class AliyunSmsUtils { if(sendSmsResponse.getCode()!= null && sendSmsResponse.getCode().equals("OK")){ log.info("短信发送成功!"); }else { - log.error("短信发送失败!"); + log.error("短信发送失败:"+sendSmsResponse.getMessage()); throw new ParameterException("短信发送失败!"); } return sendSmsResponse; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d0c9fae..02510aa 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: jmx: default-domain: pars-nft profiles: - active: dev + active: prod # mvc: # static-path-pattern: /** # web: diff --git a/src/main/resources/mapper/NftPhotoMapper.xml b/src/main/resources/mapper/NftPhotoMapper.xml index cc14ea5..bdfdff2 100644 --- a/src/main/resources/mapper/NftPhotoMapper.xml +++ b/src/main/resources/mapper/NftPhotoMapper.xml @@ -68,7 +68,7 @@ nft_photo np LEFT JOIN user_nft_photo unp ON np.id = unp.nft_photo_id WHERE - unp.id IS NULL + unp.id IS NULL AND np.`status` != 1