From 11b3af610417cf36683e6b14d18409dd09232af0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=B9=8F=E8=BE=89?= <18322780655@163.com> Date: Thu, 11 Jul 2024 13:34:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=91=E9=80=81=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1,=E8=AE=BE=E7=BD=AE=E6=93=8D=E4=BD=9C=E5=AF=86?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eladmin-system/pom.xml | 7 +++ .../controller/TbUserInfoController.java | 62 +++++++++++++++++-- .../cashier/pojo/shop/TbMerchantAccount.java | 4 ++ .../repository/TbUserInfoRepository.java | 2 + .../shop/TbMerchantAccountRepository.java | 3 + 5 files changed, 74 insertions(+), 4 deletions(-) diff --git a/eladmin-system/pom.xml b/eladmin-system/pom.xml index 4c7b7ef9..8984287d 100644 --- a/eladmin-system/pom.xml +++ b/eladmin-system/pom.xml @@ -128,6 +128,13 @@ + + com.aliyun + dysmsapi20170525 + 2.0.21 + + + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java index cdd310e2..9fbe1b22 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java @@ -18,12 +18,12 @@ package cn.ysk.cashier.controller; import cn.ysk.cashier.annotation.Log; import cn.ysk.cashier.exception.BadRequestException; import cn.ysk.cashier.pojo.TbUserInfo; +import cn.ysk.cashier.pojo.shop.TbMerchantAccount; +import cn.ysk.cashier.repository.TbUserInfoRepository; +import cn.ysk.cashier.repository.shop.TbMerchantAccountRepository; import cn.ysk.cashier.service.TbUserInfoService; import cn.ysk.cashier.dto.TbUserInfoQueryCriteria; -import cn.ysk.cashier.utils.JSONUtil; -import cn.ysk.cashier.utils.RedisUtils; -import cn.ysk.cashier.utils.StringUtil; -import cn.ysk.cashier.utils.ValidateCodeUtil; +import cn.ysk.cashier.utils.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.aliyun.dysmsapi20170525.models.SendSmsResponse; @@ -38,6 +38,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; import java.io.IOException; +import java.util.Map; import java.util.Objects; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -128,4 +129,57 @@ public class TbUserInfoController { } } + + + @Autowired + TbMerchantAccountRepository tbMerchantAccountRepository; + + + @RequestMapping(value = "modfiyUserInfo",method = RequestMethod.POST) + public ResponseEntity modfiyUserInfo(@RequestBody Map map){ + Object o= SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + if(Objects.isNull(o)){ + throw new BadRequestException("用户登录信息失效"); + } + JSONObject object=JSON.parseObject(JSON.toJSONString(o)); + if(Objects.isNull(object)){ + throw new BadRequestException("用户登录信息失效"); + } + String regex="^\\d{11}$"; + + if(!object.containsKey("username")||Objects.isNull(object.getString("username"))|| + !object.getString("username").matches(regex) + ){ + throw new BadRequestException("用户登录信息失效"); + } + + String tempcode="SMS_244665149"; + String phone=object.getString("username"); + Object redisCode= redisUtils.get(phone.concat("#").concat(tempcode)); + if(Objects.isNull(redisCode)){ + throw new BadRequestException("短信验证码已过期"); + } + + + String code= map.get("code"); + + if(!redisCode.toString().equals(code)){ + throw new BadRequestException("短信验证码错误"); + } + redisUtils.del(phone.concat("#").concat(tempcode)); + String pwd= map.get("pwd"); + + TbMerchantAccount account= tbMerchantAccountRepository.findByAccount(phone); + if(Objects.isNull(account)){ + throw new BadRequestException("账户不存在"); + } + + account.setPwd(MD5Utils.md5(pwd.concat(account.getAccount()).concat(account.getId().toString()))); + account.setUpdatedAt(System.currentTimeMillis()); + tbMerchantAccountRepository.save(account); + + + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + + } } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java index f2518932..83b4a4b5 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbMerchantAccount.java @@ -127,6 +127,10 @@ public class TbMerchantAccount implements Serializable { @ApiModelProperty(value = "updatedAt") private Long updatedAt; + @Column(name = "`pwd`") + @ApiModelProperty(value = "操作密码") + private String pwd; + public void copy(TbMerchantAccount source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbUserInfoRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbUserInfoRepository.java index 8c57c7c3..eb0554df 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbUserInfoRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbUserInfoRepository.java @@ -25,4 +25,6 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; * @date 2023-11-13 **/ public interface TbUserInfoRepository extends JpaRepository, JpaSpecificationExecutor { + + } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbMerchantAccountRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbMerchantAccountRepository.java index 791d9373..3c1369b5 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbMerchantAccountRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbMerchantAccountRepository.java @@ -38,4 +38,7 @@ public interface TbMerchantAccountRepository extends JpaRepository