|
@@ -23,6 +23,7 @@ import java.io.UnsupportedEncodingException;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
import java.net.URLDecoder;
|
|
import java.net.URLDecoder;
|
|
|
|
+import java.text.DateFormat;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -47,6 +48,8 @@ public class OrderController extends BaseController {
|
|
private MchService mchService;
|
|
private MchService mchService;
|
|
@Resource(name = "promoCodeServiceImpl")
|
|
@Resource(name = "promoCodeServiceImpl")
|
|
private PromoCodeService promoCodeService;
|
|
private PromoCodeService promoCodeService;
|
|
|
|
+ @Resource(name = "priceServiceImpl")
|
|
|
|
+ private PriceService priceService;
|
|
/**
|
|
/**
|
|
* 请求在线支付
|
|
* 请求在线支付
|
|
*
|
|
*
|
|
@@ -614,9 +617,15 @@ public class OrderController extends BaseController {
|
|
// 订单号
|
|
// 订单号
|
|
|
|
|
|
//价格
|
|
//价格
|
|
-
|
|
|
|
|
|
+ Double money = null;
|
|
|
|
+ List<Price> prices = priceService.findAll();
|
|
|
|
+ for(Price price1:prices){
|
|
|
|
+ if(price1.getName().equals("优惠码")){
|
|
|
|
+ money = price1.getPrice();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
//生成优惠码的个数
|
|
//生成优惠码的个数
|
|
- double num = price/0.02;
|
|
|
|
|
|
+ double num = price/money;
|
|
int number = (int) num;
|
|
int number = (int) num;
|
|
Order order = orderService.findBySn(sn);
|
|
Order order = orderService.findBySn(sn);
|
|
Admin admin = adminService.find(order.getAdminId());
|
|
Admin admin = adminService.find(order.getAdminId());
|
|
@@ -645,14 +654,20 @@ public class OrderController extends BaseController {
|
|
for(int i=0;i<number;i++){
|
|
for(int i=0;i<number;i++){
|
|
String code = orderService.initSn(order.getEquipmentId());
|
|
String code = orderService.initSn(order.getEquipmentId());
|
|
StringBuffer str = new StringBuffer();
|
|
StringBuffer str = new StringBuffer();
|
|
- str.append(code.substring(0,4)).append(code.substring(code.length()-4,code.length()));
|
|
|
|
|
|
+ str.append(code.substring(0,6));
|
|
codes.add(str.toString());
|
|
codes.add(str.toString());
|
|
}
|
|
}
|
|
|
|
+ Long data = Calendar.getInstance().getTimeInMillis();
|
|
|
|
+ Long month = 30L*24L*60L*60L*1000L;
|
|
|
|
+ Long d = data + month;
|
|
|
|
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ Date lastUseDate = new Date(Long.parseLong(String.valueOf(d)));
|
|
for(String code : codes){
|
|
for(String code : codes){
|
|
PromoCode promoCode = new PromoCode();
|
|
PromoCode promoCode = new PromoCode();
|
|
promoCode.setCode(Long.parseLong(code));
|
|
promoCode.setCode(Long.parseLong(code));
|
|
promoCode.setAdminId(String.valueOf(order.getAdminId()));
|
|
promoCode.setAdminId(String.valueOf(order.getAdminId()));
|
|
promoCode.setIsUse("0");
|
|
promoCode.setIsUse("0");
|
|
|
|
+ promoCode.setLastUseDate(lastUseDate);
|
|
promoCode.setCreateDate(new Date());
|
|
promoCode.setCreateDate(new Date());
|
|
promoCode.setModifyDate(null);
|
|
promoCode.setModifyDate(null);
|
|
promoCode.setUserName(admin.getUsername());
|
|
promoCode.setUserName(admin.getUsername());
|
|
@@ -683,8 +698,15 @@ public class OrderController extends BaseController {
|
|
String sn = request.getParameter("r2_OrderNo");
|
|
String sn = request.getParameter("r2_OrderNo");
|
|
//价格
|
|
//价格
|
|
String price = request.getParameter("r3_Amount");
|
|
String price = request.getParameter("r3_Amount");
|
|
|
|
+ Double money = null;
|
|
|
|
+ List<Price> prices = priceService.findAll();
|
|
|
|
+ for(Price price1:prices){
|
|
|
|
+ if(price1.getName().equals("优惠码")){
|
|
|
|
+ money = price1.getPrice();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
//生成优惠码的个数
|
|
//生成优惠码的个数
|
|
- double num = Long.valueOf(price)/0.02;
|
|
|
|
|
|
+ double num = Double.parseDouble(price)/money;
|
|
int number = (int) num;
|
|
int number = (int) num;
|
|
Order order = orderService.findBySn(sn);
|
|
Order order = orderService.findBySn(sn);
|
|
if(order.getStatus()!=Order.Status.unpay){
|
|
if(order.getStatus()!=Order.Status.unpay){
|
|
@@ -723,14 +745,21 @@ public class OrderController extends BaseController {
|
|
for(int i=0;i<number;i++){
|
|
for(int i=0;i<number;i++){
|
|
String code = orderService.initSn(order.getEquipmentId());
|
|
String code = orderService.initSn(order.getEquipmentId());
|
|
StringBuffer str = new StringBuffer();
|
|
StringBuffer str = new StringBuffer();
|
|
- str.append(code.substring(0,4)).append(code.substring(code.length()-4,code.length()));
|
|
|
|
|
|
+ str.append(code.substring(0,6));
|
|
codes.add(str.toString());
|
|
codes.add(str.toString());
|
|
}
|
|
}
|
|
|
|
+ Long data = Calendar.getInstance().getTimeInMillis();
|
|
|
|
+ Long month = 30L*24L*60L*60L*1000L;
|
|
|
|
+ Long d = data + month;
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String sd = sdf.format(new Date(Long.parseLong(String.valueOf(d))));
|
|
|
|
+ Date lastUseDate = new Date(Long.parseLong(String.valueOf(d)));
|
|
for(String code : codes){
|
|
for(String code : codes){
|
|
PromoCode promoCode = new PromoCode();
|
|
PromoCode promoCode = new PromoCode();
|
|
promoCode.setCode(Long.parseLong(code));
|
|
promoCode.setCode(Long.parseLong(code));
|
|
promoCode.setAdminId(String.valueOf(order.getAdminId()));
|
|
promoCode.setAdminId(String.valueOf(order.getAdminId()));
|
|
promoCode.setIsUse("0");
|
|
promoCode.setIsUse("0");
|
|
|
|
+ promoCode.setLastUseDate(lastUseDate);
|
|
promoCode.setCreateDate(new Date());
|
|
promoCode.setCreateDate(new Date());
|
|
promoCode.setUserName(admin.getUsername());
|
|
promoCode.setUserName(admin.getUsername());
|
|
promoCodeService.save(promoCode);
|
|
promoCodeService.save(promoCode);
|
|
@@ -825,15 +854,22 @@ public class OrderController extends BaseController {
|
|
public JsonMessage promoCodeDo(String code ,String clientId) {
|
|
public JsonMessage promoCodeDo(String code ,String clientId) {
|
|
Equipment equipment = equipmentService.findByClientId(clientId);
|
|
Equipment equipment = equipmentService.findByClientId(clientId);
|
|
PromoCode promoCode = promoCodeService.findByCode(Long.valueOf(code));
|
|
PromoCode promoCode = promoCodeService.findByCode(Long.valueOf(code));
|
|
- if(promoCode==null){
|
|
|
|
|
|
+ Date lastUseDate=null;
|
|
|
|
+ if(promoCode!=null){
|
|
|
|
+ lastUseDate = promoCode.getLastUseDate();
|
|
|
|
+ }
|
|
|
|
+ if(lastUseDate!=null&&lastUseDate.getTime()<((new Date()).getTime())){
|
|
|
|
+ promoCode.setIsUse("2");
|
|
|
|
+ promoCodeService.update(promoCode);
|
|
|
|
+ //过期
|
|
|
|
+ return JsonMessage.success("4");
|
|
|
|
+ } else if(promoCode==null){
|
|
//不存在
|
|
//不存在
|
|
return JsonMessage.success("1");
|
|
return JsonMessage.success("1");
|
|
- }
|
|
|
|
- if(promoCode.getIsUse().equals("1")){
|
|
|
|
|
|
+ } else if(promoCode.getIsUse().equals("1")){
|
|
//被使用
|
|
//被使用
|
|
return JsonMessage.success("2");
|
|
return JsonMessage.success("2");
|
|
- }
|
|
|
|
- if(String.valueOf(equipment.getAdminId()).equals(promoCode.getAdminId())){
|
|
|
|
|
|
+ } else if(String.valueOf(equipment.getAdminId()).equals(promoCode.getAdminId())){
|
|
promoCode.setIsUse("1");
|
|
promoCode.setIsUse("1");
|
|
promoCode.setUseBy(equipment.getName());
|
|
promoCode.setUseBy(equipment.getName());
|
|
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|