diff --git a/eladmin-system/pom.xml b/eladmin-system/pom.xml index 33891504..2b543b9e 100644 --- a/eladmin-system/pom.xml +++ b/eladmin-system/pom.xml @@ -106,11 +106,13 @@ 6.1.4 + @@ -120,12 +122,12 @@ com.baomidou mybatis-plus-generator - 3.5.3.1 + 3.5.7 com.baomidou mybatis-plus-boot-starter - 3.5.3.1 + 3.5.7 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 new file mode 100644 index 00000000..287817de --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java @@ -0,0 +1,127 @@ +package cn.ysk.cashier.controller; + +import cn.ysk.cashier.exception.BadRequestException; +import cn.ysk.cashier.pojo.shop.TbMerchantAccount; +import cn.ysk.cashier.repository.shop.TbMerchantAccountRepository; +import cn.ysk.cashier.utils.MD5Utils; +import cn.ysk.cashier.utils.RedisUtils; +import cn.ysk.cashier.utils.StringUtil; +import cn.ysk.cashier.utils.ValidateCodeUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; +import java.util.Objects; + +/** + * @website https://eladmin.vip + * @author lyf + * @date 2023-11-13 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "/userInfo/list管理") +@RequestMapping("/api/tbUserInfo") +public class TbUserInfoController { + + @Autowired + ValidateCodeUtil validateCodeUtil; + + @Autowired + RedisUtils redisUtils; + + @GetMapping("sendMsg") + public Object sendMsg(){ + 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 phone=object.getString("username"); + + String tempcode="SMS_244665149"; + + String random = StringUtil.random(6); + try { + validateCodeUtil.requestValidateCodeAli(phone, random,tempcode); + redisUtils.set(phone.concat("#").concat(tempcode),random,300L); + return "{\n" + + " \"code\": 0,\n" + + " \"msg\": \"成功\"\n" + + "}"; + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + + } + + + @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); + + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbPointsGoodsSetting.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbPointsGoodsSetting.java index d3292cfe..62fe7277 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbPointsGoodsSetting.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbPointsGoodsSetting.java @@ -1,5 +1,6 @@ package cn.ysk.cashier.mybatis.entity; + import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; @@ -14,64 +15,64 @@ import java.util.Date; * @since 2.0 2024-10-25 */ @Data -@EqualsAndHashCode(callSuper=false) +@EqualsAndHashCode(callSuper = false) @TableName("tb_points_goods_setting") public class TbPointsGoodsSetting { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - /** - * id - */ - @TableId(type = IdType.AUTO) - private Long id; - /** - * 店铺id - */ - private Long shopId; - /** - * 商品类型 physical-实物 coupon-优惠劵 - */ - private String goodsCategory; - /** - * 商品名称 - */ - private String goodsName; - /** - * 商品图片URL - */ - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String goodsImageUrl; - /** - * 所需积分 - */ - private Integer requiredPoints; - /** - * 额外价格 - */ - private BigDecimal extraPrice; - /** - * 排序(权重),数字越高,显示约靠前 - */ - private Integer sort; - /** - * 数量 - */ - private Integer quantity; - /** - * 商品详情 - */ - @TableField(updateStrategy = FieldStrategy.ALWAYS) - private String goodsDescription; - /** - * 是否上架 1-是 0-否 - */ - private Integer status; - /** - * 创建时间 - */ - private Date createTime; - /** - * 更新时间 - */ - private Date updateTime; + /** + * id + */ + @TableId(type = IdType.AUTO) + private Long id; + /** + * 店铺id + */ + private Long shopId; + /** + * 商品类型 physical-实物 coupon-优惠劵 + */ + private String goodsCategory; + /** + * 商品名称 + */ + private String goodsName; + /** + * 商品图片URL + */ + @TableField(value = "goods_image_url", updateStrategy = FieldStrategy.ALWAYS) + private String goodsImageUrl; + /** + * 所需积分 + */ + private Integer requiredPoints; + /** + * 额外价格 + */ + private BigDecimal extraPrice; + /** + * 排序(权重),数字越高,显示约靠前 + */ + private Integer sort; + /** + * 数量 + */ + private Integer quantity; + /** + * 商品详情 + */ + @TableField(value = "goods_description", updateStrategy = FieldStrategy.ALWAYS) + private String goodsDescription; + /** + * 是否上架 1-是 0-否 + */ + private Integer status; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; } \ No newline at end of file