首页 > 代码库 > 每日记载内容总结38

每日记载内容总结38

从一个项目中学到的做项目知识:

1.不管需求多么简单,多么熟练,都要和项目负责人对需求。对完了就知道有什么了,不对完,猜测有什么,说不定会多出什么。

2.项目需要文件没有齐全的话,需要考虑下次相同文件到来时,已最快的方法进行操作。

3.加需求,要考虑原需求是否可以按时完成,完不成,就不加,或者对负责人进行提醒。

4.要从整个项目出发,设计实体类和数据库内容,是做功能,还是做管理模块,等等,考虑全了再设计,总比推到再来强多了。

5.测试,要深入全面测试,不要只测同样功能的一部分,要测全部。

从一个项目中学到的编码知识:

(1)抽奖活动(总共为三个等级中奖,可调整奖品名称,中奖数量,中奖概率)

实体类

private String title;private String oneName;private Integer oneNum;private Integer oneShangxian;// 分子private Integer oneXiaxian;// 分母private Integer oneLeft;private String twoName;private Integer twoNum;private Integer twoShangxian;// 分子private Integer twoXiaxian;// 分母private Integer twoLeft;private String threeName;private Integer threeNum;private Integer threeShangxian;// 分子private Integer threeXiaxian;// 分母private Integer threeLeft;private Integer state;//1开启 2 关闭

判断中奖(true即为中奖 false即为不中奖)

public boolean choujiangbegin(Integer fz,Integer fm,Integer num,Integer left){        if(num<=0){            return false;        }        //剩余数量<=0        if(left <=0){            return false;        }        int nowsize = getRandom(fm);        if(nowsize<=fz){            //中奖            return true;        }else{            //未中奖            return false;        }    }
public int getRandom(int js){        return (int)(Math.random()*js)+1;     }

(2)微信简单的授权认证(通过设置跳转链接和appId,获取点击用户的openId)

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

群发图文消息给用户,用户点击图文消息进入图文详情,将该链接放在原文链接中,点击之后跳转调查问卷,即可获取到code,根据code调用微信接口即可获得openId

注意:1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台网站的我的服务页中配置授权回调域名。请注意,这里填写的域名不要加http://

2.redirect_uri授权后重定向的回调链接地址,请使用urlencode对链接进行处理

(3)对于"2,3,4,5,3,1,6,3,"这样的字符串,获取不重复的内容,即得到结果为"1,2,3,4,5,6"的字符串

public static String removeChongfu(String preValue){        if(StringUtils.isNotBlank(preValue)){            String[] arr = preValue.split(",");            Set<String> set = new TreeSet<String>();            for (int i = 0; i < arr.length; i++) {                if(StringUtils.isNotBlank(arr[i])){                    set.add(arr[i]);                }            }            StringBuffer sb = new StringBuffer();            if(set != null && set.size() > 0){                for (String string : set) {                    sb.append(string).append(",");                }            }            String result = sb.toString();            if(StringUtils.isNotBlank(result)){                result = result.substring(0, result.length()-1);                return result;            }else{                return null;            }        }else{            return null;        }    }

(4)easyui插件 控制开始时间和结束时间 验证

var startDate= $("#startDate").datebox("getValue");    var endDate= $("#endDate").datebox("getValue");        if(endDate != null && endDate!=""){        if(new Date(endDate.replace(/-/g,   "/")).getTime() < new Date().getTime()){            alert("结束时间小于当前时间,请重新选择");            return false;        }    }        if(startDate != null && startDate !="" && endDate != null && endDate!=""){        var end = new Date(endDate.replace(/-/g,   "/")).getTime();        if(end < new Date().getTime()){            alert("结束时间小于当前时间,请重新选择");            return false;        }        if(startDate>endDate){            alert("开始时间大于结束时间,请重新选择");            return false;        }    }

每日记载内容总结38