Commit a65c4adf by zhangchen

增加发券历史

parent 9c2645c2
...@@ -106,14 +106,18 @@ public class VoucherRuleController extends ...@@ -106,14 +106,18 @@ public class VoucherRuleController extends
private VoucherRule voucherRule; private VoucherRule voucherRule;
private String ids; private String ids;
private String loginUserName;
private int type;
private ExecuteAddVoucherRoleUserThread(VoucherRule voucherRule, String ids) { private ExecuteAddVoucherRoleUserThread(VoucherRule voucherRule, String ids,String loginUserName,int type) {
this.voucherRule = voucherRule; this.voucherRule = voucherRule;
this.ids = ids; this.ids = ids;
this.loginUserName = loginUserName;
this.type = type;
} }
public void run() { public void run() {
voucherRuleService.executeAddVoucherRoleUser(voucherRule, ids); voucherRuleService.executeAddVoucherRoleUser(voucherRule, ids,loginUserName,type);
} }
} }
...@@ -126,7 +130,8 @@ public class VoucherRuleController extends ...@@ -126,7 +130,8 @@ public class VoucherRuleController extends
public Response<Boolean> addVoucherRoleUsers(@PathVariable int id, public Response<Boolean> addVoucherRoleUsers(@PathVariable int id,
@RequestBody Request<String> request) { @RequestBody Request<String> request) {
Response<Boolean> reponse = new Response<Boolean>(); Response<Boolean> reponse = new Response<Boolean>();
String loginUserName = request.getLoginUserName();
int type = request.getType();
String ids = request.getBody(); String ids = request.getBody();
if (id < 1 || StringUtils.isEmpty(ids)) { if (id < 1 || StringUtils.isEmpty(ids)) {
reponse.setBody(false); reponse.setBody(false);
...@@ -188,7 +193,7 @@ public class VoucherRuleController extends ...@@ -188,7 +193,7 @@ public class VoucherRuleController extends
VoucherRule voucherRule = new VoucherRule(); VoucherRule voucherRule = new VoucherRule();
BeanUtils.copyProperties(voucherRuleBean, voucherRule); BeanUtils.copyProperties(voucherRuleBean, voucherRule);
if (voucherRuleBean.getVoucherRuleType() == VoucherRuleTypeEnum.EXECUTE_RULE.getValue()) { if (voucherRuleBean.getVoucherRuleType() == VoucherRuleTypeEnum.EXECUTE_RULE.getValue()) {
new ExecuteAddVoucherRoleUserThread(voucherRule, ids).start(); new ExecuteAddVoucherRoleUserThread(voucherRule, ids,loginUserName,type).start();
} }
reponse.setBody(true); reponse.setBody(true);
reponse.setMessage("新增发放用户成功"); reponse.setMessage("新增发放用户成功");
......
...@@ -8,6 +8,7 @@ import java.util.LinkedList; ...@@ -8,6 +8,7 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.activemq.security.SecurityContext;
import org.hibernate.Criteria; import org.hibernate.Criteria;
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
import org.hibernate.Query; import org.hibernate.Query;
...@@ -634,7 +635,7 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> { ...@@ -634,7 +635,7 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
String userQuerySql = "select * from bsc_userext where " + columnName + ">'" + maxDate String userQuerySql = "select * from bsc_userext where " + columnName + ">'" + maxDate
+ "' ORDER BY DataChange_LastTime asc "; + "' ORDER BY DataChange_LastTime asc ";
for (int i = 0; i <= threadNum; i++) { for (int i = 0; i <= threadNum; i++) {
this.batchInsertVoucher(voucherRule, userQuerySql, start, perNum); this.batchInsertVoucher(voucherRule, userQuerySql, start, perNum,"",0);
start = start + perNum; start = start + perNum;
} }
} }
...@@ -649,10 +650,10 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> { ...@@ -649,10 +650,10 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
* @param perNum * @param perNum
*/ */
private void batchInsertVoucher(VoucherRule voucherRule, String userQuerySql, int start, private void batchInsertVoucher(VoucherRule voucherRule, String userQuerySql, int start,
int perNum) { int perNum,String loginUserName,int type) {
String query = userQuerySql + " limit " + start + "," + perNum; String query = userQuerySql + " limit " + start + "," + perNum;
StringBuffer insertSql = new StringBuffer( StringBuffer insertSql = new StringBuffer(
"insert into bsc_voucher (type, amount,startUseDate,endUseDate,uid,source,ruleId,userLimit,createdTime,remark,description,exclusive,canUseAmount,fullCutAmount,shared) values "); "insert into bsc_voucher (type, amount,startUseDate,endUseDate,uid,source,ruleId,userLimit,createdTime,remark,description,exclusive,canUseAmount,fullCutAmount,operator,shared) values ");
StringBuffer insertSmsSql = new StringBuffer( StringBuffer insertSmsSql = new StringBuffer(
"insert into bsc_sms(message, status, mobileNo,type,messageId) values "); "insert into bsc_sms(message, status, mobileNo,type,messageId) values ");
int source = VoucherSourceEnum.NORMAL.getValue(); int source = VoucherSourceEnum.NORMAL.getValue();
...@@ -685,6 +686,9 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> { ...@@ -685,6 +686,9 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
insertSql.append(",'" + voucherRule.getExclusive() + "'"); insertSql.append(",'" + voucherRule.getExclusive() + "'");
insertSql.append(",'" + voucherRule.getCanUseAmount() + "'"); insertSql.append(",'" + voucherRule.getCanUseAmount() + "'");
insertSql.append(",'" + voucherRule.getFullCutAmount() + "'"); insertSql.append(",'" + voucherRule.getFullCutAmount() + "'");
if(type == 1){
insertSql.append(",'"+loginUserName+"'");
}
insertSql.append(",'" + voucherRule.getShared() + "'),"); insertSql.append(",'" + voucherRule.getShared() + "'),");
} }
...@@ -783,12 +787,12 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> { ...@@ -783,12 +787,12 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
break; break;
} }
for (int i = 0; i <= threadNum; i++) { for (int i = 0; i <= threadNum; i++) {
this.batchInsertVoucher(voucherRule, userQuerySql, start, perNum); this.batchInsertVoucher(voucherRule, userQuerySql, start, perNum,"",0);
start = start + perNum; start = start + perNum;
} }
} }
public void sendVoucherToSpecificUsers(VoucherRule voucherRule, String uids, int userExtNum) { public void sendVoucherToSpecificUsers(VoucherRule voucherRule, String uids, int userExtNum,String loginUserName,int type) {
int perNum = 1000 / voucherRule.getQuantity(); int perNum = 1000 / voucherRule.getQuantity();
if (perNum <= 0) { if (perNum <= 0) {
perNum = 1; perNum = 1;
...@@ -797,8 +801,9 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> { ...@@ -797,8 +801,9 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
int start = 0; int start = 0;
String userQuerySql = "select * from bsc_userext where uid in(" + uids String userQuerySql = "select * from bsc_userext where uid in(" + uids
+ ") ORDER BY DataChange_LastTime asc "; + ") ORDER BY DataChange_LastTime asc ";
for (int i = 0; i <= threadNum; i++) { for (int i = 0; i <= threadNum; i++) {
this.batchInsertVoucher(voucherRule, userQuerySql, start, perNum); this.batchInsertVoucher(voucherRule, userQuerySql, start, perNum,loginUserName,type);
start = start + perNum; start = start + perNum;
} }
} }
......
...@@ -94,7 +94,7 @@ public class VoucherRuleService extends ...@@ -94,7 +94,7 @@ public class VoucherRuleService extends
/** /**
* 针对voucherRule新增发放用户 * 针对voucherRule新增发放用户
*/ */
public void executeAddVoucherRoleUser(VoucherRule voucherRule, String ids) { public void executeAddVoucherRoleUser(VoucherRule voucherRule, String ids,String loginUserName,int type) {
if (voucherRule == null || StringUtils.isEmpty(ids)) { if (voucherRule == null || StringUtils.isEmpty(ids)) {
return; return;
} }
...@@ -106,7 +106,7 @@ public class VoucherRuleService extends ...@@ -106,7 +106,7 @@ public class VoucherRuleService extends
ids = ids.substring(0, ids.length() - 1); ids = ids.substring(0, ids.length() - 1);
} }
String[] uids = ids.split(","); String[] uids = ids.split(",");
voucherDao.sendVoucherToSpecificUsers(voucherRule, ids, uids.length); voucherDao.sendVoucherToSpecificUsers(voucherRule, ids, uids.length,loginUserName,type);
} catch (Exception e) { } catch (Exception e) {
} }
} }
...@@ -129,7 +129,7 @@ public class VoucherRuleService extends ...@@ -129,7 +129,7 @@ public class VoucherRuleService extends
if (voucherRule.getSendToUserValue() != null) { if (voucherRule.getSendToUserValue() != null) {
String[] uids = voucherRule.getSendToUserValue().split(","); String[] uids = voucherRule.getSendToUserValue().split(",");
voucherDao.sendVoucherToSpecificUsers(voucherRule, voucherDao.sendVoucherToSpecificUsers(voucherRule,
voucherRule.getSendToUserValue(), uids.length); voucherRule.getSendToUserValue(), uids.length,"",0);
} }
} else if (voucherRule.getSendToUserType() == VoucherRuleSendToUserTypeEnum.REDEEM_CODE } else if (voucherRule.getSendToUserType() == VoucherRuleSendToUserTypeEnum.REDEEM_CODE
.getValue()) { .getValue()) {
......
...@@ -701,7 +701,7 @@ public class VoucherService { ...@@ -701,7 +701,7 @@ public class VoucherService {
String[] ids = jsobj.getString("id").split(","); String[] ids = jsobj.getString("id").split(",");
for(String id:ids){ for(String id:ids){
VoucherRule voucherRule = this.getVoucherRuleDao().findById(Integer.parseInt(id)); VoucherRule voucherRule = this.getVoucherRuleDao().findById(Integer.parseInt(id));
this.getVoucherDao().sendVoucherToSpecificUsers(voucherRule, "'"+uid+"'", voucherRule.getQuantity()); this.getVoucherDao().sendVoucherToSpecificUsers(voucherRule, "'"+uid+"'", voucherRule.getQuantity(),"",0);
} }
} }
} 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