更新红包活动自动发送,折扣模板重复使用
This commit is contained in:
parent
4f45aa8e58
commit
03f8acb909
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ public class XhpcActivityRecordDomain implements Serializable {
|
||||
/**
|
||||
* 人员类型(0 C端用户 1 流量方用户 2社区用户 3B端用户)
|
||||
*/
|
||||
private Short source;
|
||||
private Integer source;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -36,4 +36,7 @@ public interface XhpcActivityCashMapper {
|
||||
List<Map<String, Object>> selectBUserListByUserIds(@Param("userIds") String userIds);
|
||||
|
||||
List<Map<String, Object>> selectUserListByParams(@Param("params")Map params);
|
||||
|
||||
|
||||
List<XhpcActivityCashDomain> selectCheckedPassAndAutoReceive();
|
||||
}
|
||||
@ -11,6 +11,10 @@ public interface XhpcActivityDiscountMapper {
|
||||
|
||||
List<XhpcActivityDiscountDomain> selectByParams(@Param("params") Map<String, Object> params);
|
||||
|
||||
List<XhpcActivityDiscountDomain> selectByTemplateIdAndStatus(@Param("templateId") Integer templateId, @Param("status")Integer status);
|
||||
|
||||
List<XhpcActivityDiscountDomain> selectByTemplateIdAndDelflag(@Param("templateId") Integer templateId, @Param("delflag")Integer status);
|
||||
|
||||
List<Map<String,Object>> selectNameMapList(@Param("params")Map<String, Object> params);
|
||||
|
||||
int deleteLogicByPrimaryKey(Integer activity_id);
|
||||
|
||||
@ -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<XhpcActivityFormulaDomain> domainList);
|
||||
|
||||
XhpcActivityFormulaDomain selectByPrimaryKey(Long activityFormulaId);
|
||||
|
||||
int updateByPrimaryKey(XhpcActivityFormulaDomain record);
|
||||
|
||||
@ -27,4 +27,6 @@ public interface XhpcActivityInternetMapper {
|
||||
|
||||
int checkByPrimaryKey(XhpcActivityInternetDomain record);
|
||||
|
||||
List<XhpcActivityInternetDomain> selectByDateBetween(@Param("startTime")String startTime, @Param("endTime")String endTime);
|
||||
|
||||
}
|
||||
@ -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<XhpcActivityRecordDomain> selectByActivity(@Param("activityType") String activityType,
|
||||
@ -23,6 +24,8 @@ public interface XhpcActivityRecordMapper {
|
||||
|
||||
int insert(XhpcActivityRecordDomain record);
|
||||
|
||||
int insertBatch(@Param("domainList") List<XhpcActivityRecordDomain> domainList);
|
||||
|
||||
XhpcActivityRecordDomain selectByPrimaryKey(Long activity_record_id);
|
||||
|
||||
int updateByPrimaryKey(XhpcActivityRecordDomain record);
|
||||
|
||||
@ -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<XhpcAppUserDomain> selectAppUsersById(@Param("userIds") String userIds);
|
||||
|
||||
List<XhpcAppUserDomain> selectAppUsersByPhone(@Param("phones") String phones);
|
||||
|
||||
List<XhpcAppUserDomain> selectAppUsersAll();
|
||||
|
||||
int updateBatchAppUser(@Param("domainList") List<XhpcAppUserDomain> domainList);
|
||||
|
||||
int updateAppUser(@Param("domain") XhpcAppUserDomain domain);
|
||||
|
||||
|
||||
// 社区用户 ==================
|
||||
XhpcCommunityPersonnelDomain selectComUserById(@Param("userId") String userId);
|
||||
|
||||
XhpcCommunityPersonnelDomain selectComUserByAccount(@Param("account") String account);
|
||||
|
||||
List<XhpcCommunityPersonnelDomain> selectComUsersById(@Param("userIds") String userIds);
|
||||
|
||||
List<XhpcCommunityPersonnelDomain> selectComUsersByAccount(@Param("accounts") String accounts);
|
||||
|
||||
List<XhpcCommunityPersonnelDomain> selectComUsersAll();
|
||||
|
||||
int updateBatchComUser(@Param("domainList") List<XhpcCommunityPersonnelDomain> domainList);
|
||||
|
||||
int updateComUser(@Param("domain") XhpcCommunityPersonnelDomain domain);
|
||||
|
||||
|
||||
// B端用户 =====================
|
||||
XhpcCustomersPersonnelDomain selectCusUserById(@Param("userId") String userId);
|
||||
|
||||
XhpcCustomersPersonnelDomain selectCusUserByAccount(@Param("account") String account);
|
||||
|
||||
List<XhpcCustomersPersonnelDomain> selectCusUsersById(@Param("userIds") String userIds);
|
||||
|
||||
List<XhpcCustomersPersonnelDomain> selectCusUsersByAccount(@Param("accounts") String accounts);
|
||||
|
||||
List<XhpcCustomersPersonnelDomain> selectCusUsersAll();
|
||||
|
||||
int updateBatchCusUser(@Param("domainList") List<XhpcCustomersPersonnelDomain> domainList);
|
||||
|
||||
int updateCusUser(@Param("domain")XhpcCustomersPersonnelDomain domain);
|
||||
|
||||
|
||||
// 流水日志 ========================
|
||||
int insertStatementBatch(@Param("domainList")List<XhpcUserAccountStatementDomain> domainList);
|
||||
|
||||
int insertStatement(@Param("domain") XhpcUserAccountStatementDomain domain);
|
||||
}
|
||||
@ -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<XhpcActivityCashDomain> getPage(Map<String, Object> params){
|
||||
public List<XhpcActivityCashDomain> getPage(Map<String, Object> params) {
|
||||
|
||||
List<XhpcActivityCashDomain> domainList = cashMapper.selectByParams(params);
|
||||
|
||||
@ -43,12 +46,12 @@ public class XhpcActivityCashServiceImpl extends BaseService implements XhpcActi
|
||||
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getNameList(Map<String, Object> params){
|
||||
public List<Map<String, Object>> getNameList(Map<String, Object> params) {
|
||||
return cashMapper.selectNameMapList(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public XhpcActivityCashDomain getDomainByPk(Integer activityId){
|
||||
public XhpcActivityCashDomain getDomainByPk(Integer activityId) {
|
||||
XhpcActivityCashDomain domain = cashMapper.selectByPrimaryKey(activityId);
|
||||
List<XhpcActivityImgDomain> 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<Map<String, Object>> getUserList(Map<String, Object> params){
|
||||
public List<Map<String, Object>> getUserList(Map<String, Object> 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<Map<String, Object>> getReceivePage(Map<String, Object> params){
|
||||
public List<Map<String, Object>> getReceivePage(Map<String, Object> 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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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<XhpcActivityFormulaDomain> formulaDomainList = domain.getFormulaList();
|
||||
List<XhpcActivityFormulaDomain> 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<XhpcActivityInternetDomain> domainList = internetMapper.selectByDateBetween(startTime, endTime);
|
||||
if(domainList.size() > 0 && domain.getStatus().equals(Short.valueOf("3"))){
|
||||
throw new CustomException("生效时段存在其他已生效的活动");
|
||||
}
|
||||
|
||||
return internetMapper.checkByPrimaryKey(domain) > 0;
|
||||
}
|
||||
|
||||
|
||||
@ -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<XhpcActivityDiscountDomain> 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<XhpcActivityDiscountDomain> domainList = discountMapper.selectByTemplateIdAndDelflag(templateId, 0);
|
||||
if(domainList.size() > 0){
|
||||
throw new CustomException("存在尚未删除的折扣活动,请先删除使用该模版的折扣活动");
|
||||
}
|
||||
|
||||
return templateMapper.deleteLogicByPrimaryKey(templateId) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<XhpcActivityCashDomain> cashDomainList = cashMapper.selectCheckedPassAndAutoReceive();
|
||||
for (XhpcActivityCashDomain cashDomain : cashDomainList) {
|
||||
|
||||
|
||||
List<XhpcActivityRecordDomain> recordDomainList = new ArrayList<>();
|
||||
List<XhpcUserAccountStatementDomain> userAccountStatementDomainList = new ArrayList<>();
|
||||
if (cashDomain.getAutoReceive() == 1) {
|
||||
// 自动领取
|
||||
if (!StringUtils.isEmpty(cashDomain.getAppUserList())) {
|
||||
List<XhpcAppUserDomain> 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<XhpcCommunityPersonnelDomain> 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<XhpcCustomersPersonnelDomain> 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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -6,6 +6,8 @@
|
||||
<result column="activity_name" jdbcType="VARCHAR" property="activityName" />
|
||||
<result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
|
||||
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
|
||||
<result column="auto_receive" property="autoReceive" />
|
||||
<result column="auto_status" property="autoStatus" />
|
||||
<result column="amount" jdbcType="DECIMAL" property="amount" />
|
||||
<result column="receive_count" jdbcType="INTEGER" property="receiveCount" />
|
||||
<result column="app_user_list" jdbcType="VARCHAR" property="appUserList" />
|
||||
@ -22,7 +24,7 @@
|
||||
<result column="check_time" jdbcType="TIMESTAMP" property="checkTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
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
|
||||
</sql>
|
||||
@ -39,6 +41,7 @@
|
||||
<if test="params.status!=null and params.status !=''">
|
||||
and status=#{params.status}
|
||||
</if>
|
||||
order by field(`status`, 1,3,4,2) asc, create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
@ -75,13 +78,13 @@
|
||||
|
||||
|
||||
<insert id="insert" keyColumn="activity_id" keyProperty="activityId" parameterType="com.xhpc.activity.domain.XhpcActivityCashDomain" useGeneratedKeys="true">
|
||||
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 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectCheckedPassAndAutoReceive" resultType="com.xhpc.activity.domain.XhpcActivityCashDomain">
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from xhpc_activity_cash
|
||||
where del_flag=0 and status=3 and auto_receive=1 and auto_status=0
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -42,6 +42,9 @@
|
||||
<if test="params.status!= null and params.status!=''">
|
||||
and ad.status=#{params.status}
|
||||
</if>
|
||||
<if test="params.templateId!= null and params.templateId!=''">
|
||||
and ad.template_id=#{params.template}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
@ -195,4 +198,20 @@
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectByTemplateIdAndStatus" resultType="com.xhpc.activity.domain.XhpcActivityDiscountDomain">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from xhpc_activity_discount ad
|
||||
where ad.del_flag=0 and ad.status=#{status} and ad.template_id=#{params.template}
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectByTemplateIdAndDelflag" resultType="com.xhpc.activity.domain.XhpcActivityDiscountDomain">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from xhpc_activity_discount ad
|
||||
where ad.del_flag=#{delflag} and ad.template_id=#{params.template}
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
@ -61,6 +61,18 @@
|
||||
</insert>
|
||||
|
||||
|
||||
<insert id="insertBatch">
|
||||
insert into xhpc_activity_formula (activity_id, start_time, end_time,
|
||||
service_price, compute_formula, create_time, create_by,
|
||||
update_time, update_by) values
|
||||
<foreach collection="domainList" separator="," item="domain" index="index">
|
||||
(#{domain.activityId}, #{domain.startTime}, #{domain.endTime},
|
||||
#{domain.servicePrice}, #{domain.computeFormula}, sysdate(), #{domain.createBy},
|
||||
sysdate(), #{domain.updateBy})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateByPrimaryKey" parameterType="com.xhpc.activity.domain.XhpcActivityFormulaDomain">
|
||||
update xhpc_activity_formula
|
||||
set activity_id = #{activityId,jdbcType=INTEGER},
|
||||
|
||||
@ -40,6 +40,7 @@
|
||||
<if test="params.status!= null and params.status!=''">
|
||||
and status=#{params.status}
|
||||
</if>
|
||||
order by field(`status`, 1,3,4,2) asc, create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
@ -63,6 +64,17 @@
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectByDateBetween" resultType="com.xhpc.activity.domain.XhpcActivityInternetDomain">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM `xhpc_activity_internet`
|
||||
WHERE `status` = 3
|
||||
and ((#{startTime} BETWEEN start_time and end_time)
|
||||
OR
|
||||
(#{endTime} BETWEEN start_time and end_time))
|
||||
</select>
|
||||
|
||||
|
||||
<update id="deleteLogicByPrimaryKey" parameterType="java.lang.Integer">
|
||||
update xhpc_activity_internet
|
||||
set del_flag=2
|
||||
@ -120,7 +132,7 @@
|
||||
|
||||
<update id="checkByPrimaryKey" parameterType="com.xhpc.activity.domain.XhpcActivityInternetDomain">
|
||||
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}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<id column="activity_record_id" jdbcType="BIGINT" property="activityRecordId" />
|
||||
<result column="activity_type" jdbcType="VARCHAR" property="activityType" />
|
||||
<result column="activity_id" jdbcType="INTEGER" property="activityId" />
|
||||
<result column="source" jdbcType="SMALLINT" property="source" />
|
||||
<result column="source" jdbcType="INTEGER" property="source" />
|
||||
<result column="user_id" jdbcType="VARCHAR" property="userId" />
|
||||
<result column="amount" jdbcType="DECIMAL" property="amount" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
@ -19,7 +19,7 @@
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
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}
|
||||
</select>
|
||||
|
||||
|
||||
@ -93,7 +93,21 @@
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateByPrimaryKey" parameterType="com.xhpc.activity.domain.XhpcActivityRecordDomain">
|
||||
<insert id="insertBatch">
|
||||
insert into xhpc_activity_record
|
||||
(activity_type, activity_id, `source`,
|
||||
user_id, amount, create_time)
|
||||
values
|
||||
<foreach collection="domainList" index="index" item="domain" separator=",">
|
||||
(#{domain.activityType}, #{domain.activityId}, #{domain.source},
|
||||
#{domain.userId
|
||||
}, #{domain.amount}, sysdate()
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateByPrimaryKey" parameterType="com.xhpc.activity.domain.XhpcActivityRecordDomain">
|
||||
update xhpc_activity_record
|
||||
set activity_type = #{activityType,jdbcType=VARCHAR},
|
||||
activity_id = #{activityId,jdbcType=INTEGER},
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
<if test="params.status!=null and params.status !=''">
|
||||
and status=#{params.status}
|
||||
</if>
|
||||
order by status asc, create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,324 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.xhpc.activity.mapper.XhpcUserMapper">
|
||||
|
||||
|
||||
<insert id="insertStatementBatch" parameterType="list">
|
||||
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
|
||||
<foreach collection="domainList" separator="," item="domain" index="index">
|
||||
(#{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})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<insert id="insertStatement" >
|
||||
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>
|
||||
|
||||
|
||||
<update id="updateBatchAppUser" parameterType="list">
|
||||
<foreach collection="domainList" index="index" item="domain" separator=";">
|
||||
update xhpc_app_user set balance=#{domain.balance} where app_user_id=#{domain.appUserId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateBatchComUser" parameterType="list">
|
||||
<foreach collection="domainList" index="index" item="domain" separator=";">
|
||||
update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney}
|
||||
where community_personnel_id=#{domain.communityPersonnelId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateBatchCusUser" parameterType="list">
|
||||
<foreach collection="domainList" index="index" item="domain" separator=";">
|
||||
update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney}
|
||||
where xhpc_customers_personnel=#{domain.customersPersonnelId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateAppUser">
|
||||
update xhpc_app_user set balance=#{domain.balance} where app_user_id=#{domain.appUserId}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateComUser">
|
||||
update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney}
|
||||
where community_personnel_id=#{domain.communityPersonnelId}
|
||||
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateCusUser">
|
||||
update xhpc_community_personnel set red_packet=#{domain.redPacket}, surplus_money=#{domain.surplusMoney}
|
||||
where xhpc_customers_personnel=#{domain.customersPersonnelId}
|
||||
|
||||
</update>
|
||||
|
||||
|
||||
<select id="selectAppUserById" resultType="com.xhpc.activity.domain.XhpcAppUserDomain">
|
||||
select app_user_id, phone, balance, `status`, tenant_id, del_flag
|
||||
from xhpc_app_user
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and app_user_id = #{userId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectAppUserByPhone" resultType="com.xhpc.activity.domain.XhpcAppUserDomain">
|
||||
select app_user_id, phone, balance, `status`, tenant_id, del_flag
|
||||
from xhpc_app_user
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and phone = #{phone}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectAppUsersById" resultType="com.xhpc.activity.domain.XhpcAppUserDomain">
|
||||
select app_user_id, phone, balance, `status`, tenant_id, del_flag
|
||||
from xhpc_app_user
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and find_in_set(app_user_id, #{userIds})
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectAppUsersByPhone" resultType="com.xhpc.activity.domain.XhpcAppUserDomain">
|
||||
select app_user_id, phone, balance, `status`, tenant_id, del_flag
|
||||
from xhpc_app_user
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and find_in_set(phone, #{phones})
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectAppUsersAll" resultType="com.xhpc.activity.domain.XhpcAppUserDomain">
|
||||
select app_user_id, phone, balance, `status`, tenant_id, del_flag
|
||||
from xhpc_app_user
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectComUserById" resultType="com.xhpc.activity.domain.XhpcCommunityPersonnelDomain">
|
||||
select community_personnel_id,
|
||||
community_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_community_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and community_personnel_id = #{userId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectComUserByAccount" resultType="com.xhpc.activity.domain.XhpcCommunityPersonnelDomain">
|
||||
select community_personnel_id,
|
||||
community_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_community_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and account = #{account}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectComUsersById" resultType="com.xhpc.activity.domain.XhpcCommunityPersonnelDomain">
|
||||
select community_personnel_id,
|
||||
community_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_community_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and find_in_set(community_personnel_id, #{userIds})
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectComUsersByAccount" resultType="com.xhpc.activity.domain.XhpcCommunityPersonnelDomain">
|
||||
select community_personnel_id,
|
||||
community_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_community_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and find_in_set(account, #{accounts})
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectComUsersAll" resultType="com.xhpc.activity.domain.XhpcCommunityPersonnelDomain">
|
||||
select community_personnel_id,
|
||||
community_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_community_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectCusUserById" resultType="com.xhpc.activity.domain.XhpcCustomersPersonnelDomain">
|
||||
select customers_personnel_id,
|
||||
customers_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_customers_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and customers_personnel_id = #{userId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectCusUserByAccount" resultType="com.xhpc.activity.domain.XhpcCustomersPersonnelDomain">
|
||||
select customers_personnel_id,
|
||||
customers_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_customers_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and account = #{account}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectCusUsersById" resultType="com.xhpc.activity.domain.XhpcCustomersPersonnelDomain">
|
||||
select customers_personnel_id,
|
||||
customers_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_customers_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and find_in_set(customers_personnel_id, #{userIds})
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectCusUsersByAccount" resultType="com.xhpc.activity.domain.XhpcCustomersPersonnelDomain">
|
||||
select customers_personnel_id,
|
||||
customers_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_customers_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
and find_in_set(account, #{accounts})
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectCusUsersAll" resultType="com.xhpc.activity.domain.XhpcCustomersPersonnelDomain">
|
||||
select customers_personnel_id,
|
||||
customers_id,
|
||||
name,
|
||||
account,
|
||||
recharge_money,
|
||||
consume_money,
|
||||
red_packet,
|
||||
surplus_money,
|
||||
phone,
|
||||
status,
|
||||
del_flag,
|
||||
tenant_id
|
||||
from xhpc_customers_personnel
|
||||
where status = 0
|
||||
and del_flag = 0
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
x
Reference in New Issue
Block a user