diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/XhpcActivityApplication.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/XhpcActivityApplication.java index 8ee7ac02..9a03c3ce 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/XhpcActivityApplication.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/XhpcActivityApplication.java @@ -6,8 +6,10 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableScheduling; +@EnableScheduling @EnableCustomConfig @EnableRyFeignClients @EnableFeignClients diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityCashDomain.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityCashDomain.java index 423b9781..d65357ec 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityCashDomain.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityCashDomain.java @@ -33,6 +33,11 @@ public class XhpcActivityCashDomain implements Serializable { */ private Date endTime; + + private Integer autoReceive; + + private Integer autoStatus; + /** * 领取次数 */ @@ -64,7 +69,7 @@ public class XhpcActivityCashDomain implements Serializable { private String tenantId; /** - * 状态(0-编辑,1-提交待审核,2-审核失败,3-审核通过,4-立即失效) + * 状态(0-编辑,1-提交待审核,2-审核失败,3-审核成功,4-立即失效) */ private Short status; diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityInternetDomain.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityInternetDomain.java index 6edf8b32..faa1c4fe 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityInternetDomain.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityInternetDomain.java @@ -64,7 +64,7 @@ public class XhpcActivityInternetDomain implements Serializable { private String tenantId; /** - * 状态(0-编辑,1-提交生效,2-审核失败,3-审核成功,4-失效) + * 状态(0-编辑,1-提交审核,2-审核失败,3-审核成功,4-失效) */ private Short status; diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityRecordDomain.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityRecordDomain.java index 6aeadcdd..eb57b99c 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityRecordDomain.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcActivityRecordDomain.java @@ -29,7 +29,7 @@ public class XhpcActivityRecordDomain implements Serializable { /** * 人员类型(0 C端用户 1 流量方用户 2社区用户 3B端用户) */ - private Short source; + private Integer source; /** * 用户ID diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcAppUserDomain.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcAppUserDomain.java new file mode 100644 index 00000000..2185caf7 --- /dev/null +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcAppUserDomain.java @@ -0,0 +1,47 @@ +package com.xhpc.activity.domain; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + + +/** + * C端用户 xhpc_app_user + * + * @author ruoyi + */ +@Data +public class XhpcAppUserDomain implements Serializable { + + + /** + * 用户id + */ + private Long appUserId; + + /** + * 手机号码 + */ + private String phone; + + /** + * 余额 + */ + private BigDecimal balance; + + + /** + * 帐号状态 + */ + private Integer status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private String delFlag; + + + private String tenantId; + private static final long serialVersionUID = 1L; +} diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcCommunityPersonnelDomain.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcCommunityPersonnelDomain.java new file mode 100644 index 00000000..eb115dce --- /dev/null +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcCommunityPersonnelDomain.java @@ -0,0 +1,39 @@ +package com.xhpc.activity.domain; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author yuyang + * @date 2021/12/22 15:33 + */ +@Data +public class XhpcCommunityPersonnelDomain implements Serializable { + + private Long communityPersonnelId; + + private Long communityId; + + private String name; + + private String account; + + private BigDecimal rechargeMoney; + + private BigDecimal consumeMoney; + + private BigDecimal redPacket; + + private BigDecimal surplusMoney; + + private String phone; + + private Integer status; + + private Integer delFlag; + + private String tenantId; + private static final long serialVersionUID = 1L; +} diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcCustomersPersonnelDomain.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcCustomersPersonnelDomain.java new file mode 100644 index 00000000..0666e5f3 --- /dev/null +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcCustomersPersonnelDomain.java @@ -0,0 +1,37 @@ +package com.xhpc.activity.domain; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + + +@Data +public class XhpcCustomersPersonnelDomain implements Serializable { + + private Long customersPersonnelId; + + private Long customersId; + + private String name; + + private String account; + + private BigDecimal rechargeMoney; + + private BigDecimal consumeMoney; + + private BigDecimal redPacket; + + private BigDecimal surplusMoney; + + private String phone; + + private Integer status; + + private Integer delFlag; + + private String tenantId; + + private static final long serialVersionUID = 1L; +} diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcUserAccountStatementDomain.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcUserAccountStatementDomain.java new file mode 100644 index 00000000..4edfdcb5 --- /dev/null +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/domain/XhpcUserAccountStatementDomain.java @@ -0,0 +1,93 @@ +package com.xhpc.activity.domain; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +@Data +public class XhpcUserAccountStatementDomain implements Serializable { + + + /** + * 用户流水id + */ + private Long userAccountStatementId; + + /** + * 用户id + */ + private Long userId; + + /** + * 流水金额 + */ + private BigDecimal amount; + + /** + * 余额 + */ + private BigDecimal remainingSum; + + /** + * 充电订单id + */ + private Long chargeOrderId; + + /** + * 充值订单id + */ + private Long rechargeOrderId; + + /** + * 退款订单id + */ + private Long refundOrderId; + + /** + * 类型(1充值 2退款 3充电) + */ + private Integer type; + + /** + * 状态(0正常 1停用) + */ + private Integer status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private Integer delFlag; + + /** 创建者 */ + private String createBy; + + /** 创建时间 */ + private Date createTime; + + /** 更新者 */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 备注 + */ + private String remark; + + /** + * 租户id + */ + private String tenantId; + + /** + * 订单来源(0 C端用户 1 流量方用户 2社区用户 3B端用户) + */ + private Integer source; + private static final long serialVersionUID = 1L; +} diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityCashMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityCashMapper.java index baf78e32..1bf81c24 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityCashMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityCashMapper.java @@ -36,4 +36,7 @@ public interface XhpcActivityCashMapper { List> selectBUserListByUserIds(@Param("userIds") String userIds); List> selectUserListByParams(@Param("params")Map params); + + + List selectCheckedPassAndAutoReceive(); } \ No newline at end of file diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityDiscountMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityDiscountMapper.java index 534fb10f..112675da 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityDiscountMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityDiscountMapper.java @@ -11,6 +11,10 @@ public interface XhpcActivityDiscountMapper { List selectByParams(@Param("params") Map params); + List selectByTemplateIdAndStatus(@Param("templateId") Integer templateId, @Param("status")Integer status); + + List selectByTemplateIdAndDelflag(@Param("templateId") Integer templateId, @Param("delflag")Integer status); + List> selectNameMapList(@Param("params")Map params); int deleteLogicByPrimaryKey(Integer activity_id); diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java index 4a0dbfa0..a3d9031d 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java @@ -1,6 +1,7 @@ package com.xhpc.activity.mapper; import com.xhpc.activity.domain.XhpcActivityFormulaDomain; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,6 +10,8 @@ public interface XhpcActivityFormulaMapper { int insert(XhpcActivityFormulaDomain record); + int insertBatch(@Param("domainList") List domainList); + XhpcActivityFormulaDomain selectByPrimaryKey(Long activityFormulaId); int updateByPrimaryKey(XhpcActivityFormulaDomain record); diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java index 9193e779..4268fcbb 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java @@ -27,4 +27,6 @@ public interface XhpcActivityInternetMapper { int checkByPrimaryKey(XhpcActivityInternetDomain record); + List selectByDateBetween(@Param("startTime")String startTime, @Param("endTime")String endTime); + } \ No newline at end of file diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityRecordMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityRecordMapper.java index 52b068f7..8f4fe72a 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityRecordMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityRecordMapper.java @@ -10,6 +10,7 @@ public interface XhpcActivityRecordMapper { XhpcActivityRecordDomain selectByActivityAndUser(@Param("activityType") String activityType, @Param("activityId") Integer activityId, + @Param("source") Integer source, @Param("userId") String userId); List selectByActivity(@Param("activityType") String activityType, @@ -23,6 +24,8 @@ public interface XhpcActivityRecordMapper { int insert(XhpcActivityRecordDomain record); + int insertBatch(@Param("domainList") List domainList); + XhpcActivityRecordDomain selectByPrimaryKey(Long activity_record_id); int updateByPrimaryKey(XhpcActivityRecordDomain record); diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcUserMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcUserMapper.java new file mode 100644 index 00000000..ed09d8a1 --- /dev/null +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcUserMapper.java @@ -0,0 +1,67 @@ +package com.xhpc.activity.mapper; + + +import com.xhpc.activity.domain.XhpcAppUserDomain; +import com.xhpc.activity.domain.XhpcCommunityPersonnelDomain; +import com.xhpc.activity.domain.XhpcCustomersPersonnelDomain; +import com.xhpc.activity.domain.XhpcUserAccountStatementDomain; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +public interface XhpcUserMapper { + + // C端用户 ==================== + XhpcAppUserDomain selectAppUserById(@Param("userId") String userId); + + XhpcAppUserDomain selectAppUserByPhone(@Param("phone") String phone); + + List selectAppUsersById(@Param("userIds") String userIds); + + List selectAppUsersByPhone(@Param("phones") String phones); + + List selectAppUsersAll(); + + int updateBatchAppUser(@Param("domainList") List domainList); + + int updateAppUser(@Param("domain") XhpcAppUserDomain domain); + + + // 社区用户 ================== + XhpcCommunityPersonnelDomain selectComUserById(@Param("userId") String userId); + + XhpcCommunityPersonnelDomain selectComUserByAccount(@Param("account") String account); + + List selectComUsersById(@Param("userIds") String userIds); + + List selectComUsersByAccount(@Param("accounts") String accounts); + + List selectComUsersAll(); + + int updateBatchComUser(@Param("domainList") List domainList); + + int updateComUser(@Param("domain") XhpcCommunityPersonnelDomain domain); + + + // B端用户 ===================== + XhpcCustomersPersonnelDomain selectCusUserById(@Param("userId") String userId); + + XhpcCustomersPersonnelDomain selectCusUserByAccount(@Param("account") String account); + + List selectCusUsersById(@Param("userIds") String userIds); + + List selectCusUsersByAccount(@Param("accounts") String accounts); + + List selectCusUsersAll(); + + int updateBatchCusUser(@Param("domainList") List domainList); + + int updateCusUser(@Param("domain")XhpcCustomersPersonnelDomain domain); + + + // 流水日志 ======================== + int insertStatementBatch(@Param("domainList")List domainList); + + int insertStatement(@Param("domain") XhpcUserAccountStatementDomain domain); +} diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityCashServiceImpl.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityCashServiceImpl.java index e39fc63c..67aca9f7 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityCashServiceImpl.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityCashServiceImpl.java @@ -1,12 +1,11 @@ package com.xhpc.activity.service.impl; -import com.xhpc.activity.domain.XhpcActivityCashDomain; -import com.xhpc.activity.domain.XhpcActivityImgDomain; -import com.xhpc.activity.domain.XhpcActivityRecordDomain; +import com.xhpc.activity.domain.*; import com.xhpc.activity.enums.ActivityTypeEnum; import com.xhpc.activity.mapper.XhpcActivityCashMapper; import com.xhpc.activity.mapper.XhpcActivityImgMapper; import com.xhpc.activity.mapper.XhpcActivityRecordMapper; +import com.xhpc.activity.mapper.XhpcUserMapper; import com.xhpc.activity.service.XhpcActivityCashService; import com.xhpc.common.core.exception.CustomException; import com.xhpc.common.core.web.service.BaseService; @@ -14,6 +13,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -32,9 +32,12 @@ public class XhpcActivityCashServiceImpl extends BaseService implements XhpcActi @Resource XhpcActivityRecordMapper recordMapper; + @Resource + XhpcUserMapper userMapper; + @Override - public List getPage(Map params){ + public List getPage(Map params) { List domainList = cashMapper.selectByParams(params); @@ -43,12 +46,12 @@ public class XhpcActivityCashServiceImpl extends BaseService implements XhpcActi @Override - public List> getNameList(Map params){ + public List> getNameList(Map params) { return cashMapper.selectNameMapList(params); } @Override - public XhpcActivityCashDomain getDomainByPk(Integer activityId){ + public XhpcActivityCashDomain getDomainByPk(Integer activityId) { XhpcActivityCashDomain domain = cashMapper.selectByPrimaryKey(activityId); List checkImgList = imgMapper.selectListByActivityId(activityId, ActivityTypeEnum.CASH.getCode()); domain.setCheckImgList(checkImgList); @@ -57,11 +60,11 @@ public class XhpcActivityCashServiceImpl extends BaseService implements XhpcActi @Override - public boolean insertDomain(XhpcActivityCashDomain domain){ + public boolean insertDomain(XhpcActivityCashDomain domain) { cashMapper.insert(domain); - for(XhpcActivityImgDomain imgDomain: domain.getCheckImgList()){ + for (XhpcActivityImgDomain imgDomain : domain.getCheckImgList()) { imgDomain.setActivityType(ActivityTypeEnum.CASH.getCode()); imgDomain.setActivityId(domain.getActivityId()); imgMapper.insert(imgDomain); @@ -72,11 +75,11 @@ public class XhpcActivityCashServiceImpl extends BaseService implements XhpcActi @Override - public boolean updateDomain(XhpcActivityCashDomain domain){ + public boolean updateDomain(XhpcActivityCashDomain domain) { cashMapper.updateByPrimaryKey(domain); imgMapper.deleteLogicByActivityId(domain.getActivityId(), ActivityTypeEnum.CASH.getCode()); - for(XhpcActivityImgDomain imgDomain: domain.getCheckImgList()){ + for (XhpcActivityImgDomain imgDomain : domain.getCheckImgList()) { imgDomain.setActivityType(ActivityTypeEnum.CASH.getCode()); imgDomain.setActivityId(domain.getActivityId()); imgMapper.insert(imgDomain); @@ -86,42 +89,46 @@ public class XhpcActivityCashServiceImpl extends BaseService implements XhpcActi @Override - public boolean checkDomain(XhpcActivityCashDomain domain){ - return cashMapper.checkByPrimaryKey(domain) > 0; + public boolean checkDomain(XhpcActivityCashDomain domain) { + XhpcActivityCashDomain cashDomain = cashMapper.selectByPrimaryKey(domain.getActivityId()); + if (cashDomain == null) { + throw new CustomException("活动不存在"); + } + cashDomain.setStatus(domain.getStatus()); + return cashMapper.checkByPrimaryKey(cashDomain) > 0; } @Override - public boolean updateDomainStatus(XhpcActivityCashDomain domain){ + public boolean updateDomainStatus(XhpcActivityCashDomain domain) { return cashMapper.updateStatusByPrimaryKey(domain) > 0; } @Override - public boolean deleteByPk(Integer activityId){ + public boolean deleteByPk(Integer activityId) { return cashMapper.deleteLogicByPrimaryKey(activityId) > 0; } - @Override - public List> getUserList(Map params){ + public List> getUserList(Map params) { XhpcActivityCashDomain cashDomain = cashMapper.selectByPrimaryKey(Integer.parseInt(params.get("activityId").toString())); String appUserIds = ""; - if(cashDomain.getAppUserList() != null){ + if (cashDomain.getAppUserList() != null) { appUserIds = cashDomain.getAppUserList(); } String comUserIds = ""; - if(cashDomain.getComUserList() != null){ + if (cashDomain.getComUserList() != null) { comUserIds = cashDomain.getComUserList(); } String bUserIds = ""; - if(cashDomain.getCusUserList() != null){ + if (cashDomain.getCusUserList() != null) { bUserIds = cashDomain.getCusUserList(); } @@ -137,31 +144,95 @@ public class XhpcActivityCashServiceImpl extends BaseService implements XhpcActi // ---------- 红包领取 -------- @Override - public boolean insertReceiveDomain(XhpcActivityRecordDomain domain){ + public boolean insertReceiveDomain(XhpcActivityRecordDomain domain) { XhpcActivityCashDomain cashDomain = cashMapper.selectByPrimaryKey(domain.getActivityId()); - if(cashDomain == null){ + if (cashDomain == null) { throw new CustomException("活动不存在"); } XhpcActivityRecordDomain recordDomain = recordMapper.selectByActivityAndUser(domain.getActivityType(), - domain.getActivityId(), domain.getUserId()); - if(recordDomain != null){ + domain.getActivityId(), domain.getSource(), domain.getUserId()); + if (recordDomain != null) { throw new CustomException("您已参与该活动,请勿重复领取"); } + XhpcUserAccountStatementDomain accountStatementDomain = new XhpcUserAccountStatementDomain(); + BigDecimal amount = BigDecimal.ZERO; + switch (domain.getSource()) { + case 0: + XhpcAppUserDomain appUser = userMapper.selectAppUserById(domain.getUserId()); + if (appUser == null) { + throw new CustomException("用户不存在"); + } + amount = appUser.getBalance().add(cashDomain.getAmount()); + appUser.setBalance(amount); + userMapper.updateAppUser(appUser); + accountStatementDomain = addAccountStatement(appUser.getAppUserId(), cashDomain.getAmount(), amount, 0, appUser.getTenantId()); + break; + case 2: + XhpcCommunityPersonnelDomain comUser = userMapper.selectComUserById(domain.getUserId()); + if (comUser == null) { + throw new CustomException("用户不存在"); + } + amount = comUser.getSurplusMoney().add(cashDomain.getAmount()); + comUser.setRedPacket(comUser.getRedPacket().add(cashDomain.getAmount())); + comUser.setSurplusMoney(amount); + userMapper.updateComUser(comUser); + accountStatementDomain = addAccountStatement(comUser.getCommunityPersonnelId(), cashDomain.getAmount(), amount, 2, comUser.getTenantId()); + break; + case 3: + XhpcCustomersPersonnelDomain cusUser = userMapper.selectCusUserById(domain.getUserId()); + if (cusUser == null) { + throw new CustomException("用户不存在"); + } + amount = cusUser.getSurplusMoney().add(cashDomain.getAmount()); + cusUser.setRedPacket(cusUser.getRedPacket().add(cashDomain.getAmount())); + cusUser.setSurplusMoney(amount); + userMapper.updateCusUser(cusUser); + accountStatementDomain = addAccountStatement(cusUser.getCustomersPersonnelId(), cashDomain.getAmount(), amount, 3, cusUser.getTenantId()); + break; + default: + throw new CustomException("人员类型错误"); + } recordMapper.insert(domain); - cashDomain.setReceiveCount(cashDomain.getReceiveCount() + 1); cashMapper.updateReceiveCountByActivityId(cashDomain); - + userMapper.insertStatement(accountStatementDomain); return true; } @Override - public List> getReceivePage(Map params){ + public List> getReceivePage(Map params) { params.put("activityType", ActivityTypeEnum.CASH.getCode()); return recordMapper.selectByParams(params); } + + + private XhpcActivityRecordDomain addRecord(XhpcActivityCashDomain cashDomain, Integer source, String userId) { + XhpcActivityRecordDomain recordDomain = new XhpcActivityRecordDomain(); + recordDomain.setActivityType(ActivityTypeEnum.CASH.getCode()); + recordDomain.setActivityId(cashDomain.getActivityId()); + recordDomain.setAmount(cashDomain.getAmount()); + recordDomain.setSource(source); + recordDomain.setUserId(userId); + return recordDomain; + } + + + private XhpcUserAccountStatementDomain addAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Integer source, String tenatnId) { + XhpcUserAccountStatementDomain domain = new XhpcUserAccountStatementDomain(); + domain.setCreateBy("1"); + domain.setUpdateBy("1"); + domain.setType(4); + domain.setStatus(0); + + domain.setUserId(userId); + domain.setAmount(amount); + domain.setRemainingSum(remainingSum); + domain.setSource(source); + domain.setTenantId(tenatnId); + return domain; + } } diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityDiscountServiceImpl.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityDiscountServiceImpl.java index aa483605..5d83b6c3 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityDiscountServiceImpl.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityDiscountServiceImpl.java @@ -54,16 +54,7 @@ public class XhpcActivityDiscountServiceImpl extends BaseService implements Xhpc if(templateDomain == null){ throw new CustomException("折扣模版不存在"); } - - if(templateDomain.getStatus() != 0){ - throw new CustomException("折扣模版不能重复发布"); - } - discountMapper.insert(domain); - - templateDomain.setStatus(Short.valueOf("1")); - templateDomain.setUpdateBy(domain.getCheckBy()); - templateMapper.updateStatusByPrimaryKey(templateDomain); return true; } diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java index b4912b03..765f6743 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java @@ -5,10 +5,13 @@ import com.xhpc.activity.domain.XhpcActivityInternetDomain; import com.xhpc.activity.mapper.XhpcActivityFormulaMapper; import com.xhpc.activity.mapper.XhpcActivityInternetMapper; import com.xhpc.activity.service.XhpcActivityInternetService; +import com.xhpc.common.core.exception.CustomException; +import com.xhpc.common.util.DateUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -48,13 +51,59 @@ public class XhpcActivityInternetServiceImpl implements XhpcActivityInternetServ @Override public boolean insertDomain(XhpcActivityInternetDomain domain) { internetMapper.insert(domain); - for (XhpcActivityFormulaDomain formulaDomain : domain.getFormulaList()) { - formulaDomain.setActivityId(domain.getActivityId()); - formulaDomain.setCreateBy(domain.getCreateBy()); - formulaDomain.setUpdateBy(domain.getUpdateBy()); - formulaMapper.insert(formulaDomain); + + boolean isFullDay = false; + Integer index = 0; + List formulaDomainList = domain.getFormulaList(); + List formulaDomains = new ArrayList<>(); + String startTime = "00:00:00", endTime="24:00:00"; + while (!isFullDay) { + if (formulaDomainList == null || formulaDomainList.size() < 1) { + XhpcActivityFormulaDomain formulaDomain = new XhpcActivityFormulaDomain(); + formulaDomain.setActivityId(domain.getActivityId()); + formulaDomain.setServicePrice(domain.getServicePrice()); + formulaDomain.setComputeFormula(domain.getComputeFormula()); + formulaDomain.setStartTime("00:00:00"); + formulaDomain.setEndTime("24:00:00"); + formulaDomain.setCreateBy(domain.getCreateBy()); + formulaDomain.setUpdateBy(domain.getUpdateBy()); + formulaMapper.insert(formulaDomain); + isFullDay = true; + } else { + XhpcActivityFormulaDomain formulaDomain; + if(index>=formulaDomainList.size()){ + formulaDomain = new XhpcActivityFormulaDomain(); + formulaDomain.setServicePrice(domain.getServicePrice()); + formulaDomain.setComputeFormula(domain.getComputeFormula()); + formulaDomain.setStartTime(startTime); + formulaDomain.setEndTime(endTime); + + } else if (!startTime.equals(formulaDomainList.get(index).getStartTime())) { + formulaDomain = new XhpcActivityFormulaDomain(); + formulaDomain.setServicePrice(domain.getServicePrice()); + formulaDomain.setComputeFormula(domain.getComputeFormula()); + formulaDomain.setStartTime(startTime); + formulaDomain.setEndTime(formulaDomainList.get(index).getStartTime()); + + } else { + formulaDomain = formulaDomainList.get(index); + index ++; + } + formulaDomain.setActivityId(domain.getActivityId()); + formulaDomain.setCreateBy(domain.getCreateBy()); + formulaDomain.setUpdateBy(domain.getUpdateBy()); + formulaDomains.add(formulaDomain); + + startTime = formulaDomain.getEndTime(); + if(endTime.equals(startTime)){ + isFullDay = true; + } + + } + } + formulaMapper.insertBatch(formulaDomains); return true; } @@ -83,7 +132,19 @@ public class XhpcActivityInternetServiceImpl implements XhpcActivityInternetServ @Override - public boolean checkDomain(XhpcActivityInternetDomain domain){ + public boolean checkDomain(XhpcActivityInternetDomain domain) { + XhpcActivityInternetDomain internetDomain = internetMapper.selectByPrimaryKey(domain.getActivityId()); + if(internetDomain == null){ + throw new CustomException("活动不存在"); + } + // 同一时间段内只能有一个活动有效 + String startTime = DateUtil.date2String(internetDomain.getStartTime(), "yyyy-MM-dd"); + String endTime = DateUtil.date2String(internetDomain.getEndTime(), "yyyy-MM-dd"); + List domainList = internetMapper.selectByDateBetween(startTime, endTime); + if(domainList.size() > 0 && domain.getStatus().equals(Short.valueOf("3"))){ + throw new CustomException("生效时段存在其他已生效的活动"); + } + return internetMapper.checkByPrimaryKey(domain) > 0; } diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityTemplateServiceImpl.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityTemplateServiceImpl.java index 7e720874..7c322411 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityTemplateServiceImpl.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityTemplateServiceImpl.java @@ -1,9 +1,11 @@ package com.xhpc.activity.service.impl; +import com.xhpc.activity.domain.XhpcActivityDiscountDomain; import com.xhpc.activity.domain.XhpcActivityTemplateDomain; import com.xhpc.activity.mapper.XhpcActivityDiscountMapper; import com.xhpc.activity.mapper.XhpcActivityTemplateMapper; import com.xhpc.activity.service.XhpcActivityTemplateService; +import com.xhpc.common.core.exception.CustomException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,7 +59,10 @@ public class XhpcActivityTemplateServiceImpl implements XhpcActivityTemplateServ @Override public boolean updateDomainStatus(XhpcActivityTemplateDomain domain){ if(domain.getStatus() == 2){ - discountMapper.updateStatusByTemplateId(domain.getActivityTemplateId(), Short.valueOf("4")); + List domainList = discountMapper.selectByTemplateIdAndStatus(domain.getActivityTemplateId(), 3); + if(domainList.size() > 0){ + throw new CustomException("存在生效的折扣活动,请先失效使用该模版的折扣活动"); + } } return templateMapper.updateStatusByPrimaryKey(domain) > 0; @@ -65,6 +70,11 @@ public class XhpcActivityTemplateServiceImpl implements XhpcActivityTemplateServ @Override public boolean deleteByPk(Integer templateId){ + List domainList = discountMapper.selectByTemplateIdAndDelflag(templateId, 0); + if(domainList.size() > 0){ + throw new CustomException("存在尚未删除的折扣活动,请先删除使用该模版的折扣活动"); + } + return templateMapper.deleteLogicByPrimaryKey(templateId) > 0; } } diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/task/AutoCashTask.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/task/AutoCashTask.java new file mode 100644 index 00000000..515f9863 --- /dev/null +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/task/AutoCashTask.java @@ -0,0 +1,158 @@ +package com.xhpc.activity.task; + +import com.xhpc.activity.domain.*; +import com.xhpc.activity.enums.ActivityTypeEnum; +import com.xhpc.activity.mapper.XhpcActivityCashMapper; +import com.xhpc.activity.mapper.XhpcActivityRecordMapper; +import com.xhpc.activity.mapper.XhpcUserMapper; +import com.xhpc.common.core.utils.StringUtils; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + + +@Component +@Transactional +public class AutoCashTask { + + @Resource + XhpcActivityCashMapper cashMapper; + + @Resource + XhpcUserMapper userMapper; + + @Resource + XhpcActivityRecordMapper recordMapper; + + + @Scheduled(cron = "0 0 0/6 * * ?") + private void AutoCashReceive() { + List cashDomainList = cashMapper.selectCheckedPassAndAutoReceive(); + for (XhpcActivityCashDomain cashDomain : cashDomainList) { + + + List recordDomainList = new ArrayList<>(); + List userAccountStatementDomainList = new ArrayList<>(); + if (cashDomain.getAutoReceive() == 1) { + // 自动领取 + if (!StringUtils.isEmpty(cashDomain.getAppUserList())) { + List appUserDomainList = new ArrayList<>(); + if ("-1".equals(cashDomain.getAppUserList())) { + appUserDomainList = userMapper.selectAppUsersAll(); + } else { + appUserDomainList = userMapper.selectAppUsersById(cashDomain.getAppUserList()); + } + for (XhpcAppUserDomain userDomain : appUserDomainList) { + // 增加领取记录 + recordDomainList.add(addRecord(cashDomain, 0, userDomain.getAppUserId().toString())); + // 增加余额 + userDomain.setBalance(userDomain.getBalance().add(cashDomain.getAmount())); + // 增加流水 + BigDecimal remainingSum = userDomain.getBalance().add(cashDomain.getAmount()); + userAccountStatementDomainList.add( + addAccountStatement(userDomain.getAppUserId(), cashDomain.getAmount(), remainingSum, 0, userDomain.getTenantId()) + ); + } + + userMapper.updateBatchAppUser(appUserDomainList); + } + + if (!StringUtils.isEmpty(cashDomain.getComUserList())) { + List comUserList = new ArrayList<>(); + if ("-1".equals(cashDomain.getComUserList())) { + comUserList = userMapper.selectComUsersAll(); + } else { + comUserList = userMapper.selectComUsersById(cashDomain.getComUserList()); + } + + for (XhpcCommunityPersonnelDomain userDomain : comUserList) { + + recordDomainList.add(addRecord(cashDomain, 2, userDomain.getCommunityPersonnelId().toString())); + + BigDecimal redPacket = userDomain.getRedPacket().add(cashDomain.getAmount()); + BigDecimal surplusMoney = userDomain.getSurplusMoney().add(cashDomain.getAmount()); + userDomain.setRedPacket(redPacket); + userDomain.setSurplusMoney(surplusMoney); + + userAccountStatementDomainList.add( + addAccountStatement(userDomain.getCommunityPersonnelId(), cashDomain.getAmount(), surplusMoney, 2, userDomain.getTenantId()) + ); + } + + userMapper.updateBatchComUser(comUserList); + } + + if (!StringUtils.isEmpty(cashDomain.getCusUserList())) { + + List cusUserList = new ArrayList<>(); + if ("-1".equals(cashDomain.getComUserList())) { + cusUserList = userMapper.selectCusUsersAll(); + } else { + cusUserList = userMapper.selectCusUsersById(cashDomain.getCusUserList()); + } + + for (XhpcCustomersPersonnelDomain userDomain : cusUserList) { + + recordDomainList.add(addRecord(cashDomain, 3, userDomain.getCustomersPersonnelId().toString())); + + BigDecimal redPacket = userDomain.getRedPacket().add(cashDomain.getAmount()); + BigDecimal surplusMoney = userDomain.getSurplusMoney().add(cashDomain.getAmount()); + userDomain.setRedPacket(redPacket); + userDomain.setSurplusMoney(surplusMoney); + + userAccountStatementDomainList.add( + addAccountStatement(userDomain.getCustomersPersonnelId(), cashDomain.getAmount(), surplusMoney, 3, userDomain.getTenantId()) + ); + } + + userMapper.updateBatchCusUser(cusUserList); + } + + } + + if (recordDomainList.size() > 0) { + recordMapper.insertBatch(recordDomainList); + } + if (userAccountStatementDomainList.size() > 0) { + userMapper.insertStatementBatch(userAccountStatementDomainList); + } + + cashDomain.setReceiveCount(recordDomainList.size()); + cashMapper.updateReceiveCountByActivityId(cashDomain); + } + + } + + + private XhpcActivityRecordDomain addRecord(XhpcActivityCashDomain cashDomain, Integer source, String userId) { + XhpcActivityRecordDomain recordDomain = new XhpcActivityRecordDomain(); + recordDomain.setActivityType(ActivityTypeEnum.CASH.getCode()); + recordDomain.setActivityId(cashDomain.getActivityId()); + recordDomain.setAmount(cashDomain.getAmount()); + recordDomain.setSource(source); + recordDomain.setUserId(userId); + return recordDomain; + } + + + private XhpcUserAccountStatementDomain addAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Integer source, String tenatnId) { + XhpcUserAccountStatementDomain domain = new XhpcUserAccountStatementDomain(); + domain.setCreateBy("1"); + domain.setUpdateBy("1"); + domain.setType(4); + domain.setStatus(0); + + domain.setUserId(userId); + domain.setAmount(amount); + domain.setRemainingSum(remainingSum); + domain.setSource(source); + domain.setTenantId(tenatnId); + return domain; + } + +} diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityCashMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityCashMapper.xml index 04d4167a..d0813f61 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityCashMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityCashMapper.xml @@ -6,6 +6,8 @@ + + @@ -22,7 +24,7 @@ - activity_id, activity_name, start_time, end_time, receive_count, amount, app_user_list, com_user_list, cus_user_list, + activity_id, activity_name, start_time, end_time, auto_receive, auto_status, receive_count, amount, app_user_list, com_user_list, cus_user_list, tenant_id, `status`, del_flag, create_by, create_time, update_by, update_time, check_by, check_time @@ -39,6 +41,7 @@ and status=#{params.status} + order by field(`status`, 1,3,4,2) asc, create_time desc @@ -75,13 +78,13 @@ - insert into xhpc_activity_cash (start_time, end_time, amount, receive_count, + insert into xhpc_activity_cash (start_time, end_time, amount, receive_count, auto_receive, auto_status, app_user_list, com_user_list, cus_user_list, tenant_id, `status`, del_flag, create_by, create_time, update_by, update_time, check_by, check_time ) - values (#{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{amount,jdbcType=DECIMAL}, 0, + values (#{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{amount,jdbcType=DECIMAL}, 0, #{autoReceive}, 0, #{appUserList,jdbcType=VARCHAR}, #{comUserList,jdbcType=VARCHAR}, #{cusUserList,jdbcType=VARCHAR}, #{tenantId,jdbcType=VARCHAR}, 1, 0, #{createBy,jdbcType=VARCHAR}, sysdate(), #{updateBy,jdbcType=VARCHAR}, @@ -94,6 +97,7 @@ update xhpc_activity_cash set start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, + auto_receive=#{autoReceive}, amount = #{amount,jdbcType=DECIMAL}, app_user_list = #{appUserList,jdbcType=VARCHAR}, com_user_list = #{comUserList,jdbcType=VARCHAR}, @@ -187,4 +191,13 @@ + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityDiscountMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityDiscountMapper.xml index 35ed33cb..f5a96e19 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityDiscountMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityDiscountMapper.xml @@ -42,6 +42,9 @@ and ad.status=#{params.status} + + and ad.template_id=#{params.template} + @@ -195,4 +198,20 @@ + + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml index 651be528..ee692a6d 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml @@ -61,6 +61,18 @@ + + insert into xhpc_activity_formula (activity_id, start_time, end_time, + service_price, compute_formula, create_time, create_by, + update_time, update_by) values + + (#{domain.activityId}, #{domain.startTime}, #{domain.endTime}, + #{domain.servicePrice}, #{domain.computeFormula}, sysdate(), #{domain.createBy}, + sysdate(), #{domain.updateBy}) + + + + update xhpc_activity_formula set activity_id = #{activityId,jdbcType=INTEGER}, diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml index 20df3925..15ac092e 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml @@ -40,6 +40,7 @@ and status=#{params.status} + order by field(`status`, 1,3,4,2) asc, create_time desc @@ -63,6 +64,17 @@ + + + update xhpc_activity_internet set del_flag=2 @@ -120,7 +132,7 @@ update xhpc_activity_internet - set `status` = #{status,jdbcType=SMALLINT}, + set `status` = #{status,jdbcType=SMALLINT}, check_by = #{updateBy,jdbcType=VARCHAR}, check_time = sysdate() where activity_id = #{activityId,jdbcType=INTEGER} diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityRecordMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityRecordMapper.xml index 068e95c8..cf2578f2 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityRecordMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityRecordMapper.xml @@ -5,7 +5,7 @@ - + @@ -19,7 +19,7 @@ select from xhpc_activity_record - where activity_type=#{activityType} and activity_id=#{activityId} and user_id=#{userId} + where activity_type=#{activityType} and activity_id=#{activityId} and source=#{source} and user_id=#{userId} @@ -93,7 +93,21 @@ - + + insert into xhpc_activity_record + (activity_type, activity_id, `source`, + user_id, amount, create_time) + values + + (#{domain.activityType}, #{domain.activityId}, #{domain.source}, + #{domain.userId + }, #{domain.amount}, sysdate() + ) + + + + + update xhpc_activity_record set activity_type = #{activityType,jdbcType=VARCHAR}, activity_id = #{activityId,jdbcType=INTEGER}, diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityTemplateMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityTemplateMapper.xml index e7b59fdf..47cb205b 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityTemplateMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityTemplateMapper.xml @@ -37,6 +37,7 @@ and status=#{params.status} + order by status asc, create_time desc diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcUserMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcUserMapper.xml new file mode 100644 index 00000000..961eacb2 --- /dev/null +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcUserMapper.xml @@ -0,0 +1,324 @@ + + + + + + + insert into xhpc_user_account_statement (user_id, amount, remaining_sum, + charge_order_id, recharge_order_id, refund_order_id, + `type`, `status`, del_flag, + create_time, create_by, update_time, + update_by, remark, tenant_id, + `source`) + values + + (#{domain.userId}, #{domain.amount}, #{domain.remainingSum}, + #{domain.chargeOrderId}, #{domain.rechargeOrderId}, #{domain.refundOrderId}, + #{domain.type}, #{domain.status}, 0, + sysdate(), #{domain.createBy}, sysdate(), + #{domain.updateBy}, #{domain.remark}, #{domain.tenantId}, + #{domain.source}) + + + + + + insert into xhpc_user_account_statement (user_id, amount, remaining_sum, + charge_order_id, recharge_order_id, refund_order_id, + `type`, `status`, del_flag, + create_time, create_by, update_time, + update_by, remark, tenant_id, + `source`) + values + (#{domain.userId}, #{domain.amount}, #{domain.remainingSum}, + #{domain.chargeOrderId}, #{domain.rechargeOrderId}, #{domain.refundOrderId}, + #{domain.type}, #{domain.status}, 0, + sysdate(), #{domain.createBy}, sysdate(), + #{domain.updateBy}, #{domain.remark}, #{domain.tenantId}, + #{domain.source}) + + + + + + update xhpc_app_user set balance=#{domain.balance} where app_user_id=#{domain.appUserId} + + + + + + + update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney} + where community_personnel_id=#{domain.communityPersonnelId} + + + + + + + update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney} + where xhpc_customers_personnel=#{domain.customersPersonnelId} + + + + + + update xhpc_app_user set balance=#{domain.balance} where app_user_id=#{domain.appUserId} + + + + + update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney} + where community_personnel_id=#{domain.communityPersonnelId} + + + + + + update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney} + where xhpc_customers_personnel=#{domain.customersPersonnelId} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file