使用bootbox.js(二级务必提交书面和数字到数字中国)

使用bootbox.js(二级务必提交书面和数字到数字中国)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

页面文件

<#-- 页头 -->
<#assign currNav = "deposit">
<#assign title="网校充值">
<#include "/root/commons/header.ftl">
    
    <div class="container">
        
        <form id="depositForm" name="depositForm" role="form" action="/root/depositlog/${schoolId}/deposit" method="post">
          <div class="form-group">
            <label for="schoolId">网校ID</label>
            <input type="text" class="form-control" id="schoolId" name="schoolId" placeholder="比如。udemy" value="${school.schoolId!''}" readonly="readonly">
            <p class="help-block">全局唯一,不能和其它网校的ID同样</p>
          </div>
          <div class="form-group">
            <label for="name">网校名称</label>
            <input type="text" class="form-control" id="name" name="name" placeholder="请填写网校名称" value="${school.name!''}" readonly="readonly">
          </div>
          
          
          <div class="form-group">
            <label for="duration">充值分钟数  <span id="chinaText" class="text-muted text-sm" style="margin-left:60px;font-size:12px;"> </span></label>
            <input type="number" class="form-control" id="duration" name="duration" placeholder="">
            <p class="help-block">单位:分钟</p>
          </div>
          <div class="form-group">
            <label for="amount">充值金额  <span id="moneyText" class="text-muted text-sm" style="margin-left:60px;font-size:12px;"> </span></label>
            <input type="text" class="form-control" id="amount" name="amount" placeholder="">
            <p class="help-block">单位:元</p>
          </div>
          <div class="form-group">
            <label for="note">备注</label>
            <input type="text" class="form-control" id="note" name="note" placeholder="">
          </div>          
          
        </form>
        
          <button  id="submitBtn" class="btn btn-primary">提交充值数据</button>
      
    </div> <!-- /container -->

<#-- 页脚開始 -->
<#include "/root/commons/footerBegin.ftl">

<script src="/resources/js/bootbox.js"></script>

<script>
    //在输入框内容变化的时候触发change
	  $("#duration").on('input',function(e){
		  var value=$("#duration").val();
		   
		   $.get("/root/depositlog/input/change",{number:value},function(data){
			   $("#chinaText").text(data+" 分钟");
		   });
	  });
	  
	  $("#amount").on('input',function(e){
		  var value=$("#amount").val();
		   
		   $.get("/root/depositlog/input/change",{number:value},function(data){
			   $("#moneyText").text(data+" 元");
		   });
	  });
	  
	  $("#submitBtn").click(function(){
	        var schoolId=$("#schoolId").val();
	        var name=$("#name").val();
	        var duration=$("#duration").val();
	        var amount=$("#amount").val();
	        
	        
	      	bootbox.dialog({
			  message: "<div id='schoolName'>网校名称:<span>"+name+"</span><span style='margin-left:10px'>schoolId-("+schoolId+")</span></div>"+
			           "<div>充值时长:<span>"+duration+" 分钟</span></div>"+
			           "<div>充值金额:<span>"+amount+" 元</span></div>",
			  title: "充值确认",
			  buttons: {
				    success: {
				      label: "确定",
				      className: "btn-success",
				      callback: function() {
				        document.depositForm.submit();
				      }
				    },
				   danger: {
				      label: "取消",
				      className: "btn-danger",
				      callback: function() {
				        return;
				      }
				   }
			  }
			});
			
	  });
</script>

<#-- 页脚结束 -->
<#include "/root/commons/footerEnd.ftl">

推断仅仅有是数字字符串才发送

$("#duration").on('input',function(e){  
	    var value=$("#duration").val();
	    //alert($.isNumeric(value));
	
	    if($.isNumeric(value)){
	    	$("#mistakeText").html("");
	    	$.get("/springmvc/input/change",{number:value},function(data){
		    	$("#chinaText").html(data+"分钟");
		    });
	    }else{
	    	$("#mistakeText").html("请输入数字!");
	    }
	    
	});

Java类文件

package com.school.web.controller.root;

import java.math.BigDecimal;
import java.nio.charset.Charset;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.school.business.DepositLogManager;
import com.school.business.SchoolManager;
import com.school.domain.DepositLog;
import com.school.domain.Root;
import com.school.domain.School;
import com.school.stereotype.YesNoStatus;
import com.school.util.Constants;

/**
 * 充值管理的控制器。
 */
@Controller("rootDepositManagementController")
@RequestMapping("/root/depositlog")
public class DepositManagementController extends AbstractRootController {

    private static final Logger LOG = LoggerFactory.getLogger(DepositManagementController.class);

    @Autowired
    private SchoolManager schoolManager;

    @Autowired
    private DepositLogManager depositLogManager;

    /**
     * 充值表单。
     */
    @RequestMapping(value = "/{schoolId}/deposit", method = RequestMethod.GET)
    public ModelAndView depositForm(@PathVariable String schoolId, HttpServletRequest request) {

        // 网校信息
        School school = schoolManager.getSchool(schoolId);

        ModelAndView mav = this.createModelAndView(request);
        mav.setViewName("root/depositLog/deposit");
        mav.addObject("schoolId", schoolId);
        mav.addObject("school", school);
        return mav;
    }

    /**
     * 处理充值。
     */
    @RequestMapping(value = "/{schoolId}/deposit", method = RequestMethod.POST)
    public @ResponseBody String depositPost(@PathVariable String schoolId, HttpServletRequest request) {

        int duration = ServletRequestUtils.getIntParameter(request, "duration", 0);// 时长分钟数。单位:分钟
        double amount = ServletRequestUtils.getDoubleParameter(request, "amount", 0);// 价格
        String tradingNote = ServletRequestUtils.getStringParameter(request, "note", null); // 备注

        if (duration <= 0) {
            return "invalid duration";
        }

        if (amount < 0) {
            return "invalid amount";
        }

        // 当前管理员信息
        Root root = (Root) (request.getSession().getAttribute(Constants.ROOT_SESSION_NAME));

        // 交易名称
        String tradingName = schoolId + "充值" + duration + "。费用:" + amount + "元";

        // 充值信息
        DepositLog depositLog = new DepositLog();
        depositLog.setSchoolId(schoolId);
        depositLog.setTradingName(tradingName);
        depositLog.setTradingNote(tradingNote);
        depositLog.setDuration(duration);
        depositLog.setAmount(BigDecimal.valueOf(amount));
        depositLog.setOperator(root.getNickname());
        depositLog.setStatus(YesNoStatus.YES.getValue());
        depositLog.setDateAdded(new Date());
        depositLog.setLastModified(new Date());

        int rows = depositLogManager.addDepositLog(depositLog);
        LOG.info(tradingName + "。处理结果:" + rows);

        return "success";
    }

    /**
     * 查看近期100条充值记录。
     */
    @RequestMapping("/list")
    public ModelAndView depositLogs(HttpServletRequest request) {
        // 查询充值记录
        List<DepositLog> depositLogs = depositLogManager.getDepositLogs();

        ModelAndView mav = this.createModelAndView(request);
        mav.setViewName("root/depositLog/list");
        mav.addObject("depositLogs", depositLogs);
        return mav;
    }
    
    /**
     * 将数字转换成中文数字
     * @author Prosper
     * @throws UnsupportedEncodingException 
     */
    @RequestMapping(value="/input/change", method = {RequestMethod.POST,RequestMethod.GET})
    public ResponseEntity<String> getCNint(HttpServletRequest request){
        HttpHeaders headers = new HttpHeaders();
        MediaType mediaType = new MediaType("text", "plain", Charset.forName("UTF-8"));
        //MediaType mediaType = new MediaType("application", "json", Charset.forName("UTF-8"));
        headers.setContentType(mediaType);
        //HttpStatus Yes=HttpStatus.OK;
        
        String str = request.getParameter("number");
        
        if("".equals(str) && str==null){
            return new ResponseEntity<String>("no",  headers, HttpStatus.OK);
        }else{
            Integer number = Integer.parseInt(str);
            String ri=intToZH(number);
            return new ResponseEntity<String>(ri,  headers, HttpStatus.OK);
        }
         
    }
    
    public String intToZH(int i){
        String[] zh = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
        String[] unit = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十"};
        
        String str = "";
        StringBuffer sb = new StringBuffer(String.valueOf(i));
        sb = sb.reverse();
        int r = 0;
        int l = 0;
        for (int j = 0; j < sb.length(); j++)
        {
            /**
             * 当前数字
             */
            r = Integer.valueOf(sb.substring(j, j+1));
            
            if (j != 0)
                /**
                 * 上一个数字
                 */
                l = Integer.valueOf(sb.substring(j-1, j));
            
            if (j == 0)
            {
                if (r != 0 || sb.length() == 1)
                    str = zh[r];
                continue;
            }
            
            if (j == 1 || j == 2 || j == 3 || j == 5 || j == 6 || j == 7 || j == 9)
            {
                if (r != 0)
                    str = zh[r] + unit[j] + str;
                else if (l != 0)
                    str = zh[r] + str;
                continue;
            }
            
            if (j == 4 || j == 8)
            {
                str =  unit[j] + str;
                if ((l != 0 && r == 0) || r != 0)
                    str = zh[r] + str;
                continue;
            }
        }
        return str;
    }

}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117590.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ORACLE 毫秒与日期的相互转换

    ORACLE 毫秒与日期的相互转换

    2022年2月3日
    51
  • android 模拟器 haxm,Android模拟器不使用HAXM

    android 模拟器 haxm,Android模拟器不使用HAXM我遇到HAXM问题.在我使用Windows7之前,一切都很好,但升级到Win8.1Pro后,当我从AVD屏幕启动模拟器时,我看不到haxm启动消息.HAXM安装并正常工作,我安装了x86的图像,我的设备使用它但仍然无法在启动窗口中看到Emulator正在使用haxm的确认消息.这是情况;>我的处理器支持vt.>我检查了我的服务,所有Hyper-VT服务都“停止”>HAXM…

    2022年6月28日
    22
  • Python+OpenCV实时图像处理「建议收藏」

    Python+OpenCV实时图像处理「建议收藏」初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试有一定帮助。

    2022年5月7日
    144
  • 2021的vmware12激活码【在线注册码/序列号/破解码】

    2021的vmware12激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    61
  • 基于mysql的简单图书管理系统_图书管理系统

    基于mysql的简单图书管理系统_图书管理系统因为这两天要做数据库课设但是本人又很菜就做了一个简单的系统,简单的实现了增删改查,数据库用的是mysql,但是数据库的权限功能都没有实现,就是程序比较简陋,新手程序员可以参考一下~题目内容图书管理系统设计说明(1) 开发内容做出图书管理系统的需求分析,概念结构分析,逻辑结构分析,数据库的实施及维护。开发要求○1进行新书入库、现有图书信息修改以及删除;②能够实现对读者基本信息的查询和编辑管理;③能够实现预约功能;④能够实现借阅信息的查询功能;(2) 开发环境及工具系统前台开发软

    2022年10月15日
    0
  • CE修改器使用教程 [基础篇]

    CheatEngine一般简称CE,是一个开放源代码的作弊软件,其功能包括:内存扫描、十六进制编辑器、调试工具,CheatEngine自身附带了外挂制作工具,可以用它直接生成外挂工具,CE可以说是目前最优秀的游戏修改器不是之一,这个工具绝对值得你去学习(只要花一点时间就够了)。本篇文章只是转载内容,后期将会以一些单机游戏为重点,讲解飞天,蹲地,无敌,秒杀,等功能的实现,更多实战教程敬请…

    2022年4月3日
    650

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号