Commit 1a2e90c0 by unknown

add vipmemberdiscount

parent eea832cf
/**
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
*/
package com.ctrip.fun.golf.dao.user;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.user.VipMemberDiscount;
/**
* @author caosy
* @version 1.0.0
*/
public class VipMemberDiscountDao extends GenericHibernateDao<VipMemberDiscount, Serializable> {
/**
* 通过uid获取优惠情况
*/
@SuppressWarnings("unchecked")
public VipMemberDiscount getVipmemberDiscountByUid(String uid) {
Criteria criteria = this.getCriteria();
criteria.add(Restrictions.eq("uid", uid));
criteria.addOrder(Order.desc("dataChangeLastTime"));
List<VipMemberDiscount> list = criteria.list();
if (list != null && list.size() > 0) {
return list.get(0);
} else {
return null;
}
}
}
......@@ -286,6 +286,9 @@ public class UserExt implements java.io.Serializable {
/**vip会员节省金额*/
private BigDecimal vipmemberSaveAmount;
/**vip会员是否优惠过*/
private int vipmemberDiscounted;
/**tee*/
private Integer tee;
......@@ -886,6 +889,15 @@ public class UserExt implements java.io.Serializable {
this.vipmemberSaveAmount = vipmemberSaveAmount;
}
public int getVipmemberDiscounted() {
return vipmemberDiscounted;
}
public void setVipmemberDiscounted(int vipmemberDiscounted) {
this.vipmemberDiscounted = vipmemberDiscounted;
}
public Integer getTee() {
return tee;
}
......
package com.ctrip.fun.golf.domain.user;
// default package
// Generated 2015-3-5 15:06:00 by Hibernate Tools 3.4.0.CR1
import static javax.persistence.GenerationType.IDENTITY;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
* vip用户立减优惠表
*/
@Entity
@Table(name = "bsc_vipmemberdiscount", catalog = "fundb")
public class VipMemberDiscount implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -8006270782832516970L;
private Integer id;
private String uid;
/**
* 随机优惠比例
* */
private BigDecimal discountRate;
private Date dataChangeLastTime;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name = "uid", nullable = false)
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
@Column(name = "discountRate", nullable = false)
public BigDecimal getDiscountRate() {
return discountRate;
}
public void setDiscountRate(BigDecimal discountRate) {
this.discountRate = discountRate;
}
@org.hibernate.annotations.Generated(org.hibernate.annotations.GenerationTime.ALWAYS)
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DataChange_LastTime", nullable = false, length = 19)
public Date getDataChangeLastTime() {
return this.dataChangeLastTime;
}
public void setDataChangeLastTime(Date dataChangeLastTime) {
this.dataChangeLastTime = dataChangeLastTime;
}
}
......@@ -13,6 +13,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Random;
import java.util.UUID;
import org.jdom.IllegalNameException;
......@@ -93,6 +94,7 @@ import com.ctrip.fun.golf.dao.user.UserErrorLoginDao;
import com.ctrip.fun.golf.dao.user.UserExtDao;
import com.ctrip.fun.golf.dao.user.UserTokenDao;
import com.ctrip.fun.golf.dao.user.UserVerifyCodeDao;
import com.ctrip.fun.golf.dao.user.VipMemberDiscountDao;
import com.ctrip.fun.golf.domain.basic.OperationMessage;
import com.ctrip.fun.golf.domain.basic.OutsideUser;
import com.ctrip.fun.golf.domain.basic.Sms;
......@@ -112,6 +114,7 @@ import com.ctrip.fun.golf.domain.user.UserErrorLogin;
import com.ctrip.fun.golf.domain.user.UserExt;
import com.ctrip.fun.golf.domain.user.UserToken;
import com.ctrip.fun.golf.domain.user.UserVerifyCode;
import com.ctrip.fun.golf.domain.user.VipMemberDiscount;
import com.ctrip.fun.golf.exceptions.UserException;
import com.ctrip.fun.golf.service.basic.EntityImageService;
import com.ctrip.fun.golf.service.basic.SmsService;
......@@ -191,6 +194,8 @@ public class UserService {
@Autowired
private BlueFocusCodeDao blueFocusCodeDao = null;
private VipMemberDiscountDao vipmemberDiscountDao = null;
/**
* 扣除用户的预付卡金额
*
......@@ -1045,6 +1050,29 @@ public class UserService {
}
/**
* 随机生成vip会员的优惠折扣
*
* @param uid
* String
* @return 生成的token
*/
private BigDecimal genericVipMemberDiscount(String uid) {
VipMemberDiscount discount = new VipMemberDiscount();
discount.setUid(uid);
Random r = new Random();
BigDecimal number = new BigDecimal(r.nextFloat());
number = number.setScale(2, BigDecimal.ROUND_HALF_UP);
discount.setDiscountRate(number);
discount.setDataChangeLastTime(new Date());
this.vipmemberDiscountDao.save(discount);
return number;
}
private void saveErrorLogin(LoginBean request) {
UserErrorLogin userErrorLogin = new UserErrorLogin();
userErrorLogin.setIp(request.getUserIP());
......@@ -1080,6 +1108,8 @@ public class UserService {
loginResultBean.setUid(userBean.getUid());
String token = this.genericToken(userBean.getUid(), TokenTypeEnum.ACCESS.getKey());
loginResultBean.setToken(token);
//add by caosy
loginResultBean.setVipmemberDiscountRate(this.genericVipMemberDiscount(userBean.getUid()));
this.updateLoginData(request);
return loginResultBean;
......@@ -1168,6 +1198,9 @@ public class UserService {
basicUser.getUid(), false));
response.setVoucherNumNew(this.voucherDao.queryVoucherCountForCanUse(
basicUser.getUid(), true));
//add by caosy
response.setVipmemberDiscountRate(this.genericVipMemberDiscount(basicUser.getUid()));
this.updateLoginData(request);
if (userErrorLogins != null) {
......@@ -1454,7 +1487,11 @@ public class UserService {
//vip会员 add by caosy
vipGrade = userExt.getVipGrade() & VipGradeEnum.VIP4.getKey();
userBean.setVipmemberImgUrl(this.imageServer + "VipGrade" + vipGrade + ".png");
userBean.setVipmemberDiscounted(userExt.getVipmemberDiscounted());
VipMemberDiscount vipmemberDiscount = this.vipmemberDiscountDao.getVipmemberDiscountByUid(userExt.getUid());
if(vipmemberDiscount != null){
userBean.setVipmemberDiscountRate(vipmemberDiscount.getDiscountRate());
}
userBean.setTee(userExt.getTee());
userBean.setFamilyName(userExt.getFamilyName());
......@@ -1910,6 +1947,8 @@ public class UserService {
UserBean userBean = this.getUserDetail(userQuery);
BeanConverter.copyProperties(weChatUserResultBean, userBean);
weChatUserResultBean.setToken(token);
//add by caosy
weChatUserResultBean.setVipmemberDiscountRate(this.genericVipMemberDiscount(uid));
return weChatUserResultBean;
}
......@@ -2881,7 +2920,12 @@ public class UserService {
this.integralConfigDao = integralConfigDao;
}
public VipMemberDiscountDao getVipmemberDiscountDao() {
return vipmemberDiscountDao;
}
public void setVipmemberDiscountDao(VipMemberDiscountDao vipmemberDiscountDao) {
this.vipmemberDiscountDao = vipmemberDiscountDao;
}
}
......@@ -133,6 +133,7 @@
<mapping class="com.ctrip.fun.golf.domain.user.UserIpBlackList" />
<mapping class="com.ctrip.fun.golf.domain.user.IdentifyingCode" />
<mapping class="com.ctrip.fun.golf.domain.user.VipMemberLog" />
<mapping class="com.ctrip.fun.golf.domain.user.VipMemberDiscount" />
<mapping class="com.ctrip.fun.golf.domain.adminUser.AdminUser" />
<mapping class="com.ctrip.fun.golf.domain.adminUser.AdminAuthority" />
......
......@@ -40,6 +40,9 @@
<bean name="vipmemberLogDao" class="com.ctrip.fun.golf.dao.user.VipMemberLogDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean name="vipmemberDiscountDao" class="com.ctrip.fun.golf.dao.user.VipMemberDiscountDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean name="userService" class="com.ctrip.fun.golf.service.user.UserService">
<property name="courseDao" ref="courseDao"></property>
......@@ -72,6 +75,7 @@
<property name="pushMessageDao" ref="pushMessageDao" />
<property name="clientConfigDao" ref="clientConfigDao" />
<property name="integralConfigDao" ref="integralConfigDao" />
<property name="vipmemberDiscountDao" ref="vipmemberDiscountDao" />
</bean>
<bean name="userIpBlackListService"
......
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