Commit ac39870c by caosy

Merge remote-tracking branch 'origin/f-6.7.2.1' into f-6.7.2

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