Explorar o código

fix:绑定银行卡

wrj hai 5 meses
pai
achega
9260c5fb50

+ 89 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TBankController.java

@@ -0,0 +1,89 @@
+package com.ylx.web.controller.massage;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ylx.common.core.controller.BaseController;
+import com.ylx.common.core.domain.R;
+import com.ylx.massage.domain.TBank;
+import com.ylx.massage.service.TBankService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 银行表(TBank)表控制层
+ *
+ * @author makejava
+ * @since 2024-12-30 17:49:07
+ */
+@RestController
+@RequestMapping("tBank")
+public class TBankController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private TBankService tBankService;
+
+    /**
+     * 银行配置列表分页查询所有数据
+     *
+     * @param page  分页对象
+     * @param tBank 查询实体
+     * @return 所有数据
+     */
+    @ApiOperation("银行配置列表")
+    @GetMapping
+    public R selectAll(Page<TBank> page, TBank tBank) {
+        return R.ok(this.tBankService.page(page, new QueryWrapper<>(tBank)));
+    }
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping("{id}")
+    public R selectOne(@PathVariable Serializable id) {
+        return R.ok(this.tBankService.getById(id));
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param tBank 实体对象
+     * @return 新增结果
+     */
+    @PostMapping
+    public R insert(@RequestBody TBank tBank) {
+        return R.ok(this.tBankService.save(tBank));
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param tBank 实体对象
+     * @return 修改结果
+     */
+    @PutMapping
+    public R update(@RequestBody TBank tBank) {
+        return R.ok(this.tBankService.updateById(tBank));
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param idList 主键结合
+     * @return 删除结果
+     */
+    @DeleteMapping
+    public R delete(@RequestParam("idList") List<Long> idList) {
+        return R.ok(this.tBankService.removeByIds(idList));
+    }
+}
+

+ 72 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TBankUserController.java

@@ -0,0 +1,72 @@
+package com.ylx.web.controller.massage;
+
+
+import com.ylx.common.core.controller.BaseController;
+import com.ylx.common.core.domain.R;
+import com.ylx.common.core.domain.model.WxLoginUser;
+import com.ylx.massage.domain.TBankUser;
+import com.ylx.massage.domain.vo.BankVo;
+import com.ylx.massage.service.TBankUserService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 银行卡号(TBankUser)表控制层
+ *
+ * @author makejava
+ * @since 2024-12-31 09:58:19
+ */
+@RestController
+@RequestMapping("tBankUser")
+public class TBankUserController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private TBankUserService tBankUserService;
+
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param
+     * @return 单条数据
+     */
+
+    @ApiOperation("我的银行卡")
+    @GetMapping("myBank")
+    public R selectOne() {
+        WxLoginUser wxLoginUser = getWxLoginUser();
+        List<BankVo> list = tBankUserService.myBank(wxLoginUser);
+        return R.ok(list);
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param tBankUser 实体对象
+     * @return 新增结果
+     */
+    @ApiOperation("新增/绑定银行卡")
+    @PostMapping
+    public R insert(@RequestBody TBankUser tBankUser) {
+        return R.ok(this.tBankUserService.save(tBankUser));
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param tBankUser 实体对象
+     * @return 新增结果
+     */
+    @ApiOperation("删除银行卡")
+    @PostMapping
+    public R deleteBank(@RequestBody TBankUser tBankUser) {
+        return R.ok(this.tBankUserService.deleteBank(tBankUser));
+    }
+
+}
+

+ 36 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TBank.java

@@ -0,0 +1,36 @@
+package com.ylx.massage.domain;
+
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 银行表(TBank)表实体类
+ *
+ * @author makejava
+ * @since 2024-12-30 17:49:07
+ */
+@Data
+@SuppressWarnings("serial")
+public class TBank extends Model<TBank> {
+
+    private String id;
+    //银行名称
+    @ApiModelProperty("银行名称")
+    private String bankName;
+    //银行logo
+    @ApiModelProperty("银行logo")
+    private String bankLogo;
+    //创建时间
+    private Date createTime;
+    //修改时间
+    private Date updateTime;
+    //是否删除0否1是
+    private Integer isDelete;
+
+
+}
+

+ 41 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/TBankUser.java

@@ -0,0 +1,41 @@
+package com.ylx.massage.domain;
+
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 银行卡号(TBankUser)表实体类
+ *
+ * @author makejava
+ * @since 2024-12-31 09:58:19
+ */
+@Data
+@SuppressWarnings("serial")
+public class TBankUser extends Model<TBankUser> {
+
+    private String id;
+    //银行id
+    @ApiModelProperty("银行id")
+    private String bankId;
+    //openId
+    @ApiModelProperty("openId")
+    private String openId;
+    //开户行
+    @ApiModelProperty("开户行")
+    private String openingBank;
+    //银行卡号
+    @ApiModelProperty("银行卡号")
+    private String bankCardNum;
+    //创建时间
+    private Date createTime;
+    //修改时间
+    private Date updateTime;
+    //是否删除0否1是
+    private Integer isDelete;
+
+}
+

+ 35 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/BankVo.java

@@ -0,0 +1,35 @@
+package com.ylx.massage.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author jianlong
+ * @date 2024-12-31 15:48
+ */
+@Data
+public class BankVo {
+
+    //银行id
+    @ApiModelProperty("银行卡id")
+    private String Id;
+    //银行id
+    @ApiModelProperty("银行id")
+    private String bankId;
+    //openId
+    @ApiModelProperty("用户openId")
+    private String openId;
+    //开户行
+    @ApiModelProperty("开户行")
+    private String openingBank;
+    //银行卡号
+    @ApiModelProperty("银行卡号")
+    private String bankCardNum;
+    //银行名称
+    @ApiModelProperty("银行名称")
+    private String bankName;
+    //银行logo
+    @ApiModelProperty("银行logo")
+    private String bankLogo;
+
+}

+ 35 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TBankMapper.java

@@ -0,0 +1,35 @@
+package com.ylx.massage.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import com.ylx.massage.domain.TBank;
+
+/**
+ * 银行表(TBank)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-12-30 17:49:07
+ */
+public interface TBankMapper extends BaseMapper<TBank> {
+
+    /**
+     * 批量新增数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TBank> 实例对象列表
+     * @return 影响行数
+     */
+    int insertBatch(@Param("entities") List<TBank> entities);
+
+    /**
+     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TBank> 实例对象列表
+     * @return 影响行数
+     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
+     */
+    int insertOrUpdateBatch(@Param("entities") List<TBank> entities);
+
+}
+

+ 40 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/TBankUserMapper.java

@@ -0,0 +1,40 @@
+package com.ylx.massage.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ylx.common.core.domain.model.WxLoginUser;
+import com.ylx.massage.domain.vo.BankVo;
+import org.apache.ibatis.annotations.Param;
+import com.ylx.massage.domain.TBankUser;
+
+/**
+ * 银行卡号(TBankUser)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-12-31 09:58:19
+ */
+public interface TBankUserMapper extends BaseMapper<TBankUser> {
+
+    /**
+     * 批量新增数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TBankUser> 实例对象列表
+     * @return 影响行数
+     */
+    int insertBatch(@Param("entities") List<TBankUser> entities);
+
+    /**
+     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<TBankUser> 实例对象列表
+     * @return 影响行数
+     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
+     */
+    int insertOrUpdateBatch(@Param("entities") List<TBankUser> entities);
+
+    List<BankVo> myBank(String cOpenid);
+
+    int deleteBank(String id);
+}
+

+ 15 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TBankService.java

@@ -0,0 +1,15 @@
+package com.ylx.massage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ylx.massage.domain.TBank;
+
+/**
+ * 银行表(TBank)表服务接口
+ *
+ * @author makejava
+ * @since 2024-12-30 17:49:08
+ */
+public interface TBankService extends IService<TBank> {
+
+}
+

+ 22 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/TBankUserService.java

@@ -0,0 +1,22 @@
+package com.ylx.massage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ylx.common.core.domain.model.WxLoginUser;
+import com.ylx.massage.domain.TBankUser;
+import com.ylx.massage.domain.vo.BankVo;
+
+import java.util.List;
+
+/**
+ * 银行卡号(TBankUser)表服务接口
+ *
+ * @author makejava
+ * @since 2024-12-31 09:58:19
+ */
+public interface TBankUserService extends IService<TBankUser> {
+
+    List<BankVo> myBank(WxLoginUser wxLoginUser);
+
+    Object deleteBank(TBankUser tBankUser);
+}
+

+ 19 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TBankServiceImpl.java

@@ -0,0 +1,19 @@
+package com.ylx.massage.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ylx.massage.mapper.TBankMapper;
+import com.ylx.massage.domain.TBank;
+import com.ylx.massage.service.TBankService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 银行表(TBank)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-12-30 17:49:08
+ */
+@Service("tBankService")
+public class TBankServiceImpl extends ServiceImpl<TBankMapper, TBank> implements TBankService {
+
+}
+

+ 37 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TBankUserServiceImpl.java

@@ -0,0 +1,37 @@
+package com.ylx.massage.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ylx.common.core.domain.model.WxLoginUser;
+import com.ylx.massage.domain.vo.BankVo;
+import com.ylx.massage.mapper.TBankUserMapper;
+import com.ylx.massage.domain.TBankUser;
+import com.ylx.massage.service.TBankUserService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+import java.util.List;
+
+/**
+ * 银行卡号(TBankUser)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-12-31 09:58:20
+ */
+@Service("tBankUserService")
+public class TBankUserServiceImpl extends ServiceImpl<TBankUserMapper, TBankUser> implements TBankUserService {
+
+    @Resource
+    private TBankUserMapper tBankUserMapper;
+
+    @Override
+    public List<BankVo> myBank(WxLoginUser wxLoginUser) {
+        return tBankUserMapper.myBank(wxLoginUser.getCOpenid());
+    }
+
+    @Override
+    public Object deleteBank(TBankUser tBankUser) {
+        return tBankUserMapper.deleteBank(tBankUser.getId());
+    }
+}
+

+ 25 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/utils/DateTimeUtils.java

@@ -898,4 +898,29 @@ public final class DateTimeUtils {
     }
 
 
+    public static void main(String[] args) throws InterruptedException {
+        while (true){
+            Thread.sleep(1000);
+            stampToDate1();
+        }
+    }
+
+    public static void  stampToDate1() {
+        // 获取当前时间
+        LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
+
+        // 设置未来日期的时间,例如2023年12月31日 23:59:59
+        LocalDateTime futureDate = LocalDateTime.of(2024, 12, 31, 18, 35, 00);
+
+        // 计算两个时间点之间的差值(以毫秒为单位)
+        long durationInMillis = Duration.between(now, futureDate).toMillis();
+
+        // 将毫秒差值转换为秒
+        long durationInSeconds = durationInMillis / 1000;
+
+        System.err.println(new Date() + "There is still a future date " + durationInSeconds + " second");
+    }
+
+
+
 }

+ 35 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TBankMapper.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ylx.massage.mapper.TBankMapper">
+
+    <resultMap type="com.ylx.massage.domain.TBank" id="TBankMap">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="bankName" column="bank_name" jdbcType="VARCHAR"/>
+        <result property="bankLogo" column="bank_logo" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="isDelete" column="is_delete" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!-- 批量插入 -->
+    <insert id="insertBatch" keyProperty="" useGeneratedKeys="true">
+        insert into ry-vue.t_bank(idbank_namebank_logocreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.id}#{entity.bankName}#{entity.bankLogo}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+    </insert>
+    <!-- 批量插入或按主键更新 -->
+    <insert id="insertOrUpdateBatch" keyProperty="" useGeneratedKeys="true">
+        insert into ry-vue.t_bank(idbank_namebank_logocreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.id}#{entity.bankName}#{entity.bankLogo}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+        on duplicate key update
+        id = values(id) bank_name = values(bank_name) bank_logo = values(bank_logo) create_time = values(create_time)
+        update_time = values(update_time) is_delete = values(is_delete)
+    </insert>
+
+</mapper>
+

+ 60 - 0
nightFragrance-massage/src/main/resources/mapper/massage/TBankUserMapper.xml

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ylx.massage.mapper.TBankUserMapper">
+
+    <resultMap type="com.ylx.massage.domain.TBankUser" id="TBankUserMap">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="bankId" column="bank_id" jdbcType="VARCHAR"/>
+        <result property="openId" column="open_id" jdbcType="VARCHAR"/>
+        <result property="openingBank" column="opening_bank" jdbcType="VARCHAR"/>
+        <result property="bankCardNum" column="bank_card_num" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="isDelete" column="is_delete" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!-- 批量插入 -->
+    <insert id="insertBatch" keyProperty="" useGeneratedKeys="true">
+        insert into ry-vue.t_bank_user(idbank_idopen_idopening_bankbank_card_numcreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.id}#{entity.bankId}#{entity.openId}#{entity.openingBank}#{entity.bankCardNum}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+    </insert>
+    <!-- 批量插入或按主键更新 -->
+    <insert id="insertOrUpdateBatch" keyProperty="" useGeneratedKeys="true">
+        insert into ry-vue.t_bank_user(idbank_idopen_idopening_bankbank_card_numcreate_timeupdate_timeis_delete)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.id}#{entity.bankId}#{entity.openId}#{entity.openingBank}#{entity.bankCardNum}#{entity.createTime}#{entity.updateTime}#{entity.isDelete})
+        </foreach>
+        on duplicate key update
+        id = values(id) bank_id = values(bank_id) open_id = values(open_id) opening_bank = values(opening_bank)
+        bank_card_num = values(bank_card_num) create_time = values(create_time) update_time = values(update_time)
+        is_delete = values(is_delete)
+    </insert>
+
+    <update id="deleteBank">
+        update t_bank_user  set is_delete = 1 where id = #{id}
+    </update>
+
+    <select id="myBank" resultType="com.ylx.massage.domain.vo.BankVo">
+        SELECT
+            bu.open_id,
+            bu.opening_bank,
+            bu.bank_card_num,
+            bu.bank_id,
+            b.bank_name,
+            b.bank_logo,
+            b.id
+        FROM
+            t_bank_user bu
+                LEFT JOIN t_bank b ON bu.bank_id = b.id
+        WHERE
+            bu.is_delete = 0
+            AND b.is_delete = 0
+            AND bu.open_id = #{openId}
+    </select>
+
+</mapper>
+