Commit 237a2dc7 by caosy

会员专享抵扣劵

parent b7fe6454
......@@ -210,7 +210,17 @@ public class VoucherController {
return response;
}
@ResponseBody
@RequestMapping(value = "/queryListForActivityOrder", method = RequestMethod.POST)
public Response<PagedResponseBean<VoucherItemDTO>> queryListForActivityOrder(
@RequestBody Request<VoucherQueryDto> request) {
Response<PagedResponseBean<VoucherItemDTO>> response = new Response<PagedResponseBean<VoucherItemDTO>>();
PagedResponseBean<VoucherItemDTO> result = voucherService.queryListForActivityOrder(request
.getBody());
response.setBody(result);
response.setStatusEnum(ResponseStatusEnum.SUCCESS);
return response;
}
@ResponseBody
@RequestMapping(value = "/queryListForCourseOrder", method = RequestMethod.POST)
......
......@@ -569,7 +569,12 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
.append(DateUtil.getDateStr(queryBean.getPlayDate())).append("'");
}
if (queryBean.getType() != null && queryBean.getType() != 0) {
sb.append(" and v.type=").append(queryBean.getType());
if(queryBean.getType() == 6 || queryBean.getType() == 7 || queryBean.getType() == 8){
sb.append(" and (v.type= ").append(queryBean.getType()).append(" or v.type= 9)");
}else{
sb.append(" and v.type=").append(queryBean.getType());
}
}
if (StringUtils.hasText(queryBean.getUid())) {
sb.append(" and v.uid='").append(queryBean.getUid()).append("'");
......
......@@ -2374,7 +2374,7 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
*/
public PagedResponseBean<VoucherOrderListBean> queryVoucherOrderList(OpOrderQuery orderQuery) {
StringBuffer sql = new StringBuffer();
sql.append(" SELECT sql_calc_found_rows distinct a.orderNo,a.OrderID orderId,a.orderName,a.orderDate,a.actualAmount,a.orderStatus,a.orderType,");
sql.append(" SELECT sql_calc_found_rows distinct a.orderNo,a.OrderID orderId,a.orderName,a.orderDate,a.actualAmount,a.orderStatus,a.orderType,a.voucherAmount,");
sql.append(" a.payMode,a.processStatus,a.uid,e.bindedMobilePhone orderPhone,e.userName orderUserName,a.orderSource,a.orderCategory,a.platform,");
sql.append(" b.activityId,b.recommendUid,d.userName recommendUserName,d.bindedMobilePhone recommendPhone");
sql.append(" FROM ord_order a LEFT JOIN ord_communeitem b ON a.OrderID = b.OrderID");
......@@ -2426,7 +2426,7 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
Session session = this.getSession();
Query query = session.createSQLQuery(sql.toString())
.addScalar("orderNo",StandardBasicTypes.LONG )
.addScalar("orderNo",StandardBasicTypes.LONG ).addScalar("voucherAmount",StandardBasicTypes.BIG_DECIMAL)
.addScalar("orderId",StandardBasicTypes.INTEGER).addScalar("orderName",StandardBasicTypes.STRING)
.addScalar("orderDate",StandardBasicTypes.TIMESTAMP).addScalar("actualAmount",StandardBasicTypes.BIG_DECIMAL)
.addScalar("orderStatus",StandardBasicTypes.STRING).addScalar("orderType",StandardBasicTypes.INTEGER)
......
......@@ -70,6 +70,9 @@ public class BuyVoucherActivityDao extends GenericHibernateDao<BuyVoucherActivit
if (null != queryBean.getOverdueCanBuy()&& !"".equals(queryBean.getOverdueCanBuy()) && 0 != queryBean.getOverdueCanBuy()) {
criteria.add(Restrictions.eq("overdueCanBuy", queryBean.getOverdueCanBuy()));
}
if (null != queryBean.getActivityType()&& !"".equals(queryBean.getOverdueCanBuy()) && 0 != queryBean.getActivityType()) {
criteria.add(Restrictions.eq("activityType", queryBean.getActivityType()));
}
criteria.setFirstResult(queryBean.getPagerOffset());
criteria.setMaxResults(queryBean.getPagerPerPage());
if (queryBean.getSortDirection().equals(SortDirectionEnum.ASC)) {
......@@ -77,6 +80,7 @@ public class BuyVoucherActivityDao extends GenericHibernateDao<BuyVoucherActivit
} else {
criteria.addOrder(Order.desc(queryBean.getSortField()));
}
System.out.println(criteria);
List<BuyVoucherActivity> result = criteria.list();
criteria.setFirstResult(0);
Long count = (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
......
......@@ -53,7 +53,7 @@ public class BuyVoucherActivity implements java.io.Serializable {
private Integer voucherType;//卷类型 1 -正常卷 2-体验卷需要身份证
private Integer showPaths; //显示途径 1-App 2-小程序 3-全部
private Integer overdueCanBuy; //过期会员购买 1-不可以 2-可以
private Integer activityType; //产品类型 1-套票 2-培训产品 3-超级会员 4-实体
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true)
......@@ -292,4 +292,12 @@ public class BuyVoucherActivity implements java.io.Serializable {
public void setOverdueCanBuy(Integer overdueCanBuy) {
this.overdueCanBuy = overdueCanBuy;
}
public Integer getActivityType() {
return activityType;
}
public void setActivityType(Integer activityType) {
this.activityType = activityType;
}
}
......@@ -243,14 +243,25 @@ public class VoucherRuleService extends
try {
JSONObject json = JSONObject.parseObject(voucherRule.getConditionJson());
Integer type = json.getInteger("type");
if(voucherRule.getMultiple()!=1 ){
if(type == 2){
json.put("value", validateToParse(vo.getProdutIds()));
json.put("resourceIds", validateToParse(vo.getResourceIds()));
json.put("productStartDate", vo.getProductStartDate());
json.put("productEndDate", vo.getProductEndDate());
voucherRule.setConditionJson(json.toJSONString());
}
// if(voucherRule.getMultiple()!=1 ){
// if(type == 2){
// json.put("value", validateToParse(vo.getProdutIds()));
// json.put("resourceIds", validateToParse(vo.getResourceIds()));
// json.put("productStartDate", vo.getProductStartDate());
// json.put("productEndDate", vo.getProductEndDate());
// voucherRule.setConditionJson(json.toJSONString());
// }
if(type!=null){
if(voucherRule.getMultiple()!=1 ){
if(type == 2){
json.put("value", validateToParse(vo.getProdutIds()));
json.put("resourceIds", validateToParse(vo.getResourceIds()));
json.put("productStartDate", vo.getProductStartDate());
json.put("productEndDate", vo.getProductEndDate());
voucherRule.setConditionJson(json.toJSONString());
}
}
}
voucherRule.setEndUseDate(vo.getEndUseDate());
voucherRule.setStartUseDate(vo.getStartUseDate());
......
......@@ -32,12 +32,16 @@ import com.ctrip.fun.common.vo.basic.ConditionMultipleElement;
import com.ctrip.fun.common.vo.basic.CourseRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.CourseRuleConditionBean;
import com.ctrip.fun.common.vo.basic.EventActivityRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.EventActivityRuleConditionBean;
import com.ctrip.fun.common.vo.basic.GeneralVoucherRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.MallProductRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.MallProductRuleConditionBean;
import com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean;
import com.ctrip.fun.common.vo.basic.SmsStatus;
import com.ctrip.fun.common.vo.basic.SmsType;
import com.ctrip.fun.common.vo.basic.PhysicalVoucherRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.TicketVoucherRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.TrainVoucherRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.VipVoucherRuleConditionBaseBean;
import com.ctrip.fun.common.vo.basic.VoucherGetLogBean;
import com.ctrip.fun.common.vo.basic.VoucherItemDTO;
import com.ctrip.fun.common.vo.basic.VoucherQueryDto;
......@@ -430,6 +434,90 @@ public class VoucherService {
pagedResponseBean.setResult(result);
return pagedResponseBean;
}
/**
* 套票券 培训券 会员劵 可用抵用券加载
* @param query
* @return
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public PagedResponseBean<VoucherItemDTO> queryListForActivityOrder(VoucherQueryDto query) {
PagedResponseBean<VoucherItemDTO> pagedResponseBean = voucherDao.queryListForOrder(query);
Collection<VoucherItemDTO> result = new ArrayList<VoucherItemDTO>();
if (pagedResponseBean != null && pagedResponseBean.getResult() != null) {
for (VoucherItemDTO vo : pagedResponseBean.getResult()) {
if (vo.getRuleId() != null && vo.getRuleId() != 0) {
VoucherRule voucherRule = voucherRuleDao.findById(vo.getRuleId());
if (voucherRule != null) {
vo.setDescription(voucherRule.getDescription());
vo.setRemark(voucherRule.getRemark());
vo.setMultiple(voucherRule.getMultiple());
AbstractRuleConditionBean abstractRuleConditionBean = null;
try {
abstractRuleConditionBean = (AbstractRuleConditionBean) JsonUtil
.readValue(voucherRule.getConditionJson(),
Class.forName(voucherRule.getConditionBean()));
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
}
if(vo.getType() == VoucherTypeEnum.PHYSICAL_VOUCHER.getValue()){
// 实物
PhysicalVoucherRuleConditionBaseBean physicalVoucherRuleConditionBaseBean = new PhysicalVoucherRuleConditionBaseBean();
physicalVoucherRuleConditionBaseBean.setBuyDate(query.getPlayDate());
physicalVoucherRuleConditionBaseBean.setProductId(query.getProductId());
if (!abstractRuleConditionBean.isEnableUse(physicalVoucherRuleConditionBaseBean)) {
continue;
}
}else if(vo.getType() == VoucherTypeEnum.VIP_VOUCHER.getValue()){
// 会员券(入社、续费)
VipVoucherRuleConditionBaseBean vipVoucherRuleConditionBaseBean = new VipVoucherRuleConditionBaseBean();
vipVoucherRuleConditionBaseBean.setBuyDate(query.getPlayDate());
vipVoucherRuleConditionBaseBean.setProductId(query.getProductId());
if (!abstractRuleConditionBean.isEnableUse(vipVoucherRuleConditionBaseBean)) {
continue;
}
}else if(vo.getType() == VoucherTypeEnum.TICKET_VOUCHER.getValue()){
// 套票
TicketVoucherRuleConditionBaseBean ticketVoucherRuleConditionBaseBean = new TicketVoucherRuleConditionBaseBean();
ticketVoucherRuleConditionBaseBean.setBuyDate(query.getPlayDate());
ticketVoucherRuleConditionBaseBean.setProductId(query.getProductId());
if (!abstractRuleConditionBean.isEnableUse(ticketVoucherRuleConditionBaseBean)) {
continue;
}
}else if(vo.getType() ==VoucherTypeEnum.TRAIN_VOUCHER.getValue()){
// 培训券
TrainVoucherRuleConditionBaseBean trainVoucherRuleConditionBaseBean = new TrainVoucherRuleConditionBaseBean();
trainVoucherRuleConditionBaseBean.setBuyDate(query.getPlayDate());
trainVoucherRuleConditionBaseBean.setProductId(query.getProductId());
if (!abstractRuleConditionBean.isEnableUse(trainVoucherRuleConditionBaseBean)) {
continue;
}
}else if(vo.getType() == VoucherTypeEnum.GENERAL_VOUCHER.getValue()){
//通用
GeneralVoucherRuleConditionBaseBean generalVoucherRuleConditionBaseBean = new GeneralVoucherRuleConditionBaseBean();
generalVoucherRuleConditionBaseBean.setBuyDate(query.getPlayDate());
generalVoucherRuleConditionBaseBean.setProductId(query.getProductId());
if (!abstractRuleConditionBean.isEnableUse(generalVoucherRuleConditionBaseBean)) {
continue;
}
}
if (query.getAmount().compareTo(vo.getAmount()) <= 0) {
continue;
}
this.setOnlyMe(vo, abstractRuleConditionBean.getOnlyMe());
vo.doExecuteNullField();
result.add(vo);
}
}
}
}
pagedResponseBean.setResult(result);
return pagedResponseBean;
}
/**
* 单订场 可用抵用券加载
* @param query
......
......@@ -196,6 +196,7 @@ public abstract class AbstractNotifyService extends CorePaymentService {
if(order.getOrderSource() == OrderSourceEnum.OFFLINE.getKey()){
// offline
order.setOrderType(1);
order.setOrderUserStatus(2);
}else if(order.getOrderSource() == OrderSourceEnum.HOMEBREW.getKey()){
// Homebrew
order.setOrderSource(OrderSourceEnum.HOMEBREW.getKey());
......
......@@ -128,6 +128,14 @@ public class CommuneNotifyService extends AbstractNotifyService {
amount = amount.multiply(new BigDecimal(100));
WeiXinAtcion.weixinPlay1(user.getMiniAppOpenId(), amount.toString().substring(0, amount.toString().length() - 3), order.getOrderNo(), buyVoucherActivity.getSendName(), buyVoucherActivity.getActName(), buyVoucherActivity.getWishing());
}
// 优惠券状态
if(!"".equals(order.getVoucherIDList()) && order.getVoucherIDList() != null){
String[] voucherIds = order.getVoucherIDList().split(",");
voucherService.userVoucher(voucherIds.length, order.getOrderNo(), order.getVoucherIDList());
}
}
}
return null;
......
......@@ -1729,7 +1729,7 @@ public class UserService {
if (userExt == null) {
return null;
}
UserBean userBean = new UserBean();
BeanConverter.copyProperties(userBean, userExt);
userBean.setBirth(userExt.getBirth());
......
jdbc.url=jdbc:mysql://192.168.10.5:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.url=jdbc:mysql://60.205.179.217:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
jdbc.job.url=jdbc:mysql://192.168.10.5:3306/funtaskdb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.job.url=jdbc:mysql://60.205.179.217:3306/funtaskdb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.job.username=root
jdbc.job.password=root
jdbc.job.defaultAutoCommit=true
jdbc.url=jdbc:mysql://192.168.10.5:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.url=jdbc:mysql://60.205.179.217:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
jdbc.job.url=jdbc:mysql://192.168.10.5:3306/funtaskdb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.job.url=jdbc:mysql://60.205.179.217:3306/funtaskdb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.job.username=root
jdbc.job.password=root
jdbc.job.defaultAutoCommit=true
......@@ -206,6 +206,7 @@
<property name="voucherNotifyUrlForMiniApp" value="${payment.voucherNotifyUrlForMiniApp}"></property>
<property name="COMMUNE_AMOUNT" value="${communeAmount}"></property>
<property name="COMMUNE_AMOUNT2" value="${communeAmount2}"></property>
<property name="voucherService" ref="voucherService"></property>
</bean>
<bean name="buyVoucherOrderService" class="com.ctrip.fun.golf.service.order.BuyVoucherOrderService" parent="abstractOrderService">
......
jdbc.url=jdbc:mysql://192.168.10.5:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.url=jdbc:mysql://60.205.179.217:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
jdbc.job.url=jdbc:mysql://192.168.10.5:3306/funtaskdb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.job.url=jdbc:mysql://60.205.179.217:3306/funtaskdb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.job.username=root
jdbc.job.password=root
jdbc.job.defaultAutoCommit=true
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