扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
/**
创新互联建站是一家以网站建设公司、网页设计、品牌设计、软件运维、网站推广、小程序App开发等移动开发为一体互联网公司。已累计为iso认证等众行业中小客户提供优质的互联网建站和软件开发服务。
* 得到一个新的订单代码
* 说明,此函数还没有进行过多线程测试,更新数据库时未加锁
* @return 新的订单代码
*/
public String getOrderCode(){
//getParameter这个方法就是从数据库取2个参数的值 ORDER_CODE_DATE 和
//ORDER_CODE_NO是数据库字段名
BasParameters orderCodeDate = getParameter(ORDER_CODE_DATE);
BasParameters orderCodeNo = getParameter(ORDER_CODE_NO);
//当前日期
String currDate=new SimpleDateFormat("yyyyMMdd").format(new Date(System.currentTimeMillis()));
//每天的起始数
int orderNo = 100;
//表里存的日期和当前日期相同,顺序号累加
if (currDate.equals(orderCodeDate.getValue())){
orderCodeNo.setValue(""+(Integer.parseInt(orderCodeNo.getValue())+1));
orderNo = (Integer.parseInt(orderCodeNo.getValue()));
//save 就是保存ORDER_CODE_DATE 和 ORDER_CODE_NO当前值到数据库
save(orderCodeNo);
} else {
//表里存的日期和当前日期不同,顺序号重新开始,更新参数表的日期
orderCodeDate.setValue(currDate);
save(orderCodeDate);
orderCodeNo.setValue(orderNo);
save(orderCodeNo);
}
return currDate + new DecimalFormat("000000").format(orderNo);
}
package cn.test.logan.day04;
import java.util.ArrayList;
/**
* 订单类
* 包含:订单ID、订单所属用户、订单所包含的商品、订单总金额、订单应付金额
* 500-1000 ------- 8.5折
* 1000-1500 ------- 8折
* 1500-2000 ------- 7折
* 2000以上 ------- 6.5折
* 如果是会员,那么可以基于以上折扣继续折扣
* 一般会员:9.5折
* 中级会员:9折
* 高级会员:8折
* @author QIN
*
*/
public class Order {undefined
// 订单ID
public String ordId;
// 订单所属用户
public User user;
// 订单所包含的商品(多个商品,使用ArrayList)
public ArrayList pds;
// 订单总金额
public float ordAllAmt;
// 订单应付金额
public float payAmt;
// 计算总金额的方法
public void setAllAmt() {undefined
float sum = 0;
for(int i=0;i
sum +=this.pds.get(i).price * this.pds.get(i).number;
}
this.ordAllAmt = sum;
}
// 计算实付金额
public void setPayAmt() {undefined
float tmp = this.ordAllAmt;
// 根据总金额进行折扣
if(this.ordAllAmt = 500 this.ordAllAmt
tmp = this.ordAllAmt * 0.85f;
}
if(this.ordAllAmt = 1000 this.ordAllAmt
tmp = this.ordAllAmt * 0.8f;
}
if(this.ordAllAmt = 1500 this.ordAllAmt
tmp = this.ordAllAmt * 0.7f;
}
if(this.ordAllAmt = 2000) {undefined
tmp = this.ordAllAmt * 0.65f;
}
// 根据会员等级折扣
if(user.CustLevel.equals("一般会员")) {undefined
tmp = tmp * 0.95f;
}
if(user.CustLevel.equals("中级会员")) {undefined
tmp = tmp * 0.9f;
}
if(user.CustLevel.equals("高级会员")) {undefined
tmp = tmp * 0.8f;
}
//计算结果赋值给对象上的payAmt变量
this.payAmt = tmp;
}
}
参考资料来源:百度贴吧CSDN博主「公子京」
JAVA类库中可以使用UUID方法,来生成唯一的数字的一串数字编号,也就是订单号。
UUID.randomUUID().toString().replaceAll("-", "");通过上述方法就可以返回一串数字字符串。
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class CopyContentToAnother extends JFrame implements ActionListener{
JButton button;
JTextArea jtx,jtx2;
Container c;
JPanel p;
public CopyContentToAnother(){
c=this.getContentPane();
p= new JPanel();
jtx = new JTextArea(12,12);
jtx2 = new JTextArea(12,12);
button = new JButton("确定");
button.addActionListener(this);
p.add(jtx);
p.add(jtx2);
p.add(button);
this.add(p);
this.setSize(500, 400);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button){
jtx2.setText(jtx.getText());
jtx.setText("");
}
}
public static void main(String args[]){
CopyContentToAnother m =new CopyContentToAnother();
}
}
上面已经回答了
编译已经通过,运行正确,如果还有问题,请留言ITjob
为了30分:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static final String PREFIX = "DD";
private static long code;
public static void main(String[] args) {
System.out.println(Test.nextCode());
System.out.println(Test.nextCode());
System.out.println(Test.nextCode());
}
public static synchronized String nextCode() {
code++;
String str = new SimpleDateFormat("yyyyMM").format(new Date());
long m = Long.parseLong((str)) * 10000;
m += code;
return PREFIX + m;
}
}
package beans.excel;
import java.io.IOException;
import java.io.OutputStream;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class SimpleExcelWrite {
public void createExcel(OutputStream os) throws WriteException,IOException{
//创建工作薄
WritableWorkbook workbook = Workbook.createWorkbook(os);
//创建新的一页
WritableSheet sheet = workbook.createSheet("First Sheet",0);
//创建要显示的内容,创建一个单元格,第一个参数为列坐标,第二个参数为行坐标,第三个参数为内容
Label xuexiao = new Label(0,0,"学校");
sheet.addCell(xuexiao);
Label zhuanye = new Label(1,0,"专业");
sheet.addCell(zhuanye);
Label jingzhengli = new Label(2,0,"专业竞争力");
sheet.addCell(jingzhengli);
Label qinghua = new Label(0,1,"清华大学");
sheet.addCell(qinghua);
Label jisuanji = new Label(1,1,"计算机专业");
sheet.addCell(jisuanji);
Label gao = new Label(2,1,"高");
sheet.addCell(gao);
Label beida = new Label(0,2,"北京大学");
sheet.addCell(beida);
Label falv = new Label(1,2,"法律专业");
sheet.addCell(falv);
Label zhong = new Label(2,2,"中");
sheet.addCell(zhong);
Label ligong = new Label(0,3,"北京理工大学");
sheet.addCell(ligong);
Label hangkong = new Label(1,3,"航空专业");
sheet.addCell(hangkong);
Label di = new Label(2,3,"低");
sheet.addCell(di);
//把创建的内容写入到输出流中,并关闭输出流
workbook.write();
workbook.close();
os.close();
}
}
SimpleExcelWrite.jsp
%@ page language="java" import="java.util.*" pageEncoding="gb2312"%
%@ page import="java.io.*" %
%@ page import="beans.excel.*" %
%
String fname = "学校竞争力情况";
OutputStream os = response.getOutputStream();//取得输出流
response.reset();//清空输出流
//下面是对中文文件名的处理
response.setCharacterEncoding("UTF-8");//设置相应内容的编码格式
fname = java.net.URLEncoder.encode(fname,"UTF-8");
response.setHeader("Content-Disposition","attachment;filename="+new String(fname.getBytes("UTF-8"),"GBK")+".xls");
response.setContentType("application/msexcel");//定义输出类型
SimpleExcelWrite sw = new SimpleExcelWrite();
sw.createExcel(os);
%
html
head
title/title
/head
body
/body
/html
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流