Commit de9f879d by caosy

回调查询

parent 1fb362a7
...@@ -1022,6 +1022,15 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> { ...@@ -1022,6 +1022,15 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
criteria.add(Restrictions.eq("used", used)); criteria.add(Restrictions.eq("used", used));
return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult(); return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
} }
// 根据订单uid id ruleId 查询发放劵张数
public long getSendCountByOrderIdRuleId(String uid,String orderId,Integer ruleId) {
Criteria criteria = getCriteria();
criteria.add(Restrictions.eq("uid", uid));
criteria.add(Restrictions.eq("sourceRemark", orderId));
criteria.add(Restrictions.eq("ruleId", ruleId));
return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}
public List<VoucherItemDTO> findUserVoucherById(VoucherRequestDto body) { public List<VoucherItemDTO> findUserVoucherById(VoucherRequestDto body) {
Criteria criteria = getCriteria(); Criteria criteria = getCriteria();
......
...@@ -1287,44 +1287,45 @@ public class VoucherService { ...@@ -1287,44 +1287,45 @@ public class VoucherService {
if(sendBeginTime.getTime()<now.getTime()&&now.getTime()<sendEndTime.getTime()){ if(sendBeginTime.getTime()<now.getTime()&&now.getTime()<sendEndTime.getTime()){
String[] ids = jsobj.getString("id").split(","); String[] ids = jsobj.getString("id").split(",");
for(String id:ids){ for(String id:ids){
// 无限卷 long sendNumber = voucherDao.getSendCountByOrderIdRuleId(uid,orderId, Integer.valueOf(id));
if(isUsedSend(id) && activityId != null){ if(sendNumber == 0){
// 是否是第一次购买 // 无限卷
if(isUsedSend(id) && activityId != null){
int orderNumber = orderDao.queryVoucherPayedOrder(uid, activityId); // 是否是第一次购买
VoucherRule roucherRule = voucherRuleDao.findById(Integer.parseInt(id)); int orderNumber = orderDao.queryVoucherPayedOrder(uid, activityId);
if(orderNumber > 1){ VoucherRule roucherRule = voucherRuleDao.findById(Integer.parseInt(id));
Voucher voucher = voucherDao.getOneVoucherByUidRuleId(Integer.valueOf(id), uid); if(orderNumber > 1){
if(voucher != null){ Voucher voucher = voucherDao.getOneVoucherByUidRuleId(Integer.valueOf(id), uid);
Date endDay = DateUtils.addMonths(voucher.getEndUseDate(), roucherRule.getTimeDay()); if(voucher != null){
voucherDao.updateVoucherStartEndDateByUid(Integer.valueOf(id), endDay, uid); Date endDay = DateUtils.addMonths(voucher.getEndUseDate(), roucherRule.getTimeDay());
} voucherDao.updateVoucherStartEndDateByUid(Integer.valueOf(id), endDay, uid);
}
}else{ }else{
for(int i=0;i<roucherRule.getQuantity();i++){ for(int i=0;i<roucherRule.getQuantity();i++){
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate,voucherType); Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate,voucherType);
voucher.setNo(""); voucher.setNo("");
voucher.setUid(uid); voucher.setUid(uid);
voucher.setSourceRemark(orderId); voucher.setSourceRemark(orderId);
voucher.setSource(myselfOrder?VoucherSourceEnum.RULE_USERORDER_PRESENT.getValue():VoucherSourceEnum.RULE_FRIENDORDER_PRESENT.getValue()); voucher.setSource(myselfOrder?VoucherSourceEnum.RULE_USERORDER_PRESENT.getValue():VoucherSourceEnum.RULE_FRIENDORDER_PRESENT.getValue());
voucherDao.save(voucher); voucherDao.save(voucher);
} }
} }
}else{ }else{
VoucherRule roucherRule = voucherRuleDao.findById(Integer.parseInt(id)); VoucherRule roucherRule = voucherRuleDao.findById(Integer.parseInt(id));
for(int i=0;i<roucherRule.getQuantity();i++){ for(int i=0;i<roucherRule.getQuantity();i++){
Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate,voucherType); Voucher voucher = this.getVoucherFromRule(roucherRule,realName,idCard,mobilePhone,payDate,voucherType);
voucher.setNo(""); voucher.setNo("");
voucher.setUid(uid); voucher.setUid(uid);
voucher.setSourceRemark(orderId); voucher.setSourceRemark(orderId);
voucher.setSource(myselfOrder?VoucherSourceEnum.RULE_USERORDER_PRESENT.getValue():VoucherSourceEnum.RULE_FRIENDORDER_PRESENT.getValue()); voucher.setSource(myselfOrder?VoucherSourceEnum.RULE_USERORDER_PRESENT.getValue():VoucherSourceEnum.RULE_FRIENDORDER_PRESENT.getValue());
voucherDao.save(voucher); voucherDao.save(voucher);
} }
} }
}
} }
} }
} catch (ParseException e) { } catch (ParseException e) {
......
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