Commit 3f79626a by Huang Linyu

Merge branch 'f-6.6.5' into release

parents 7bfa3066 b8dcc14f
package com.ctrip.fun.golf.api.basic;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -13,6 +15,7 @@ import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseStatusEnum;
import com.ctrip.fun.common.vo.basic.VoucherItemDTO;
import com.ctrip.fun.common.vo.basic.VoucherQueryDto;
import com.ctrip.fun.common.vo.basic.VoucherQueryFormDTO;
import com.ctrip.fun.common.vo.basic.VoucherQueryRequestDTO;
import com.ctrip.fun.golf.service.basic.VoucherService;
......@@ -26,14 +29,6 @@ public class VoucherController {
@Autowired
private VoucherService voucherService = null;
public VoucherService getVoucherService() {
return voucherService;
}
public void setVoucherService(VoucherService voucherService) {
this.voucherService = voucherService;
}
@ResponseBody
@RequestMapping(value = "/deleteUserVoucher", method = RequestMethod.POST)
public Response<Boolean> deleteUserVoucher(@RequestBody Request<Integer> request) {
......@@ -77,6 +72,42 @@ public class VoucherController {
return response;
}
@ResponseBody
@RequestMapping(value = "/queryListForFinance", method = RequestMethod.POST)
public Response<PagedResponseBean<VoucherItemDTO>> queryListForFinance(@RequestBody Request<VoucherQueryFormDTO> request){
VoucherQueryFormDTO dto = request.getBody();
Response<PagedResponseBean<VoucherItemDTO>> response = new Response<PagedResponseBean<VoucherItemDTO>>();
PagedResponseBean<VoucherItemDTO> pagedResponseBean = voucherService.queryListForFinance(dto);
if (pagedResponseBean.getCount() < 0) {
response.setStatus(-1);
response.setMessage("搜索抵用券列表失败");
} else {
response.setStatus(1);
response.setMessage("");
}
response.setBody(pagedResponseBean);
return response;
}
@ResponseBody
@RequestMapping(value = "/exportVoucherExcel", method = RequestMethod.POST)
public Response<List<VoucherItemDTO>> exportVoucherExcel(@RequestBody Request<VoucherQueryFormDTO> request){
Response<List<VoucherItemDTO>> response = new Response<List<VoucherItemDTO>>();
List<VoucherItemDTO> voucherItemList = voucherService.exportVoucherExcel(request.getBody());
if(voucherItemList.size()>0){
response.setStatus(1);
response.setMessage("");
} else {
response.setStatus(-1);
response.setMessage("搜索抵用券列表失败");
}
response.setBody(voucherItemList);
return response;
}
/**
* 查询用户未使用的且在有效期内的优惠券
*/
......@@ -155,4 +186,12 @@ public class VoucherController {
return response;
}
public VoucherService getVoucherService() {
return voucherService;
}
public void setVoucherService(VoucherService voucherService) {
this.voucherService = voucherService;
}
}
......@@ -2,6 +2,7 @@ package com.ctrip.fun.golf.dao.basic;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
......@@ -30,6 +31,7 @@ import com.ctrip.fun.common.vo.basic.SmsType;
import com.ctrip.fun.common.vo.basic.UserGradeAndVipGradeEnum;
import com.ctrip.fun.common.vo.basic.VoucherItemDTO;
import com.ctrip.fun.common.vo.basic.VoucherQueryDto;
import com.ctrip.fun.common.vo.basic.VoucherQueryFormDTO;
import com.ctrip.fun.common.vo.basic.VoucherQueryRequestDTO;
import com.ctrip.fun.common.vo.basic.VoucherRuleTypeEnum;
import com.ctrip.fun.common.vo.basic.VoucherSourceEnum;
......@@ -127,6 +129,128 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
BigInteger count = (BigInteger) resultMap.get("count");
return count.longValue();
}
/**
*
* @param request
* @return
*/
public PagedEntityBean<VoucherItemDTO> queryListForFinance(VoucherQueryFormDTO request) {
//TODO 如果 request.getExported()==1 是非分页查询,查询出所有符合条件的数据,并导出
PagedEntityBean<VoucherItemDTO> pagedEntityBean = new PagedEntityBean<VoucherItemDTO>();
StringBuilder sb = new StringBuilder();
sb.append(" SELECT SQL_CALC_FOUND_ROWS");
sb.append(" v.ID AS id, ");
sb.append(" v.No AS no, ");
sb.append(" v.Type AS type, ");
sb.append(" v.Amount AS amount, ");
sb.append(" v.StartUseDate AS startUseDate, ");
sb.append(" v.EndUseDate AS endUseDate, ");
sb.append(" v.Used AS used, ");
sb.append(" v.UseDate AS useDate, ");
sb.append(" v.OrderNo AS orderNo, ");
sb.append(" v.UID AS uid, ");
sb.append(" v.Source AS source, ");
sb.append(" v.ruleId AS ruleId , ");
sb.append(" r.sendToUserType, ");
sb.append(" r.remark, ");
sb.append(" r.description ");
sb.append(" FROM ");
sb.append(" bsc_voucher v ");
sb.append(" JOIN bsc_voucher_rule r ON r.id=v.ruleId ");
sb.append(" WHERE ");
sb.append(" 1=1 ");
if (org.apache.commons.lang.StringUtils.isNotEmpty(request.getUid())) {
sb.append(" and v.uid='").append(request.getUid()).append("'");
}
if (org.apache.commons.lang.StringUtils.isNotEmpty(request.getDescription())) {
sb.append(" and v.description='").append(request.getDescription()).append("'");
}
if(request.getUsed()!=null && request.getUsed()!=-1){
sb.append(" and v.Used=").append(request.getUsed());
}
sb.append(" and DATE_FORMAT(v.StartUseDate, '%Y-%m-%d') <= DATE_FORMAT(now(), '%Y-%m-%d') and DATE_FORMAT(v.EndUseDate, '%Y-%m-%d') >= DATE_FORMAT(now(), '%Y-%m-%d') ");
Session session = this.getSession();
Query query = session.createSQLQuery(sb.toString());
if(request.getExported()==null || request.getExported()==false){
query.setFirstResult(request.getPagerOffset());
query.setMaxResults(request.getPagerPerPage());
}
Query queryCount = session.createSQLQuery(" SELECT FOUND_ROWS() ");
query.setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP);
@SuppressWarnings("unchecked")
List<Map<String, Object>> queryResult = query.list();
long count = ((BigInteger) queryCount.uniqueResult()).longValue();
List<VoucherItemDTO> result = new ArrayList<VoucherItemDTO>();
/*for(VoucherItemDTO voucherItemDTO : result){
String typeString = "";
if(voucherItemDTO.getType()==VoucherTypeEnum.COURSE.getValue()){
typeString=VoucherTypeEnum.COURSE.getMsg();
}
if(voucherItemDTO.getType()==VoucherTypeEnum.EVENT_ACTIVITY.getValue()){
typeString=VoucherTypeEnum.EVENT_ACTIVITY.getMsg();
}
if(voucherItemDTO.getType()==VoucherTypeEnum.MALL.getValue()){
typeString=VoucherTypeEnum.MALL.getMsg();
}
if(voucherItemDTO.getType()==VoucherTypeEnum.TOUR.getValue()){
typeString=VoucherTypeEnum.TOUR.getMsg();
}
voucherItemDTO.setTypeString(typeString);
String usedString="";
if(voucherItemDTO.getUsed()==VourcherUsedEnum.UNUSED.getKey()){
usedString=VourcherUsedEnum.UNUSED.getValue();
}
if(voucherItemDTO.getUsed()==VourcherUsedEnum.USED.getKey()){
usedString=VourcherUsedEnum.USED.getValue();
}
voucherItemDTO.setUsedString(usedString);
}*/
for (Map<String, Object> map : queryResult) {
VoucherItemDTO voucher = new VoucherItemDTO();
BeanConverter.populate(voucher, map);
VoucherTypeEnum typeEnum = VoucherTypeEnum.valueOf(voucher.getType());
voucher.setTypeString(typeEnum != null ? typeEnum.getMsg() : "");
String typeString = "";
if(voucher.getType()==VoucherTypeEnum.COURSE.getValue()){
typeString=VoucherTypeEnum.COURSE.getMsg();
}
if(voucher.getType()==VoucherTypeEnum.EVENT_ACTIVITY.getValue()){
typeString=VoucherTypeEnum.EVENT_ACTIVITY.getMsg();
}
if(voucher.getType()==VoucherTypeEnum.MALL.getValue()){
typeString=VoucherTypeEnum.MALL.getMsg();
}
if(voucher.getType()==VoucherTypeEnum.TOUR.getValue()){
typeString=VoucherTypeEnum.TOUR.getMsg();
}
voucher.setTypeString(typeString);
String usedString="";
if(voucher.getUsed()==VourcherUsedEnum.UNUSED.getKey()){
usedString=VourcherUsedEnum.UNUSED.getValue();
}
if(voucher.getUsed()==VourcherUsedEnum.USED.getKey()){
usedString=VourcherUsedEnum.USED.getValue();
}
voucher.setUsedString(usedString);
result.add(voucher);
}
pagedEntityBean.setCount(count);
pagedEntityBean.setResult(result);
return pagedEntityBean;
}
/**
* 查询用户未使用的且在有效期内的优惠券
......
......@@ -19,6 +19,7 @@ import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.core.util.JsonUtil;
import com.ctrip.fun.common.core.util.StringUtils;
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.ResponseStatusEnum;
import com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean;
......@@ -32,6 +33,7 @@ import com.ctrip.fun.common.vo.basic.SmsStatus;
import com.ctrip.fun.common.vo.basic.SmsType;
import com.ctrip.fun.common.vo.basic.VoucherItemDTO;
import com.ctrip.fun.common.vo.basic.VoucherQueryDto;
import com.ctrip.fun.common.vo.basic.VoucherQueryFormDTO;
import com.ctrip.fun.common.vo.basic.VoucherQueryRequestDTO;
import com.ctrip.fun.common.vo.basic.VoucherRuleMultiEnum;
import com.ctrip.fun.common.vo.basic.VoucherTypeEnum;
......@@ -261,7 +263,33 @@ public class VoucherService {
}
return pagedResponseBean;
}
public PagedResponseBean<VoucherItemDTO> queryListForFinance(VoucherQueryFormDTO dto) {
PagedResponseBean<VoucherItemDTO> pagedResponseBean = new PagedResponseBean<VoucherItemDTO>();
pagedResponseBean.setCount(0);
PagedEntityBean<VoucherItemDTO> pagedEntityBean = voucherDao.queryListForFinance(dto);
pagedResponseBean.setResult(pagedEntityBean.getResult());
pagedResponseBean.setCount((int) pagedEntityBean.getCount());
return pagedResponseBean;
}
public List<VoucherItemDTO> exportVoucherExcel(VoucherQueryFormDTO dto) {
// TODO Auto-generated method stub
dto.setExported(true);
PagedResponseBean<VoucherItemDTO> pagedResponseBean = this.queryListForFinance(dto);
List<VoucherItemDTO> dtoList = (List<VoucherItemDTO>) pagedResponseBean.getResult();
return dtoList;
}
public PagedResponseBean<VoucherItemDTO> queryListForPersonalCenter(VoucherQueryDto query) {
PagedResponseBean<VoucherItemDTO> pagedResponseBean = new PagedResponseBean<VoucherItemDTO>(
0, new ArrayList<VoucherItemDTO>());
......
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