|
@@ -14,6 +14,7 @@ import com.txz.cif.model.Account;
|
|
import com.txz.cif.model.ConfigMember;
|
|
import com.txz.cif.model.ConfigMember;
|
|
import com.txz.cif.model.RedEnvelope;
|
|
import com.txz.cif.model.RedEnvelope;
|
|
import com.txz.cif.model.User;
|
|
import com.txz.cif.model.User;
|
|
|
|
+import com.txz.cif.param.OrderParam;
|
|
import com.txz.cif.param.SignRedEnvelopeParam;
|
|
import com.txz.cif.param.SignRedEnvelopeParam;
|
|
import com.txz.cif.service.AccountService;
|
|
import com.txz.cif.service.AccountService;
|
|
import com.txz.cif.service.ConfigMemberService;
|
|
import com.txz.cif.service.ConfigMemberService;
|
|
@@ -73,7 +74,7 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
|
|
redEnvelopes.addAll(bulidRedEnvelope(param.getUserIds().get(0),param,settleTime)) ;
|
|
redEnvelopes.addAll(bulidRedEnvelope(param.getUserIds().get(0),param,settleTime)) ;
|
|
} else if (BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.JOIN_GROUP_RED_ENVELOPE){
|
|
} else if (BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.JOIN_GROUP_RED_ENVELOPE){
|
|
//参团红包
|
|
//参团红包
|
|
- for (Long userId:param.getUserIds()){
|
|
|
|
|
|
+ for (OrderParam userId:param.getUserIds()){
|
|
redEnvelopes.addAll(bulidRedEnvelope(userId,param,settleTime)) ;
|
|
redEnvelopes.addAll(bulidRedEnvelope(userId,param,settleTime)) ;
|
|
}
|
|
}
|
|
} else if (BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.SIGN_RED_ENVELOPE){
|
|
} else if (BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.SIGN_RED_ENVELOPE){
|
|
@@ -121,7 +122,7 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
|
|
* @param settleTime
|
|
* @param settleTime
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- private List<RedEnvelope> bulidRedEnvelope(Long userId, RedEnvelopeParam param, Date settleTime) {
|
|
|
|
|
|
+ private List<RedEnvelope> bulidRedEnvelope(OrderParam userId, RedEnvelopeParam param, Date settleTime) {
|
|
|
|
|
|
List<RedEnvelope> ret = new ArrayList<>();
|
|
List<RedEnvelope> ret = new ArrayList<>();
|
|
//红包
|
|
//红包
|
|
@@ -130,13 +131,13 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
|
|
if (BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.OPEN_GROUP_RED_ENVELOPE
|
|
if (BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.OPEN_GROUP_RED_ENVELOPE
|
|
|| BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.JOIN_GROUP_RED_ENVELOPE ){
|
|
|| BizTypeEnum.getByKey(param.getBizType()) == BizTypeEnum.JOIN_GROUP_RED_ENVELOPE ){
|
|
//只有 开团、参团 有分佣
|
|
//只有 开团、参团 有分佣
|
|
- User user = userService.findById(userId);
|
|
|
|
|
|
+ User user = userService.findById(userId.getUserId());
|
|
if (user.getPid() != null){
|
|
if (user.getPid() != null){
|
|
//找父亲 上级分佣
|
|
//找父亲 上级分佣
|
|
- ret.add(bulidRedEnvelope2(2,user.getPid(),param,settleTime)) ;
|
|
|
|
|
|
+ ret.add(bulidRedEnvelope2(2, OrderParam.builder().orderId(userId.getOrderNo()).userId(user.getPid()).build(),param,settleTime)) ;
|
|
if (user.getPpid() != null){
|
|
if (user.getPpid() != null){
|
|
//找爷爷 上上级分佣
|
|
//找爷爷 上上级分佣
|
|
- ret.add(bulidRedEnvelope2(3,user.getPpid(),param,settleTime)) ;
|
|
|
|
|
|
+ ret.add(bulidRedEnvelope2(3,OrderParam.builder().orderId(userId.getOrderNo()).userId(user.getPpid()).build(),param,settleTime)) ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -152,7 +153,7 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
|
|
* @param settleTime
|
|
* @param settleTime
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- private RedEnvelope bulidRedEnvelope2(Integer type , Long userId, RedEnvelopeParam param, Date settleTime) {
|
|
|
|
|
|
+ private RedEnvelope bulidRedEnvelope2(Integer type , OrderParam userId, RedEnvelopeParam param, Date settleTime) {
|
|
Condition c = new Condition(Account.class);
|
|
Condition c = new Condition(Account.class);
|
|
c.createCriteria().andEqualTo("userId", userId)
|
|
c.createCriteria().andEqualTo("userId", userId)
|
|
.andEqualTo("bizType",2);
|
|
.andEqualTo("bizType",2);
|
|
@@ -168,11 +169,11 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Long id = IdUtil.getSnowflake(1,1).nextId();
|
|
|
|
|
|
+// Long id = IdUtil.getSnowflake(1,1).nextId();
|
|
//借:营销账户(负债类201)(贷) -100元
|
|
//借:营销账户(负债类201)(贷) -100元
|
|
//贷:个人账户(负债类202)(贷) +100元
|
|
//贷:个人账户(负债类202)(贷) +100元
|
|
BigDecimal amount = param.getAmount();
|
|
BigDecimal amount = param.getAmount();
|
|
- User user = userService.findById(userId);
|
|
|
|
|
|
+ User user = userService.findById(userId.getUserId());
|
|
if (type > 1 ){
|
|
if (type > 1 ){
|
|
ConfigMember level = configMemberService.findBy("level", user.getVipLevel());
|
|
ConfigMember level = configMemberService.findBy("level", user.getVipLevel());
|
|
if (type == 2){
|
|
if (type == 2){
|
|
@@ -184,7 +185,7 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
|
|
RedEnvelope redEnvelope = RedEnvelope.builder()
|
|
RedEnvelope redEnvelope = RedEnvelope.builder()
|
|
.amount(amount)
|
|
.amount(amount)
|
|
.createTime(DateUtil.date())
|
|
.createTime(DateUtil.date())
|
|
- .orderNo(param.getOrderNo())
|
|
|
|
|
|
+ .orderNo(param.getUserIds().get(0).getOrderNo())
|
|
//类型: 1(自己) 返回 1(开团)或2(参团) 2(父亲)返回4(上级分佣) 3(爷爷)返回5(上上级分佣)
|
|
//类型: 1(自己) 返回 1(开团)或2(参团) 2(父亲)返回4(上级分佣) 3(爷爷)返回5(上上级分佣)
|
|
.bizType(bizType)
|
|
.bizType(bizType)
|
|
.name(user.getName())
|
|
.name(user.getName())
|
|
@@ -193,8 +194,8 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
|
|
.creditAccount(account.getId())
|
|
.creditAccount(account.getId())
|
|
.transTime(param.getTransTime())
|
|
.transTime(param.getTransTime())
|
|
.status(1)
|
|
.status(1)
|
|
- .userId(param.getUserIds().get(0))
|
|
|
|
- .tranNo(id+"")
|
|
|
|
|
|
+ .userId(param.getUserIds().get(0).getUserId())
|
|
|
|
+ .tranNo(param.getOrderNo())
|
|
.settleTime(settleTime)
|
|
.settleTime(settleTime)
|
|
.createUser(param.getUserIds().get(0)+"")
|
|
.createUser(param.getUserIds().get(0)+"")
|
|
.build();
|
|
.build();
|