guomengjiao недель назад: 3
Родитель
Сommit
1738a036f1

+ 39 - 0
renren-admin/src/main/java/io/renren/modules/qyh/controller/WithdrawConfigController.java

@@ -0,0 +1,39 @@
+package io.renren.modules.qyh.controller;
+
+import io.renren.common.utils.R;
+import io.renren.modules.qyh.entity.WithdrawConfigEntity;
+import io.renren.modules.qyh.service.WithdrawConfigService;
+import io.renren.modules.sys.controller.AbstractController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 青雲慧-提现配置
+ *
+ */
+@RestController
+@RequestMapping("qyh/withdrawConfig")
+@Api(tags = "青雲慧-提现配置")
+public class WithdrawConfigController extends AbstractController {
+    @Autowired
+    private WithdrawConfigService withdrawConfigService;
+
+    @GetMapping("/info")
+    @ApiOperation("信息")
+    // @RequiresPermissions("qyh:withdrawConfig:info")
+    public R info() {
+        return R.ok().put("data", withdrawConfigService.info());
+    }
+
+    @PostMapping("/saveOrUpdate")
+    @ApiOperation("新增或修改")
+    public R addOrUpdate(@RequestBody WithdrawConfigEntity withdrawConfigEntity) {
+        withdrawConfigEntity.setCreateId(getUserId());
+        withdrawConfigEntity.setUpdateId(getUserId());
+        withdrawConfigService.addOrUpdate(withdrawConfigEntity);
+        return R.ok();
+    }
+
+}

+ 62 - 0
renren-admin/src/main/java/io/renren/modules/qyh/entity/WithdrawConfigEntity.java

@@ -0,0 +1,62 @@
+package io.renren.modules.qyh.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 提现配置表
+ *
+ * @author qingyunhui
+ * @date 2026-04-24
+ */
+@Data
+@TableName("qyh_withdraw_config")
+public class WithdrawConfigEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 返佣比例(%)
+     */
+    private Integer commissionRate;
+
+    /**
+     * 单笔最低提现金额
+     */
+    private BigDecimal minWithdrawAmount;
+
+    /**
+     * 单笔最高提现金额
+     */
+    private BigDecimal maxWithdrawAmount;
+
+    /**
+     * 创建人
+     */
+    private Long createId;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 修改人
+     */
+    private Long updateId;
+
+    /**
+     * 修改时间
+     */
+    private LocalDateTime updateTime;
+}

+ 16 - 0
renren-admin/src/main/java/io/renren/modules/qyh/mapper/WithdrawConfigMapper.java

@@ -0,0 +1,16 @@
+package io.renren.modules.qyh.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import io.renren.modules.qyh.entity.WithdrawConfigEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 提现配置表
+ *
+ * @author qingyunhui
+ * @date 2026-04-24
+ */
+@Mapper
+public interface WithdrawConfigMapper extends BaseMapper<WithdrawConfigEntity> {
+
+}

+ 23 - 0
renren-admin/src/main/java/io/renren/modules/qyh/service/WithdrawConfigService.java

@@ -0,0 +1,23 @@
+package io.renren.modules.qyh.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import io.renren.common.utils.PageUtils;
+import io.renren.modules.qyh.entity.WithdrawConfigEntity;
+
+import java.util.Map;
+
+/**
+ * 青雲慧-提现配置
+ *
+ */
+public interface WithdrawConfigService extends IService<WithdrawConfigEntity> {
+
+    PageUtils queryPage(Map<String, Object> params);
+
+    WithdrawConfigEntity info();
+
+    WithdrawConfigEntity getOne();
+
+    void addOrUpdate(WithdrawConfigEntity withdrawConfigEntity);
+}
+

+ 8 - 9
renren-admin/src/main/java/io/renren/modules/qyh/service/impl/ApiAuthServiceImpl.java

@@ -223,15 +223,14 @@ public class ApiAuthServiceImpl implements ApiAuthService {
             throw new RRException("手机号格式不正确");
         }
 
-//        String mobileCaptcha = redisUtils.get("SmsCode:" + mobile);
-//        String shortMessageCode = dto.getShortMessageCode();
-//        //todo 暂时注释掉
-//       if (StrUtil.isNotBlank(shortMessageCode)) {
-//           if (!StrUtil.equals(mobileCaptcha, shortMessageCode)) {
-//               throw new RRException("短信验证码失效");
-//           }
-//           redisUtils.delete("SmsCode:" + mobile);
-//       }
+        // 检查手机号是否已注册
+        MemberInfoEntity existMember = memberInfoService.selectByPhone(mobile);
+        if (existMember != null) {
+            // 如果该手机号已注册但openid不同,提示用户直接登录
+            if (!openid.equals(existMember.getOpenid())) {
+                return R.error("手机号已存在,请使用原微信账号登录");
+            }
+        }
 
         String inviteCode = dto.getInviteCode();
         MemberInfoEntity memberInfoInviteCode = null;

+ 55 - 0
renren-admin/src/main/java/io/renren/modules/qyh/service/impl/WithdrawConfigServiceImpl.java

@@ -0,0 +1,55 @@
+package io.renren.modules.qyh.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.renren.common.utils.PageUtils;
+import io.renren.common.utils.Query;
+import io.renren.modules.qyh.entity.WithdrawConfigEntity;
+import io.renren.modules.qyh.mapper.WithdrawConfigMapper;
+import io.renren.modules.qyh.service.WithdrawConfigService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+
+@Service("withdrawConfigService")
+public class WithdrawConfigServiceImpl extends ServiceImpl<WithdrawConfigMapper, WithdrawConfigEntity>
+        implements WithdrawConfigService {
+
+    @Override
+    public PageUtils queryPage(Map<String, Object> params) {
+        IPage<WithdrawConfigEntity> page =
+                this.page(new Query<WithdrawConfigEntity>().getPage(params), new QueryWrapper<WithdrawConfigEntity>());
+
+        return new PageUtils(page);
+    }
+
+    @Override
+    public WithdrawConfigEntity info() {
+        return baseMapper.selectOne(new LambdaQueryWrapper<WithdrawConfigEntity>().last("limit 1"));
+    }
+
+    @Override
+    public WithdrawConfigEntity getOne() {
+        return baseMapper.selectOne(new LambdaQueryWrapper<WithdrawConfigEntity>()
+                .last("limit 1"));
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addOrUpdate(WithdrawConfigEntity entity) {
+        WithdrawConfigEntity info = this.info();
+        entity.setCreateTime(LocalDateTime.now());
+        if (ObjectUtil.isNull(info)) {
+            baseMapper.insert(entity);
+        } else {
+            entity.setUpdateTime(LocalDateTime.now());
+            baseMapper.updateById(entity);
+        }
+    }
+
+}

+ 0 - 2
renren-admin/src/main/resources/statics/js/modules/qyh/pointGift.js

@@ -1,5 +1,3 @@
-var businessId = getUrlParam("businessId");
-// var auditStatus = getUrlParam("auditStatus");
 $(function () {
 
     $.ajax({

+ 21 - 21
renren-admin/src/main/resources/statics/js/modules/qyh/withdrawalConfig.js

@@ -4,31 +4,31 @@ let vm = new Vue({
     data:{
         showList: false,
         title: null,
-        wgFillInfo: {},
-        fillType:{}
+        withdrawConfig: {},
+    },
+    mounted: function() {
+        this.getInfo();
     },
     methods: {
-        update: function () {
-            vm.showList = false;
-            vm.title = "修改";
-            var id='1';
-            vm.getInfo(id)
-        },
         saveOrUpdate: function (event) {
-            let url = "qmgj/wgfillinfo/update";
-
-            //vm.wgFillInfo.hint = ue.getContent();
-            console.log(vm.wgFillInfo);
-            return
-
-            if ($('#imgUrl1').val() != ''){
-                vm.wgFillInfo.workFlowImg = $('#imgUrl1').val();
+            let url = "qyh/withdrawConfig/saveOrUpdate";
+            if (vm.withdrawConfig.commissionRate == ''){
+                layer.msg('[直推分润比例]不能为空',{icon:5});
+                return;
+            }
+            if (vm.withdrawConfig.minWithdrawAmount == ''){
+                layer.msg('[单笔最低提现金额]不能为空',{icon:5});
+                return;
+            }
+            if (vm.withdrawConfig.maxWithdrawAmount == ''){
+                layer.msg('[单笔最高提现金额]不能为空',{icon:5});
+                return;
             }
             $.ajax({
                 type: "POST",
                 url: baseURL + url,
                 contentType: "application/json",
-                data: JSON.stringify(vm.wgFillInfo),
+                data: JSON.stringify(vm.withdrawConfig),
                 success: function(r){
                     if(r.code === 0){
                         layer.msg("操作成功", {icon: 1});
@@ -44,13 +44,13 @@ let vm = new Vue({
             });
         },
         getInfo: function(id){
-            $.get(baseURL + "qmgj/wgfillinfo/info/"+id, function(r){
-                vm.wgFillInfo = r.wgFillInfo;
+            $.get(baseURL + "qyh/withdrawConfig/info", function(r){
+                console.log(r)
+                vm.withdrawConfig = r.data;
             });
         },
         reload: function (event) {
-            clearImg();
-            vm.update();
+            vm.getInfo();
         }
     }
 });

+ 8 - 2
renren-admin/src/main/resources/templates/modules/qyh/withdrawalConfig.html

@@ -12,13 +12,19 @@
             <div class="form-group">
                 <div class="col-sm-2 control-label">直推分润比例 (%)</div>
                 <div class="col-sm-4">
-                    <input type="text" class="form-control" v-model="wgFillInfo.perYearPrice" placeholder="请输入直推分润比例" oninput="num(this)"/>
+                    <input type="text" class="form-control" v-model="withdrawConfig.commissionRate" placeholder="请输入直推分润比例" oninput="intnum(this)"/>
                 </div>
             </div>
             <div class="form-group">
                 <div class="col-sm-2 control-label">单笔最低提现金额 (¥)</div>
                 <div class="col-sm-4">
-                    <input type="text" class="form-control" v-model="wgFillInfo.lifelongPrice" placeholder="请输入单笔最低提现金额" oninput="num(this)"/>
+                    <input type="text" class="form-control" v-model="withdrawConfig.minWithdrawAmount" placeholder="请输入单笔最低提现金额" oninput="num(this)"/>
+                </div>
+            </div>
+            <div class="form-group">
+                <div class="col-sm-2 control-label">单笔最高提现金额 (¥)</div>
+                <div class="col-sm-4">
+                    <input type="text" class="form-control" v-model="withdrawConfig.maxWithdrawAmount" placeholder="请输入单笔最高提现金额" oninput="num(this)"/>
                 </div>
             </div>
             <div class="form-group">