您的位置:首页 > 其它

2015年工作中遇到的问题:61-70

2015-02-07 20:40 323 查看
61.实名认证的故事。据说,官方公安提供的实名认证接口只有1个,一次调用5元钱。阿里由于量大,和公安谈判,貌似1元1次。经过多年,阿里积累了大量的实名认证数据,后来还对外提供了这项服务,一次调用只需要1元钱。后来,被官方给叫停了。
还有一个故事,微博实名之后,新浪需要对几亿用户进行实名认证,需要花大笔钱。据说,为了节省一些钱,把这个事包装成一个项目,交给了第三方公司,然后搞定了认证。
权力垄断导致的坑爹事件,这些商业公司花了好多冤枉钱啊。
62.p2p实名认证。某小公司,为了节省钱,从网上下载了3000万的实名认证数据,导入到自己的库中。
具体到项目中,投标不需要实名认证,降低门槛。实名认证之后,才能提现。
不过呢,我发现存在“洗钱”的可能,投标的时候,用A账户,实名认证用B账户,提现用B账户。钱就从A到B了。
63.把一个没用的表给删除了,通知了下boss,随手发了个“删了”。 应该发“已删”,“删了”有歧义
64.有线网络与无线网络的优先级问题。同时接入有线网络和无线网络,网络信号显示的是,“无线网络的信号”。
65.移动大型文件时,电脑会非常卡,应该是磁盘IO比较差。I5的CPU,8G内存,按说还是不错的。
66.Windows7安装IIS,测试安装是否成功。进入Win7的控制面板,选择“程序”然后在点击“程序和功能”,在左侧选择的“打开或关闭Windows功能”在出现的列表中选择IIS7然后确定。参考资料:百度经验-http://jingyan.baidu.com/article/6dad5075a4564ba123e36e29.html
iis7更改默认连接80端口的方法参考资料:百度经验-http://jingyan.baidu.com/article/1612d5001990c5e20f1eee50.html
67.SpringMVC的RedirectView与post请求。网上有传言,说new RedirectView("https://a.com/payindex", true,false, false)第4个参数为false,是post请求。
但官方的文档不是这么说的,“exposeModelAttributes whether or not model attributes should be exposed as query parameters”,是否需要暴露参数。RedirectView的底层实现还是response.sendRedirect,url是get实现的。
重定向2种方式实现:
@RequestMapping(value = "/recharge/applyPayment")
	public RedirectView applyPayment(@RequestParam Long id,
			ModelMap modelMap, HttpServletRequest request,
			HttpServletResponse response) {

		P2PRecharge p2pRecharge = p2pRechargeService.findP2PRechargeById(id);
		Double inputOrderAmount = p2pRecharge.getMoney();
		Money orderMoney = new Money(inputOrderAmount);
			
		modelMap.putAll(baofuConfig.getApplyParams());
		modelMap.put(BaofuConfig.BaofuApplyKey.OrderMoney.name(), orderMoney.getCent());
		modelMap.put(BaofuConfig.BaofuApplyKey.TradeDate.name(), dateformat.format(p2pRecharge.getAddTime()));
		modelMap.put(BaofuConfig.BaofuApplyKey.TransID.name(), p2pRecharge.getId());
		modelMap.put("signature", getApplySign(modelMap,baofuConfig.getKey()));
		
		//方法1,用RedirectView
		return new RedirectView(
				"https://vgw.baofoo.com/payindex", true,
				false, true);
		//方法2,直接用原生的
		 try {
			 String p="";
			for(Entry<String, Object> entry:modelMap.entrySet()){
				p+=entry.getKey()+"="+entry.getValue()+"&";
			}
			//p+=BaofuConfig.BaofuApplyKey.OrderMoney.name()+"="+
			response.sendRedirect("https://a.com/payindex?"+p);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


重定向是否存在get和post这个概念?
68.金钱Money的小数位被吃了。我们在“2015年工作中遇到的问题:51-60”第56个问题“SpringMVC接收参数疑问。”说道,为了能够“不创建字段,但是通过set方法接收参数”,结果,尼玛,出大问题了。自从增加了这个方法,/* public void setIntegerPart(Long integerPart) { this.cent = integerPart*100; }*/所有涉及资金转账的地方,浮点数部分都没有了,只留下了整数部分。这是为何呢?
我们只能根据结果分析,WebService调用的时候,Money序列化出了问题。调用的时候,Money是101,结果到WebService实现的时候,Money是100。
从严谨出发,我个人不喜欢在Bean中创建没有实际字段的getter和setter方法。 69.WebService通信,把Money序列化,为什么会调用setIntegerPart方法。 经过多次对比分析,只要有setIntegerPart方法,资金相关的就不正确。 本来以为,只要把“long cent;”改成“private long cent;”就好了。 据Boss所说,用WebService的时候,它遇到过类似的情况,如果变量没有设置为private的,可能会和public的get方法冲突,出现异常情况。
70.Redis的几个小问题。a.连接redis客户端 redis-cli,全都是默认的配置b.显示所有的keys keys (c.删除key del key_named.查看1个key的过期时间 ttl key_name,-1表示永不过期,-2表示不存在 今天遇到一个很棘手的问题 //如果这个key不在redis中,就设置,并缓存一段时间。 //TODO 问题,如果setIfAbsent执行之后,没有设置过期时间,且此时,服务器挂了,那么后面的设置缓存时间就失败了,然后这个key一直缓存在redis中。 public boolean setIfAbsent(String key, Object value, long timeout){ ValueOperations<String, Object> valueops = businessRedisTemplate .opsForValue(); boolean result = valueops.setIfAbsent(key, value); if(result){ this.add(key, value, timeout, TimeUnit.SECONDS); } return result; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: