币与币之间的转换

2023-02-08 11:48:11 阅读:1 编辑

admin/view/cintegral/conf.html

<div class="layui-tab-item">
                <div class="layui-form-item">
                    <label class="layui-form-label">开启{$integralname}转{$coinssetname}</label>
                    <div class="layui-input-block">
                        <input type="radio" name="is_trancoins_open" value="1" title="开启" {if $info['is_trancoins_open']==1}checked="checked"{/if}>
                        <input type="radio" name="is_trancoins_open" value="0" title="关闭" {if $info['is_trancoins_open']==0}checked="checked"{/if}>
                    </div>
                </div>
               <div class="layui-form-item trancoins_open_swith">
                        <label class="layui-form-label">1{$coinssetname}等多少{$integralname}</label>
                        <div class="layui-input-block">
                            <input autocomplete="off" type="text" name="integral_coins_rate" lay-verify="required" placeholder="请输入{$integralname}" class="layui-input" value="{$info.integral_coins_rate??''}">
                        </div>
                    </div>
            </div>
db(integralconf)
is_trancoins_open
integral_coins_rate

前端

plugin/integral/centre/centre

<view wx:if="{{integraSetting.is_trancoins_open == 1}}" bindtap="onChangecoinTap">转到{{integraSetting.coin.name}}</view>

plugin/integral/changecoin/changecoin

api(api/controller/ApiIntegral.php)

public function Present(){
        global $_W;
        $set = Integralconf::get_curr();
        if($set["is_open"]==1){
            $user_id=input('post.user_id'); //当前用户
            $present_user_id=input('post.present_user_id'); //受赠人
            $cost=input('post.cost');
            $integral=input('post.integral');
            $is_tran_c=input('post.is_tran_c');
            $userinfo = User::get($user_id);
            if($is_tran_c){//转换购物币
                if($set["is_trancoins_open"]==1){
                    if($userinfo["now_integral"]<$cost){
                        return_json($set['name'].'不足,无法转换!',-1);
                    }
                    $coinset = Coins::get_curr();
                    $integral_coins_rate = $set["integral_coins_rate"]>0?$set["integral_coins_rate"]:1;
                    //判断中基是否开启
                    $aozhi = Aozhi::get_curr();
                    if($aozhi["is_open"]==1){
                        $commission_price = $cost;
                        if($aozhi["today_ratio"]>0){
                            $commission_price = sprintf("%.2f",$cost*$aozhi["today_ratio"]/100);
                        }
                    }else{
                        $commission_price = sprintf("%.2f",$cost/$integral_coins_rate);
                    }

                    //减积分
                    $record=new Integralrecord();
                    //扣除积分
                    $record->scoreAct($user_id,14,-$cost,0,'转换'.$cost.$set['name'].'到'.$coinset['name'].'('.$commission_price.')');

                    //加购物币
                    $record=new Coinsrecord();
                    $user_remark='转换:转换'.$cost.$set['name'].'到'.$coinset['name'].'('.$commission_price.')';
                    $record->addRecord($user_id,15,$commission_price,$user_remark,$_W['uniacid'],'');
                    return_json();
                }
            }elseif($set['present_open']==1){

                $present_userinfo=\app\model\User::get($present_user_id);
                if($present_userinfo){
                    $record=new Integralrecord();
                    $send_integral = $integral;
                    $present_fee = 0;
                    if($set["present_fee"]>0){
                        $present_fee = sprintf("%.2f",$integral*$set["present_fee"]/100);
                    }
                    //加当前用户
                    $user_remark='转赠:给用户【'.$present_userinfo['nickname'].'】'.$integral.$set['name'];
                    if($present_fee>0){
                        $user_remark .= ";手续费:".$present_fee;
                        $send_integral = sprintf("%.2f",$send_integral-$present_fee);
                    }
                    $record->scoreAct($user_id,20,-$integral,0,$user_remark,$_W['uniacid']);

                    //受赠
                    $presentuser_remark='转赠:来源于用户【'.$userinfo['nickname'].'】'.$send_integral.$set['name'];
                    $rid=$record->scoreAct($present_user_id,20,$send_integral,0,$presentuser_remark,$_W['uniacid']);
                    return_json();
                }else{
                    return_json('受赠人不存在',-1);
                }
            }else{
                return_json('无法转换!',-1);
            }
        }else{
            return_json('无法转换',-1);
        }
    }