1、这个需求是一个微信公众号上的一个功能需求,功能解释:
用户A 转帐 1000元 到用户B ,用户A的账户要减1000元,退款表加一条1000元的退款记录;用户B的账户要加1000元,充值表加1000元 新增一张转账记录表,就是记录谁向谁,在什么时候转账了多少钱,新增的表都必须有创建时间 CREATETIME 、更新时间 UPDATETIME这几个字段。
项目的话前端是vue,后端是spring,技术还算比较新
<!--确认弹框 start-->
<div class="refund_dialog" id="refundDialog" style="display: none;">
<div class="weui-mask"></div>
<div class="weui-dialog">
<div class="weui-dialog__bd">请确认是否向{{userName}}({{jobNO}})发起转账?</div>
<div class="weui-dialog__ft">
<div class="weui-dialog__btn weui-dialog__btn_default" @click="stopDining()">取消</div>
<div class="weui-dialog__btn weui-dialog__btn_primary" @click="transferAccounts()">确定</div>
</div>
</div>
</div>
<!--确认弹框 end-->
methods:{
//显示弹窗
showDining(){
this.$('#refundDialog').fadeIn(0);
},
//隐藏弹窗
stopDining(){
this.$('#refundDialog').fadeOut(0);
},
if(this.userName == '' || this.money == '' || this.jobNO == ''){
_this.resultData.msg = "转账人信息有空或转账金额为空";
_this.resultData.color = "red";
_this.showResultTips();
return; //前端不往下走了,return就可以了,
}
后端代码
//通过三种类型查找收款人
String phone = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$";
String userName = "^[\\u4e00-\\u9fa5]{0,}$";
String jobNo = "^[0-9]{1,}$";
if (userInfo.matches(userName)){
//模糊查询会员用户信息
resultJson.put("data", map);
return resultJson;
}
if (userInfo.matches(phone)){
//手机号查询会员用户信息
resultJson.put("data", map);
return resultJson;
}
if (userInfo.matches(jobNo)){
//工号查询会员用户信息
resultJson.put("data", map);
return resultJson;
}
//判断BigDecimal类型金额的大小
if (new BigDecimal(money).compareTo(new BigDecimal(String.valueOf(transferorMap.get("BALANCE")))) > 0){
resultJson.put("result", false);
resultJson.put("code", "10013");
resultJson.put("msg", "当前现金账户余额少于转账金额");
return resultJson;
}
//重要学到的一条sql
select a.*,( SELECT NAME FROM info WHERE ID = a.TRANSFEROR ) TRANSFEROR_NAME
( SELECT NAME FROM info WHERE ID = a.PAYEE ) PAYEE_NAME from trans a
where CREATE_TIME BETWEEN startTime AND endTime ;
由于公司代码有专利在,我也只能贴一些我觉得我学到的地方的代码或不太关键公司的代码。剩下都是一些业务代码,给条狗,都会写了。
2、这次我觉得学得最有用的地方是在远程服务器上部署项目的了,我写一下Linux命令吧,
这次说的是部署在tomcat上的项目
1、首先要cd 到服务器上tomcat的bin目录下
cd /tomcat/apache-tomcat-8.5.43/bin
2、如果只有部署前端vue的话,就不用停tomcat的,把vue项目打包build,
把打包文件从本地通过Xshell 7等软件传输到服务器上就行,后端就需要停tomcat了,命令为:
./shutdown.sh
3、查看运行的程序:ps -ef | grep tomcat
找到对应的tomcat服务
4589 /usr/local/jdk/jdk1.8.0_211/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/apache-tomcat-8.5.43/conf/logging.properties -Djava.util.logg
4、杀掉程序命令:kill -s 9 4589
可以再看一遍杀掉了吗:ps -ef | grep tomcat
5、然后把后端更新完的编译后的class文件传输到服务器对应位置就行了,再启动tomcat
命令为:./startup.sh
在外网就可以正常访问了
vue项目打包过程:右键划线地方
最后
这次需求真的就难搞了,需求总是变是最难受的,给我了两天,但是实际搞了一个星期5天,天天加班到晚上11点,昨天最狠,加到00:24了,到宿舍1点钟才休息,才上班两个星期,这样了,这家公司是真狠呀,需求排期是真赶。唉,还是熬过这段时间就好了,主要是有一个很好的同学在这家公司,所以生活再难也要坚持了。