Commit b0a6390d by chongli

用户待开发票接口和用户开票接口开发

parent b4475cde
......@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseMp;
......@@ -20,6 +21,8 @@ import com.ctrip.fun.common.vo.order.BuyVoucherActivityBean;
import com.ctrip.fun.common.vo.order.CommuneOrderBean;
import com.ctrip.fun.common.vo.order.CommuneOrderListItemBean;
import com.ctrip.fun.common.vo.order.CommuneOrderResourceBean;
import com.ctrip.fun.common.vo.order.OrderListBean;
import com.ctrip.fun.common.vo.order.OrderQuery;
import com.ctrip.fun.common.vo.product.BuyVoucherActivityQuery;
import com.ctrip.fun.golf.service.order.AbstractOrderService;
import com.ctrip.fun.golf.service.order.CommuneOrderService;
......@@ -53,6 +56,22 @@ public class CommuneOrderController extends AbstractOrderController<CommuneOrder
@SuppressWarnings("unchecked")
@ResponseBody
@RequestMapping(value = "/queryCanInvoiceOrder", method = RequestMethod.POST)
public Response<PagedResponseBean<OrderListBean>> queryCanInvoiceOrder(@RequestBody Request<OrderQuery> request) {
PagedResponseBean<OrderListBean> page = new PagedResponseBean<OrderListBean>();
Response<PagedResponseBean<OrderListBean>> response = new Response<PagedResponseBean<OrderListBean>>();
try {
page = communeOrderService.queryCanInvoiceOrder(request.getBody());
response.setBody(page);
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
@SuppressWarnings("unchecked")
@ResponseBody
@RequestMapping(value = "/voucherPlaceOrderForMiniApp", method = RequestMethod.POST)
public ResponseMp<JSONObject> voucherPlaceOrderForMiniApp(@RequestBody Request<CommuneOrderBean> request) {
ResponseMp<JSONObject> response = new ResponseMp<JSONObject>();
......
......@@ -2,6 +2,7 @@ package com.ctrip.fun.golf.dao.order;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
......@@ -13,6 +14,7 @@ import java.util.Map.Entry;
import java.util.Set;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.Session;
......@@ -41,6 +43,7 @@ import com.ctrip.fun.common.vo.order.EventActivityOrderListBean;
import com.ctrip.fun.common.vo.order.EventActivityOrderListItemBean;
import com.ctrip.fun.common.vo.order.LatestOnGoingOrderOverTimeInfoQuery;
import com.ctrip.fun.common.vo.order.OpOrderQuery;
import com.ctrip.fun.common.vo.order.OrderBean;
import com.ctrip.fun.common.vo.order.OrderCategoryEnum;
import com.ctrip.fun.common.vo.order.OrderListBean;
import com.ctrip.fun.common.vo.order.OrderQuery;
......@@ -291,6 +294,42 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
pagedResponseBean.setResult(result);
return pagedResponseBean;
}
public PagedEntityBean<OrderListBean> queryCanInvoiceOrder(OrderQuery orderQuery) throws Exception{
PagedEntityBean<OrderListBean> pagedEntityBean = new PagedEntityBean<OrderListBean>();
String sql = "SELECT SQL_CALC_FOUND_ROWS od.orderId,od.OrderType,od.OrderNo,od.OrderName,od.Uid,od.OrderDate from ord_order od WHERE 1 = 1 AND od.uid=:uid AND od.orderDate >=:DecOfPreviousYear AND od.processStatus&16785491 = 19 AND od.invoiceId is null AND od.canInvoiceDate<CURRENT_TIMESTAMP";
Session session = this.getSession();
Query query = session.createSQLQuery(sql);
query.setParameter("uid", orderQuery.getUid());
query.setParameter("DecOfPreviousYear", DateUtil.getFirstDay(DateUtil.yearOfDate(new Date())-1, 12));
query.setFirstResult(orderQuery.getPagerOffset());
query.setMaxResults(orderQuery.getPagerPerPage());
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List results = query.list();
List<OrderListBean> orderListItems = new ArrayList<OrderListBean>();
Integer i;
for (i = 0; i < results.size(); i++) {
OrderListBean item = new OrderListBean();
Map map = (Map) results.get(i);
item.setOrderType(Integer.parseInt(map.get("OrderType").toString()));
item.setOrderNo(Long.parseLong(map.get("OrderNo").toString()));
item.setOrderId(Integer.parseInt(map.get("orderId").toString()));
item.setOrderName((String) map.get("OrderName"));
item.setUid((String) map.get("Uid"));
item.setOrderDate(DateUtil.parseDate(map.get("OrderDate").toString()));
orderListItems.add(item);
}
pagedEntityBean.setResult(orderListItems);
Query queryCount = session.createSQLQuery(" SELECT FOUND_ROWS() ");
long count = ((BigInteger) queryCount.uniqueResult()).longValue();
pagedEntityBean.setCount(count);
return pagedEntityBean;
}
public int queryVoucherPayedOrder(String uid,int activityId) {
String sql = "SELECT count(*) from ord_communeitem c where OrderID in (SELECT OrderID from ord_order where uid=:uid and ProcessStatus&16=16 and OrderCategory =16) and activityId=:activityId";
......
......@@ -204,9 +204,14 @@ public class Order extends AbstractOrder implements java.io.Serializable {
/**订单总的随机立减折扣*/
private BigDecimal vipmemberDiscountRate;
//发票id
//关联订单发票表id
private Integer invoiceId;
//可开发票时间---赛事和单定场订单在打球之后;其它的规则待定
private Date canInvoiceDate;
public Order() {
}
......@@ -1376,7 +1381,7 @@ public class Order extends AbstractOrder implements java.io.Serializable {
this.vipmemberDiscountRate = vipmemberDiscountRate;
}
@Column(name = "invoiceID")
@Column(name = "invoiceId")
public Integer getInvoiceId() {
return invoiceId;
}
......@@ -1384,5 +1389,19 @@ public class Order extends AbstractOrder implements java.io.Serializable {
public void setInvoiceId(Integer invoiceId) {
this.invoiceId = invoiceId;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "canInvoiceDate", nullable = false, length = 19)
public Date getCanInvoiceDate() {
return canInvoiceDate;
}
public void setCanInvoiceDate(Date canInvoiceDate) {
this.canInvoiceDate = canInvoiceDate;
}
}
......@@ -30,6 +30,7 @@ import com.ctrip.fun.common.vo.order.CommuneOrderBean;
import com.ctrip.fun.common.vo.order.CommuneOrderListItemBean;
import com.ctrip.fun.common.vo.order.CommuneOrderResourceBean;
import com.ctrip.fun.common.vo.order.OrderCategoryEnum;
import com.ctrip.fun.common.vo.order.OrderListBean;
import com.ctrip.fun.common.vo.order.OrderQuery;
import com.ctrip.fun.common.vo.order.OrderStatusBitEnum;
import com.ctrip.fun.common.vo.order.OrderStatusEnum;
......@@ -277,6 +278,13 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
return null;
}
public PagedResponseBean<OrderListBean> queryCanInvoiceOrder(OrderQuery orderQuery) throws Exception{
PagedResponseBean<OrderListBean> pagedBean = new PagedResponseBean<OrderListBean>();
PagedEntityBean<OrderListBean> pageEntity = this.getOrderDao().queryCanInvoiceOrder(orderQuery);
BeanConverter.copyProperties(pagedBean, pageEntity);
return pagedBean;
}
public JSONObject voucherPlaceOrderForMiniApp(CommuneOrderBean communeOrderBean){
this.voucherCheckParameters(communeOrderBean);
......
......@@ -28,8 +28,16 @@ public class InvoiceinfoService extends GenericService<InvoiceinfoDao, Invoicein
Invoiceinfo invoiceinfo = new Invoiceinfo();
BeanConverter.copyProperties(invoiceinfo, vo);
invoiceinfoDao.save(invoiceinfo);
orderDao.updateOrdersInvoiceId(invoiceinfo.getOrderId(), invoiceinfo.getInvoiceId());
return 1;
if(vo.getOrderId()!=null){
orderDao.updateOrdersInvoiceId(invoiceinfo.getOrderId(), invoiceinfo.getInvoiceId());
return 1;
}else if(vo.getOrderIds()!=null&vo.getOrderIds().length>0){
for(Integer orderId:vo.getOrderIds()){
orderDao.updateOrdersInvoiceId(orderId, invoiceinfo.getInvoiceId());
}
return 1;
}
return 0;
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment