Commit 1fb362a7 by caosy

推广产品

parent 235c2bb2
......@@ -51,6 +51,14 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
public void Delete(Integer id) {
super.delete(id);
}
public void updateCustomerNameById(Integer customerId ,String cName){
String hql = "update EventCustomerInfo e set e.cName = :cName where e.customerId= :customerId";
Query query = this.getSession().createQuery(hql);
query.setInteger("customerId", customerId);
query.setString("cName", cName);
query.executeUpdate();
}
public void deleteByOrderId(Integer orderId) {
String hql = " delete EventCustomerInfo where orderID=" + orderId;
......
......@@ -328,7 +328,7 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
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";
Session session = this.getSession();
......@@ -337,6 +337,15 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
query.setParameter("activityId", activityId);
return ((BigInteger) query.uniqueResult()).intValue();
}
//总次数
public int queryVoucherPayedOrderNumber(int activityId) {
String sql = "SELECT count(*) from ord_communeitem c where OrderID in (SELECT OrderID from ord_order where ProcessStatus&16=16 and OrderCategory =16) and activityId=:activityId";
Session session = this.getSession();
Query query = session.createSQLQuery(sql);
query.setParameter("activityId", activityId);
return ((BigInteger) query.uniqueResult()).intValue();
}
/**
* 根据4个标识验证是否同一个人购买体验券
* @param uid
......
......@@ -3,10 +3,12 @@ import java.util.Date;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.Query;
import com.ctrip.fun.common.vo.SortDirectionEnum;
import com.ctrip.fun.common.vo.basic.BuyVoucherActivityQuery;
......@@ -73,6 +75,9 @@ public class BuyVoucherActivityDao extends GenericHibernateDao<BuyVoucherActivit
if (null != queryBean.getActivityType()&& !"".equals(queryBean.getOverdueCanBuy()) && 0 != queryBean.getActivityType()) {
criteria.add(Restrictions.eq("activityType", queryBean.getActivityType()));
}
if (null != queryBean.getProductType()&& !"".equals(queryBean.getProductType()) && 0 != queryBean.getProductType()) {
criteria.add(Restrictions.eq("productType", queryBean.getProductType()));
}
criteria.setFirstResult(queryBean.getPagerOffset());
criteria.setMaxResults(queryBean.getPagerPerPage());
if (queryBean.getSortDirection().equals(SortDirectionEnum.ASC)) {
......@@ -102,4 +107,13 @@ public class BuyVoucherActivityDao extends GenericHibernateDao<BuyVoucherActivit
return buyVoucherActivity;
}
public void addVersion (int id,Integer version ) {
String sql = "update prd_buyvoucheractivity set version = :version + 1 where id =:id and version =:version";
Session session = this.getSession();
Query query = session.createSQLQuery(sql.toString());
query.setParameter("version", version);
query.setParameter("id", id);
query.executeUpdate();
}
}
......@@ -54,6 +54,14 @@ public class BuyVoucherActivity implements java.io.Serializable {
private Integer showPaths; //显示途径 1-App 2-小程序 3-全部
private Integer overdueCanBuy; //过期会员购买 1-不可以 2-可以
private Integer activityType; //产品类型 1-套票 2-培训产品 3-超级会员 4-实体
private Integer stockLimit; //库存限制
private Integer productType; //产品类型 1-会员产品 2-推广产品
private Integer version; //版本号
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true)
......@@ -300,4 +308,28 @@ public class BuyVoucherActivity implements java.io.Serializable {
public void setActivityType(Integer activityType) {
this.activityType = activityType;
}
public Integer getStockLimit() {
return stockLimit;
}
public void setStockLimit(Integer stockLimit) {
this.stockLimit = stockLimit;
}
public Integer getProductType() {
return productType;
}
public void setProductType(Integer productType) {
this.productType = productType;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
}
......@@ -74,7 +74,7 @@ public class BuyVoucherActivityService extends
//buyVoucherActivityMessage {"cashCoupon":{"title":"抢购成功","contentMsg":[%s],"mainButton":{"show":true,"title":"查看我的优惠券","showOrder":false,"navBack":false,"webView":false,"url":"/pages/CashCoupon/main","webLink":"","urlIsTab":false},"subButton":{"show":false,"title":"","showOrder":false,"navBack":false,"webView":false,"url":"","webLink":"","urlIsTab":false}}}
//buyVoucherActivityConfig {"id":"%s","sendBeginTime":"%s","sendEndTime":"%s"}
vo.setVersion(1);
BuyVoucherActivity entity = new BuyVoucherActivity();
BeanConverter.copyProperties(entity, vo);
return getEntityDao().save(entity);
......
......@@ -1058,7 +1058,7 @@ public class VoucherService {
if(Integer.parseInt(conf[1])==0||Integer.parseInt(conf[1])==usedWay){
VoucherRule roucherRule = voucherRuleDao.findById(Integer.parseInt(conf[0]));
for(int i=0;i<roucherRule.getQuantity();i++){
Voucher againVoucher = this.getVoucherFromRule(roucherRule,"","","",payDate);
Voucher againVoucher = this.getVoucherFromRule(roucherRule,"","","",payDate,null);
againVoucher.setNo("");
againVoucher.setUid(uid);
againVoucher.setSourceRemark(remark);
......@@ -1217,7 +1217,7 @@ public class VoucherService {
//社员订单赠送优惠券配置:431_sendBeginTime_sendEndTime(规则id_开始发送时间_结束发送方式)
String commune_voucher = clientConfig.getMessage();
Date payDate = new Date();
this.sendVoucherForPlaceOrderByConfig(uid, orderId, myselfOrder, commune_voucher,"","","",payDate,null);
this.sendVoucherForPlaceOrderByConfig(uid, orderId, myselfOrder, commune_voucher,"","","",payDate,null,null);
}
......@@ -1244,7 +1244,7 @@ public class VoucherService {
}
}
if(rule_String!=null){
this.sendVoucherForPlaceOrderByConfig(uid,orderId,true,rule_String,"","","",communeEnd,null);
this.sendVoucherForPlaceOrderByConfig(uid,orderId,true,rule_String,"","","",communeEnd,null,null);
}
}
......@@ -1256,7 +1256,7 @@ public class VoucherService {
try {
Date payDate = new Date();
VoucherRule roucherRule = voucherRuleDao.findById(ruleId);
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate);
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate,null);
voucher.setNo("");
voucher.setUid(uid);
voucher.setSourceRemark(orderId);
......@@ -1277,7 +1277,7 @@ public class VoucherService {
* @param myselfOrder 是否用户自己的订单
* @param voucherSendType 发券配置的key值
*/
public void sendVoucherForPlaceOrderByConfig(String uid,String orderId,boolean myselfOrder,String voucherConfig,String realName,String idCard,String mobilePhone,Date payDate,Integer activityId){
public void sendVoucherForPlaceOrderByConfig(String uid,String orderId,boolean myselfOrder,String voucherConfig,String realName,String idCard,String mobilePhone,Date payDate,Integer activityId,Integer voucherType){
JSONObject jsobj = JSONObject.parseObject(voucherConfig);
try {
Date sendBeginTime = DateUtil.parseDateTime(jsobj.getString("sendBeginTime"));
......@@ -1302,7 +1302,7 @@ public class VoucherService {
}else{
for(int i=0;i<roucherRule.getQuantity();i++){
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate);
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate,voucherType);
voucher.setNo("");
voucher.setUid(uid);
voucher.setSourceRemark(orderId);
......@@ -1314,7 +1314,7 @@ public class VoucherService {
}else{
VoucherRule roucherRule = voucherRuleDao.findById(Integer.parseInt(id));
for(int i=0;i<roucherRule.getQuantity();i++){
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate);
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate,voucherType);
voucher.setNo("");
voucher.setUid(uid);
voucher.setSourceRemark(orderId);
......@@ -1357,7 +1357,7 @@ public class VoucherService {
* @param voucherRule
* @return Voucher
*/
private Voucher getVoucherFromRule(VoucherRule voucherRule,String realName,String idCard,String mobilePhone,Date payDate){
private Voucher getVoucherFromRule(VoucherRule voucherRule,String realName,String idCard,String mobilePhone,Date payDate,Integer voucherType){
if(voucherRule==null){
return null;
}
......@@ -1379,11 +1379,17 @@ public class VoucherService {
voucher.setRealName(realName);
voucher.setIdCard(idCard);
voucher.setMobilePhone(mobilePhone);
if(realName != null && !("").equals(realName)){
voucher.setVoucherType(2);
}else{
// if(realName != null && !("").equals(realName)){
// voucher.setVoucherType(2);
// }else{
// voucher.setVoucherType(1);
// }
if(voucherType == null ){
voucher.setVoucherType(1);
}else{
voucher.setVoucherType(voucherType);
}
if(voucherRule.getTimeType() == 2){
// 自领取日起
voucher.setStartUseDate(payDate);
......
......@@ -232,7 +232,7 @@ public class BuyVoucherOrderService extends AbstractOrderService<CommuneOrderBea
BuyVoucherActivity buyVoucherActivity = buyVoucherActivityDao.findById(communeOrderItem.getActivityId());
//执行发券
String uid = order.getUid();//下单人id
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderItem.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderItem.getActivityId(),buyVoucherActivity.getVoucherType());
}
}
......
......@@ -184,6 +184,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
}
BuyVoucherActivity buyoucherActivity = buyVoucherActivityDao.findById(communeOrderBean.getActivityId());
if(communeOrderBean.getPrePayAmount().compareTo(buyoucherActivity.getCommunePrice().subtract(voucherMoney)) != 0&&communeOrderBean.getPrePayAmount().compareTo(buyoucherActivity.getGuestPrice().subtract(voucherMoney)) != 0){
throw new OrderException(-41, "您提交的预付款金额有问题,请检查!");
}
......@@ -205,6 +206,16 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
}
}
//推广产品 校验 库存
if(buyoucherActivity.getProductType() == 2){
int orderNumber = this.getOrderDao().queryVoucherPayedOrderNumber(communeOrderBean.getActivityId());
if(orderNumber >= buyoucherActivity.getStockLimit()){
throw new OrderException(-667, "库存不足!");
}
this.buyVoucherActivityDao.addVersion(buyoucherActivity.getId(), buyoucherActivity.getVersion());
}
}
......@@ -335,7 +346,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
this.getOrderDao().updateOrderStatusForMiniApps(order.getOrderNo());
//执行发券
BuyVoucherActivity buyVoucherActivity = buyVoucherActivityDao.findById(newCommuneOrderBean.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(newCommuneOrderBean.getUid(), order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderBean.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(newCommuneOrderBean.getUid(), order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderBean.getActivityId(),buyoucherActivity.getVoucherType());
// 修改优惠券状态
List<VoucherItemBean> voucherList = communeOrderBean.getVoucherList();
......@@ -404,7 +415,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
this.getOrderDao().updateOrderStatusForMiniApps(order.getOrderNo());
//执行发券
BuyVoucherActivity buyVoucherActivity = buyVoucherActivityDao.findById(newCommuneOrderBean.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(newCommuneOrderBean.getUid(), order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),newCommuneOrderBean.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(newCommuneOrderBean.getUid(), order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),newCommuneOrderBean.getActivityId(),buyVoucherActivity.getVoucherType());
// 修改优惠券状态
List<VoucherItemBean> voucherList = communeOrderBean.getVoucherList();
if(voucherList.size() > 0){
......
......@@ -10,6 +10,7 @@ import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.core.util.DateUtil;
......@@ -58,6 +59,7 @@ import com.ctrip.fun.golf.dao.operation.SupplierDao;
import com.ctrip.fun.golf.dao.order.CustomerInfoDao;
import com.ctrip.fun.golf.dao.order.EventActivityOrderExcelDao;
import com.ctrip.fun.golf.dao.order.EventActivityOrderItemDao;
import com.ctrip.fun.golf.dao.order.EventCustomerInfoDao;
import com.ctrip.fun.golf.dao.order.InvoiceinfoDao;
import com.ctrip.fun.golf.dao.product.CourseProductDao;
import com.ctrip.fun.golf.dao.product.CourseResourceDao;
......@@ -73,6 +75,7 @@ import com.ctrip.fun.golf.domain.operation.Supplier;
import com.ctrip.fun.golf.domain.order.CustomerInfo;
import com.ctrip.fun.golf.domain.order.EventActivityOrderItem;
import com.ctrip.fun.golf.domain.order.EventActivityOrderListExcel;
import com.ctrip.fun.golf.domain.order.EventCustomerInfo;
import com.ctrip.fun.golf.domain.order.Invoiceinfo;
import com.ctrip.fun.golf.domain.order.Order;
import com.ctrip.fun.golf.domain.order.OrderAssignment;
......@@ -98,6 +101,9 @@ public class OpEventActivityOrderService
private CustomerInfoDao customerInfoDao = null;
private EventActivityOrderExcelDao eventActivityOrderExcelDao = null;
@Autowired
private EventCustomerInfoDao eventCustomerInfoDao ;
private UserExtDao userExtDao = null;
......@@ -179,6 +185,7 @@ public class OpEventActivityOrderService
}
this.customerInfoDao.Update(customerInfo);
this.eventCustomerInfoDao.updateCustomerNameById(customerInfo.getCustomerId(), customerInfo.getCname());
}
public EventActivityOrderProcessBean deleteCustomerInfo(
......@@ -302,6 +309,7 @@ public class OpEventActivityOrderService
@Override
protected String generateMsg(EventActivityOrderProcessBean orderProcessBean) {
Integer messageId = null;
String customerName = "";
if (OrderProcessEnum.CONFIRM_RESOURCE.getOperationCode().equals(
orderProcessBean.getOperateType())) {
messageId = 103;
......@@ -316,8 +324,16 @@ public class OpEventActivityOrderService
if (messageId == 103) {
String message = operationMessage.getMessage();
OpEventActivityOrderBean orderBean = this.getOrderDtail(orderProcessBean.getOrderId());
List<EventCustomerInfo> customers = this.eventCustomerInfoDao.getCustomerInfoListByOrderId(orderProcessBean.getOrderId());
if(customers.size() > 0){
for(EventCustomerInfo customer : customers){
customerName = customerName + ","+ customer.getcName() ;
}
}else{
customerName = orderBean.getContactName();
}
String msg = String.format(message, orderBean.getOrderNo(), orderBean.getOrderName(),
DateUtil.getDateStr(orderBean.getPlayDate()), orderBean.getTeeTime(),orderBean.getContactName());
DateUtil.getDateStr(orderBean.getPlayDate()), orderBean.getTeeTime(),customerName);
return msg;
} else {
return null;
......
......@@ -36,7 +36,7 @@ public class BuyVoucherNotifyService extends AbstractNotifyService {
BuyVoucherActivity buyVoucherActivity = buyVoucherActivityDao.findById(communeOrderItem.getActivityId());
//执行发券
String uid = order.getUid();//下单人id
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),buyVoucherActivity.getId());
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),buyVoucherActivity.getId(),buyVoucherActivity.getVoucherType());
}
......
......@@ -85,7 +85,7 @@ public class CommuneNotifyService extends AbstractNotifyService {
if(communeOrderItem.getActivityId() != null ){
//执行发券
BuyVoucherActivity buyVoucherActivity = buyVoucherActivityDao.findById(communeOrderItem.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderItem.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderItem.getActivityId(),buyVoucherActivity.getVoucherType());
}
}
......@@ -118,7 +118,7 @@ public class CommuneNotifyService extends AbstractNotifyService {
if(!"".equals(order.getRealName()) && !"".equals(order.getIdCard()) && order.getIdCard()!=null &&order.getRealName()!=null){
// voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),order.getRealName(),order.getIdCard(),order.getMobilePhone());
}else{
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderItem.getActivityId());
voucherService.sendVoucherForPlaceOrderByConfig(uid, order.getOrderId()+"", true, buyVoucherActivity.getVoucherConfig(),"","","",order.getPayDate(),communeOrderItem.getActivityId(),buyVoucherActivity.getVoucherType());
}
//给推荐人发现金红包
......
......@@ -403,6 +403,7 @@ public class UserService {
userVerifyCode.setVerifyCode(code);
Date currentTime = new Date();
userVerifyCode.setVerifyTime(currentTime);
//小程序验证码有效期由30
userVerifyCode.setExpireTime(new Date(currentTime.getTime() + 30 * 60 * 1000));
userVerifyCode.setUserIP(request.getUserIP() == null ? "" : request.getUserIP());
......@@ -546,7 +547,8 @@ public class UserService {
userVerifyCode.setVerifyCode(code);
Date currentTime = new Date();
userVerifyCode.setVerifyTime(currentTime);
userVerifyCode.setExpireTime(new Date(currentTime.getTime() + 6 * 60 * 1000));
//验证码有效期由6分钟延长至30分钟
userVerifyCode.setExpireTime(new Date(currentTime.getTime() + 30 * 60 * 1000));
userVerifyCode.setUserIP(request.getUserIP() == null ? "" : request.getUserIP());
this.userVerifyCodeDao.save(userVerifyCode);
......
jdbc.url=jdbc:mysql://60.205.179.217:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
jdbc.password=iwan@123456
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.password=iwan@123456
jdbc.job.defaultAutoCommit=true
jdbc.url=jdbc:mysql://60.205.179.217:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
jdbc.password=iwan@123456
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.password=iwan@123456
jdbc.job.defaultAutoCommit=true
jdbc.url=jdbc:mysql://60.205.179.217:3306/fundb?useUnicode=true&amp;characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
jdbc.password=iwan@123456
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.password=iwan@123456
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