Commit 299603ff authored by libin's avatar libin

Merge remote-tracking branch 'origin/dev' into dev

parents 169aae70 3dbdf86c
...@@ -26,8 +26,7 @@ public class AppUserPositionTempDTO { ...@@ -26,8 +26,7 @@ public class AppUserPositionTempDTO {
@ApiModelProperty(value = "姓名") @ApiModelProperty(value = "姓名")
private String name; private String name;
@ApiModelProperty(value = "身份id")
@ApiModelProperty(value = "身份id")
private Integer positionId; private Integer positionId;
@ApiModelProperty(value = "员工职位id") @ApiModelProperty(value = "员工职位id")
...@@ -48,6 +47,9 @@ public class AppUserPositionTempDTO { ...@@ -48,6 +47,9 @@ public class AppUserPositionTempDTO {
@ApiModelProperty(value = "是否删除:0-正常;1-删除") @ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel; private Integer isDel;
@ApiModelProperty(value = "员工职位状态:0-正常;1-离职")
private Integer isQuit;
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id")
private Integer userId; private Integer userId;
......
...@@ -76,4 +76,8 @@ public class AppUserPositionTemp implements Serializable { ...@@ -76,4 +76,8 @@ public class AppUserPositionTemp implements Serializable {
private Integer isDel; private Integer isDel;
@Column(name = "is_quit")
@ApiModelProperty(value = "员工职位状态:0-正常;1-离职")
private Integer isQuit;
} }
...@@ -51,4 +51,7 @@ public class AppUserPositionTempVo { ...@@ -51,4 +51,7 @@ public class AppUserPositionTempVo {
@ApiModelProperty(value = "分公司名称") @ApiModelProperty(value = "分公司名称")
private String companyName; private String companyName;
@ApiModelProperty(value = "员工职位状态 0:在职 1:离职")
private Integer idQuit;
} }
...@@ -66,14 +66,14 @@ public class AppStaffUserBiz extends BaseBiz<AppStaffUserMapper, AppStaffUser> { ...@@ -66,14 +66,14 @@ public class AppStaffUserBiz extends BaseBiz<AppStaffUserMapper, AppStaffUser> {
BeanUtils.copyProperties(staffUser, appStaffUserVo); BeanUtils.copyProperties(staffUser, appStaffUserVo);
Integer suId = staffUser.getSuId(); Integer suId = staffUser.getSuId();
//上级员工信息 //上级员工信息
if (suId!=null||suId!=0||appStaffUser.getPhone()!=null){ if (suId != null && suId != 0 && appStaffUser.getPhone() != null){
AppUserVo spuser = appUserDetailBiz.getUserInfoById(suId); AppUserVo spuser = appUserDetailBiz.getUserInfoById(suId);
appStaffUserVo.setEmployeeName(spuser.getRealname()); appStaffUserVo.setEmployeeName(spuser.getRealname());
appStaffUserVo.setEmployeePhone(spuser.getUsername()); appStaffUserVo.setEmployeePhone(spuser.getUsername());
} }
//客户信息 //客户信息
Integer uid = staffUser.getUid(); Integer uid = staffUser.getUid();
if (uid!=null||uid!=0){ if (uid != null && uid > 0){
AppUserVo user = appUserDetailBiz.getUserInfoById(uid); AppUserVo user = appUserDetailBiz.getUserInfoById(uid);
appStaffUserVo.setUName(StringUtil.isEmpty(user.getRealname())?user.getNickname():user.getRealname()); appStaffUserVo.setUName(StringUtil.isEmpty(user.getRealname())?user.getNickname():user.getRealname());
appStaffUserVo.setPhone(user.getUsername()); appStaffUserVo.setPhone(user.getUsername());
......
...@@ -49,7 +49,7 @@ public class AppUserPositionChangeRecordBiz extends BaseBiz<AppUserPositionChang ...@@ -49,7 +49,7 @@ public class AppUserPositionChangeRecordBiz extends BaseBiz<AppUserPositionChang
public void addPositionChangeRecord(AppUserPositionTemp userPositionTemp, AppUserPositionTemp oldData, Integer operatorId, Timestamp relTime) { public void addPositionChangeRecord(AppUserPositionTemp userPositionTemp, AppUserPositionTemp oldData, Integer operatorId, Timestamp relTime) {
AppUserPositionChangeRecord appUserPositionChangeRecord = new AppUserPositionChangeRecord(); AppUserPositionChangeRecord appUserPositionChangeRecord = new AppUserPositionChangeRecord();
if (!(userPositionTemp.getIsDel().equals(oldData.getIsDel()))) { if (!(userPositionTemp.getIsQuit().equals(oldData.getIsQuit()))) {
appUserPositionChangeRecord.setJobRemark(USER_LEAVE_COMPANT); appUserPositionChangeRecord.setJobRemark(USER_LEAVE_COMPANT);
} }
......
...@@ -168,6 +168,7 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A ...@@ -168,6 +168,7 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
String jobName = jobMap == null ? "" : jobMap.get(appUserPositionTemp.getJobId()) == null ? "" : jobMap.get(appUserPositionTemp.getJobId()).getName(); String jobName = jobMap == null ? "" : jobMap.get(appUserPositionTemp.getJobId()) == null ? "" : jobMap.get(appUserPositionTemp.getJobId()).getName();
appUserPositionTempVo.setPositionName(postionName); appUserPositionTempVo.setPositionName(postionName);
appUserPositionTempVo.setJobName(jobName); appUserPositionTempVo.setJobName(jobName);
appUserPositionTempVo.setIdQuit(appUserPositionTemp.getIsQuit());
appUserPositionTempVo.setStatus(appUserPositionTemp.getUserId() == null ? DataStatus.NO_USERED.code : appUserPositionTemp.getUserId() == 0 ? DataStatus.NO_USERED.code : DataStatus.USERED.code); appUserPositionTempVo.setStatus(appUserPositionTemp.getUserId() == null ? DataStatus.NO_USERED.code : appUserPositionTemp.getUserId() == 0 ? DataStatus.NO_USERED.code : DataStatus.USERED.code);
appUserPositionTempVos.add(appUserPositionTempVo); appUserPositionTempVos.add(appUserPositionTempVo);
} }
...@@ -421,8 +422,7 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A ...@@ -421,8 +422,7 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
* 员工复职 * 员工复职
*/ */
public ObjectRestResponse andAddUserPositionChangeRecord(AppUserPositionTempDTO appUserPositionTempDTO, Integer operatorId) { public ObjectRestResponse andAddUserPositionChangeRecord(AppUserPositionTempDTO appUserPositionTempDTO, Integer operatorId) {
if (appUserPositionTempDTO == null || StringUtils.isBlank(appUserPositionTempDTO.getPhone()) || StringUtils.isBlank(appUserPositionTempDTO.getName()) if (appUserPositionTempDTO == null || StringUtils.isBlank(appUserPositionTempDTO.getPhone())) {
) {
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "参数不能为空"); return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE, "参数不能为空");
} }
AppUserPositionTemp userPositionTemp = new AppUserPositionTemp(); AppUserPositionTemp userPositionTemp = new AppUserPositionTemp();
......
...@@ -24,4 +24,6 @@ public class ActivityLuckDrawFindDTO extends PageParam { ...@@ -24,4 +24,6 @@ public class ActivityLuckDrawFindDTO extends PageParam {
private Date endTime; private Date endTime;
private String phone; private String phone;
private Integer activityId; private Integer activityId;
private String parentPhone;
} }
package com.xxfc.platform.activity.vo;
import com.xxfc.platform.activity.entity.ActivityLuckyDraw;
import lombok.Data;
@Data
public class ActivityLuckyDrawListVo extends ActivityLuckyDraw {
private String positionName;
private String parentPhone;
private String parentName;
}
package com.xxfc.platform.activity.biz; package com.xxfc.platform.activity.biz;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.excel.ExcelUtils; import com.github.wxiaoqi.security.common.util.excel.ExcelUtils;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO; import com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO;
import com.xxfc.platform.activity.entity.ActivityLuckyDraw;
import com.xxfc.platform.activity.mapper.ActivityLuckyDrawMapper;
import com.xxfc.platform.activity.vo.ActivityLuckyDrawListVo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxfc.platform.activity.entity.ActivityLuckyDraw;
import com.xxfc.platform.activity.mapper.ActivityLuckyDrawMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
...@@ -50,7 +51,7 @@ public class ActivityLuckyDrawBiz extends BaseBiz<ActivityLuckyDrawMapper, Activ ...@@ -50,7 +51,7 @@ public class ActivityLuckyDrawBiz extends BaseBiz<ActivityLuckyDrawMapper, Activ
* *
* @param activityLuckDrawFindDTO * @param activityLuckDrawFindDTO
* @return * @return
*/ */
public PageDataVO<ActivityLuckyDraw> listLuckDrawWithPage(ActivityLuckDrawFindDTO activityLuckDrawFindDTO) { public PageDataVO<ActivityLuckyDraw> listLuckDrawWithPage(ActivityLuckDrawFindDTO activityLuckDrawFindDTO) {
PageDataVO<ActivityLuckyDraw> dataVO = PageDataVO.pageInfo(activityLuckDrawFindDTO.getPage(), activityLuckDrawFindDTO.getLimit(), () -> mapper.listLuckDrawWithPage(activityLuckDrawFindDTO)); PageDataVO<ActivityLuckyDraw> dataVO = PageDataVO.pageInfo(activityLuckDrawFindDTO.getPage(), activityLuckDrawFindDTO.getLimit(), () -> mapper.listLuckDrawWithPage(activityLuckDrawFindDTO));
List<ActivityLuckyDraw> data = dataVO.getData(); List<ActivityLuckyDraw> data = dataVO.getData();
...@@ -106,4 +107,15 @@ public class ActivityLuckyDrawBiz extends BaseBiz<ActivityLuckyDrawMapper, Activ ...@@ -106,4 +107,15 @@ public class ActivityLuckyDrawBiz extends BaseBiz<ActivityLuckyDrawMapper, Activ
} }
return activityLuckyDraws; return activityLuckyDraws;
} }
public ObjectRestResponse<PageDataVO<ActivityLuckyDrawListVo>> getAll(ActivityLuckDrawFindDTO activityLuckDrawFindDTO) {
Integer page = activityLuckDrawFindDTO.getPage() == null ? 1 : activityLuckDrawFindDTO.getPage();
Integer limit = activityLuckDrawFindDTO.getLimit() == null ? 10 : activityLuckDrawFindDTO.getLimit();
activityLuckDrawFindDTO.setPage(page);
activityLuckDrawFindDTO.setLimit(limit);
Query query = new Query(activityLuckDrawFindDTO);
PageDataVO<ActivityLuckyDrawListVo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getAllByPage(query.getSuper()));
return ObjectRestResponse.succ(pageDataVO);
//添加个人积分状态
}
} }
\ No newline at end of file
...@@ -11,18 +11,22 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign; ...@@ -11,18 +11,22 @@ import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant; import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant;
import com.xxfc.platform.activity.config.RedissonLock;
import com.xxfc.platform.activity.dto.ApLogDTO; import com.xxfc.platform.activity.dto.ApLogDTO;
import com.xxfc.platform.activity.entity.*; import com.xxfc.platform.activity.entity.*;
import com.xxfc.platform.activity.mapper.ActivityPopularizeMapper; import com.xxfc.platform.activity.mapper.ActivityPopularizeMapper;
import com.xxfc.platform.universal.feign.MQSenderFeign; import com.xxfc.platform.universal.feign.MQSenderFeign;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
...@@ -36,144 +40,165 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TR ...@@ -36,144 +40,165 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TR
*/ */
@Service @Service
@Slf4j @Slf4j
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper, ActivityPopularize> { public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper, ActivityPopularize> {
@Autowired @Autowired
ActivityPopularizeRelationBiz relationBiz; ActivityPopularizeRelationBiz relationBiz;
@Autowired @Autowired
ActivityPopularizeBiz popularizeBiz; ActivityPopularizeBiz popularizeBiz;
@Autowired @Autowired
ActivityPopularizeUserBiz popularizeUserBiz; ActivityPopularizeUserBiz popularizeUserBiz;
@Autowired @Autowired
ActivityPopularizeLogBiz popularizeLogBiz; ActivityPopularizeLogBiz popularizeLogBiz;
@Autowired @Autowired
ActivityPopularizeItemBiz activityPopularizeItemBiz; ActivityPopularizeItemBiz activityPopularizeItemBiz;
@Autowired private final RedissonLock redissonLock;
UserFeign userFeign;
@Autowired @Autowired
MQSenderFeign mqSenderFeign; UserFeign userFeign;
public static final String POPULARIZE_0101 = "0101"; @Autowired
MQSenderFeign mqSenderFeign;
public static final String PREFIX = "P";
public static final String POPULARIZE_0101 = "0101";
public static final Integer INVITE_ITEMID = 3;
public static final String PREFIX = "P";
public void handleRegister(RegisterQueueDTO registerQueueDTO) {
log.info("活动码注册成功:registerQueueDTO = {}", registerQueueDTO.toString()); public static final Integer INVITE_ITEMID = 3;
if (StringUtils.isNotBlank(registerQueueDTO.getInParamDTO().getActivityCode())) {
String activityCode = registerQueueDTO.getInParamDTO().getActivityCode().replace(PREFIX, "").replace("p", ""); public void handleRegister(RegisterQueueDTO registerQueueDTO) {
AppUserDTO appUserDTO = userFeign.userDetailById(registerQueueDTO.getAppUserId()).getData(); log.info("活动码注册成功:registerQueueDTO = {}", registerQueueDTO.toString());
//获取活动code,并且注册来源是app 并且 非普通登录 if (StringUtils.isNotBlank(registerQueueDTO.getInParamDTO().getActivityCode())) {
if (!RegisterQueueDTO.SIGN_LOGIN.equals(registerQueueDTO.getSign()) && StringUtils.isNotBlank(activityCode)) { String activityCode = registerQueueDTO.getInParamDTO().getActivityCode().replace(PREFIX, "").replace("p", "");
//查询出活动 AppUserDTO appUserDTO = userFeign.userDetailById(registerQueueDTO.getAppUserId()).getData();
ActivityPopularize activityPopularize = popularizeBiz.selectOne(new ActivityPopularize() {{ //获取活动code,并且注册来源是app 并且 非普通登录
setCode(activityCode); if (!RegisterQueueDTO.SIGN_LOGIN.equals(registerQueueDTO.getSign()) && StringUtils.isNotBlank(activityCode)) {
}}); //查询出活动
log.info("活动邀请注册:activityPopularize = {}", activityPopularize.toString()); ActivityPopularize activityPopularize = popularizeBiz.selectOne(new ActivityPopularize() {{
if (activityPopularize != null) { setCode(activityCode);
List<ActivityPopularizeItem> activityPopularizeItems = activityPopularizeItemBiz.selectByPopularizeId(activityPopularize.getId()); }});
ActivityPopularizeItem activityPopularizeItem = activityPopularizeItems.get(activityPopularizeItems.size() - 1); log.info("活动邀请注册:activityPopularize = {}", activityPopularize.toString());
Date now = DateUtil.date(); if (activityPopularize != null) {
Date start = DateUtil.date(activityPopularize.getStartTime()); String lockKey = String.format("%s%d:%d:%d", registerQueueDTO.getAppUserId(), registerQueueDTO.getInParamDTO().getUsername(), activityPopularize.getId());
Date end = DateUtil.date(activityPopularize.getEndTime()); RLock rLock = redissonLock.getRLock(lockKey);
try {
//判断是否活动超时 boolean isSuccess = rLock.tryLock(5, 5, TimeUnit.SECONDS);
if (now.before(start) || now.after(end)) { if (isSuccess) {
log.error("不在活动范围内 入参Json:" + JSONUtil.toJsonStr(registerQueueDTO)); List<ActivityPopularizeItem> activityPopularizeItems = activityPopularizeItemBiz.selectByPopularizeId(activityPopularize.getId());
return; ActivityPopularizeItem activityPopularizeItem = activityPopularizeItems.get(activityPopularizeItems.size() - 1);
} Date now = DateUtil.date();
Date start = DateUtil.date(activityPopularize.getStartTime());
Integer majorUserId = Integer.valueOf(appUserDTO.getInviterAccount()); Date end = DateUtil.date(activityPopularize.getEndTime());
ActivityPopularizeRelation activityPopularizeRelation = new ActivityPopularizeRelation() {{
setMajorUserId(majorUserId); //判断是否活动超时
setPopularizeId(activityPopularize.getId()); if (now.before(start) || now.after(end)) {
}}; log.error("不在活动范围内 入参Json:" + JSONUtil.toJsonStr(registerQueueDTO));
return;
//新增第几个邀请人和邀请金额字段 }
Integer num = relationBiz.getByUserIdAndPopularizeId(activityPopularizeRelation);
Integer majorUserId = Integer.valueOf(appUserDTO.getInviterAccount());
double amount = 0; ActivityPopularizeRelation activityPopularizeRelation = new ActivityPopularizeRelation() {{
JSONObject jsonObject = JSONObject.parseObject(activityPopularizeItem.getDetail()); setMajorUserId(majorUserId);
if (jsonObject != null && StringUtils.isNotBlank(jsonObject.getString("detail"))) { setPopularizeId(activityPopularize.getId());
JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("detail")); }};
if (jsonArray != null) {
JSONObject jsonObject1 = jsonArray.getJSONObject(num - 1); //新增第几个邀请人和邀请金额字段
if (jsonObject1 != null) { Integer num = relationBiz.getByUserIdAndPopularizeId(activityPopularizeRelation);
double amountString = jsonObject1.getDouble("amount");
amount = amount + amountString; double amount = 0;
} JSONObject jsonObject = JSONObject.parseObject(activityPopularizeItem.getDetail());
} if (jsonObject != null && StringUtils.isNotBlank(jsonObject.getString("detail"))) {
} JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("detail"));
double a = amount; if (jsonArray != null) {
//添加活动关系 JSONObject jsonObject1 = jsonArray.getJSONObject(num - 1);
relationBiz.insertSelective(new ActivityPopularizeRelation() {{ if (jsonObject1 != null) {
setPopularizeId(activityPopularize.getId()); double amountString = jsonObject1.getDouble("amount");
setMajorUserId(majorUserId); amount = amount + amountString;
setMinorUserId(appUserDTO.getUserid()); }
setNum(num); }
setAmount(new BigDecimal(a)); }
}}); double a = amount;
//添加活动关系
ApLogDTO apLogDTO = popularizeLogBiz.selectOneApLogDTO(new ActivityPopularizeLog() {{ relationBiz.insertSelective(new ActivityPopularizeRelation() {{
setUserId(majorUserId); setPopularizeId(activityPopularize.getId());
setItemId(activityPopularizeItem.getId()); setMajorUserId(majorUserId);
}}); setMinorUserId(appUserDTO.getUserid());
setNum(num);
//生成任务项 setAmount(new BigDecimal(a));
if (null == apLogDTO) { }});
popularizeLogBiz.insertSelectiveRe(new ActivityPopularizeLog() {{
setItemId(activityPopularizeItem.getId()); ApLogDTO apLogDTO = popularizeLogBiz.selectOneApLogDTO(new ActivityPopularizeLog() {{
setUserId(majorUserId); setUserId(majorUserId);
setStatus(SYS_FALSE); setItemId(activityPopularizeItem.getId());
setPopularizeId(activityPopularize.getId()); }});
}});
} //生成任务项
if (null == apLogDTO) {
//查出majorUser参与活动信息 popularizeLogBiz.insertSelectiveRe(new ActivityPopularizeLog() {{
ActivityPopularizeUser activityPopularizeUser = popularizeUserBiz.selectOne(new ActivityPopularizeUser() {{ setItemId(activityPopularizeItem.getId());
setUserId(majorUserId); setUserId(majorUserId);
setPopularizeId(activityPopularize.getId()); setStatus(SYS_FALSE);
}}); setPopularizeId(activityPopularize.getId());
double currentProgress = activityPopularizeUser.getCurrentProgress().doubleValue(); }});
log.info("用户原活动进度:currentProgress = {}", activityPopularizeUser.toString()); }
currentProgress += Double.parseDouble(a + "");
BigDecimal bigDecimal = new BigDecimal(currentProgress); //查出majorUser参与活动信息
log.info("用户现活动进度:newCurrentProgress = {}", currentProgress); ActivityPopularizeUser activityPopularizeUser = popularizeUserBiz.selectOne(new ActivityPopularizeUser() {{
//修改当前进度 setUserId(majorUserId);
activityPopularizeUser.setCurrentProgress(bigDecimal); setPopularizeId(activityPopularize.getId());
popularizeUserBiz.updateSelectiveById(activityPopularizeUser); }});
//任务没有完成 double currentProgress = activityPopularizeUser.getCurrentProgress().doubleValue();
if (!SYS_TRUE.equals(activityPopularizeUser.getStatus())) { log.info("用户原活动进度:currentProgress = {}", currentProgress);
currentProgress += Double.parseDouble(a + "");
BigDecimal bigDecimal = new BigDecimal(currentProgress);
log.info("用户现活动进度:newCurrentProgress = {}", currentProgress);
//修改当前进度
activityPopularizeUser.setCurrentProgress(bigDecimal);
popularizeUserBiz.updateSelectiveById(activityPopularizeUser);
//任务没有完成 加锁
if (!SYS_TRUE.equals(activityPopularizeUser.getStatus())) {
// AwardDTO awardDTO = JSONUtil.toBean(activityPopularize.getValue(), AwardDTO.class); // AwardDTO awardDTO = JSONUtil.toBean(activityPopularize.getValue(), AwardDTO.class);
//检查是否满足奖励 //检查是否满足奖励
if (relationBiz.selectList(new ActivityPopularizeRelation() {{ if (relationBiz.selectList(new ActivityPopularizeRelation() {{
setMajorUserId(majorUserId); setMajorUserId(majorUserId);
setPopularizeId(activityPopularize.getId()); setPopularizeId(activityPopularize.getId());
}}).size() >= 10) { }}).size() >= 10 && popularizeUserBiz.selectCount(new ActivityPopularizeUser() {{
apLogDTO.setStatus(SYS_TRUE); setPopularizeId(activityPopularize.getId());
popularizeLogBiz.updateSelectiveById(BeanUtil.toBean(apLogDTO, ActivityPopularizeLog.class)); setCurrentProgress(new BigDecimal("50"));
activityPopularizeUser.setStatus(SYS_TRUE); }}) <= activityPopularize.getNumLimit()) {
popularizeUserBiz.updateSelectiveById(activityPopularizeUser); apLogDTO.setStatus(SYS_TRUE);
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_WALLET_ADD, JSONUtil.toJsonStr(new MyWalletDetail() {{ popularizeLogBiz.updateSelectiveById(BeanUtil.toBean(apLogDTO, ActivityPopularizeLog.class));
setAmount(new BigDecimal("50")); activityPopularizeUser.setStatus(SYS_TRUE);
setSource(SOURCE_ACTIVITY); popularizeUserBiz.updateSelectiveById(activityPopularizeUser);
setUserId(majorUserId);
setActivityId(activityPopularize.getId()); mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_WALLET_ADD, JSONUtil.toJsonStr(new MyWalletDetail() {{
setActivityName(activityPopularize.getName()); setAmount(new BigDecimal("50"));
setType(TYPE_POPULARIZE); setSource(SOURCE_ACTIVITY);
setItype(ITYPE_IN); setUserId(majorUserId);
}})); setActivityId(activityPopularize.getId());
} setActivityName(activityPopularize.getName());
} setType(TYPE_POPULARIZE);
} setItype(ITYPE_IN);
} }}));
} }
} }
} else {
// 获取锁失败
log.info("tryLock fail, key = [{}]", lockKey);
}
} catch (InterruptedException e) {
log.error("tryLock fail, key = [{}]", lockKey);
}
}
}
}
}
} }
\ No newline at end of file
...@@ -2,15 +2,11 @@ package com.xxfc.platform.activity.handler; ...@@ -2,15 +2,11 @@ package com.xxfc.platform.activity.handler;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO; import com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import com.xxfc.platform.activity.biz.ActivityPopularizeBiz; import com.xxfc.platform.activity.biz.ActivityPopularizeBiz;
import com.xxfc.platform.activity.biz.ActivityUserJoinBiz; import com.xxfc.platform.activity.biz.ActivityUserJoinBiz;
import com.xxfc.platform.activity.biz.IntegralUserRecordBiz;
import com.xxfc.platform.activity.config.RabbitActivityConfig; import com.xxfc.platform.activity.config.RabbitActivityConfig;
import com.xxfc.platform.activity.entity.ActivityPopularize;
import com.xxfc.platform.activity.vo.IntegralUserRecordDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
......
...@@ -2,9 +2,11 @@ package com.xxfc.platform.activity.mapper; ...@@ -2,9 +2,11 @@ package com.xxfc.platform.activity.mapper;
import com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO; import com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO;
import com.xxfc.platform.activity.entity.ActivityLuckyDraw; import com.xxfc.platform.activity.entity.ActivityLuckyDraw;
import com.xxfc.platform.activity.vo.ActivityLuckyDrawListVo;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 活动抽奖报名表 * 活动抽奖报名表
...@@ -16,4 +18,6 @@ import java.util.List; ...@@ -16,4 +18,6 @@ import java.util.List;
public interface ActivityLuckyDrawMapper extends Mapper<ActivityLuckyDraw> { public interface ActivityLuckyDrawMapper extends Mapper<ActivityLuckyDraw> {
List<ActivityLuckyDraw> listLuckDrawWithPage(ActivityLuckDrawFindDTO activityLuckDrawFindDTO); List<ActivityLuckyDraw> listLuckDrawWithPage(ActivityLuckDrawFindDTO activityLuckDrawFindDTO);
List<ActivityLuckyDrawListVo> getAllByPage(Map<String, Object> param);
} }
package com.xxfc.platform.activity.rest; package com.xxfc.platform.activity.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface; import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
...@@ -29,6 +30,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -29,6 +30,7 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -156,7 +158,14 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular ...@@ -156,7 +158,14 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
setUserId(getAppUser().getUserid()); setUserId(getAppUser().getUserid());
setPopularizeId(itemAddDTO.getPopularizeId()); setPopularizeId(itemAddDTO.getPopularizeId());
}}); }});
Date now = DateUtil.date();
Date start = DateUtil.date(ap.getStartTime());
Date end = DateUtil.date(ap.getEndTime());
//判断是否活动超时
if (now.before(start) || now.after(end)) {
return ObjectRestResponse.createFailedResult(2005,"活动已结束");
}
//添加用户活动关系 //添加用户活动关系
if(null == activityPopularizeUser) { if(null == activityPopularizeUser) {
activityPopularizeUser = popularizeUserBiz.insertSelectiveReT(new ActivityPopularizeUser(){{ activityPopularizeUser = popularizeUserBiz.insertSelectiveReT(new ActivityPopularizeUser(){{
......
package com.xxfc.platform.activity.rest.admin; package com.xxfc.platform.activity.rest.admin;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.activity.biz.ActivityLuckyDrawBiz; import com.xxfc.platform.activity.biz.ActivityLuckyDrawBiz;
import com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO; import com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO;
import com.xxfc.platform.activity.entity.ActivityLuckyDraw; import com.xxfc.platform.activity.vo.ActivityLuckyDrawListVo;
import com.github.wxiaoqi.security.common.exception.BaseException;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -38,9 +38,8 @@ public class ActivityLuckyDrawAdminController { ...@@ -38,9 +38,8 @@ public class ActivityLuckyDrawAdminController {
* @return * @return
*/ */
@PostMapping("/page") @PostMapping("/page")
public ObjectRestResponse<PageDataVO<ActivityLuckyDraw>> listActivtyLuckyDrawWithPage(@RequestBody ActivityLuckDrawFindDTO activityLuckDrawFindDTO) { public ObjectRestResponse<PageDataVO<ActivityLuckyDrawListVo>> listActivtyLuckyDrawWithPage(@RequestBody ActivityLuckDrawFindDTO activityLuckDrawFindDTO) {
PageDataVO<ActivityLuckyDraw> activityLuckyDrawPageDataVO = activityLuckyDrawBiz.listLuckDrawWithPage(activityLuckDrawFindDTO); return activityLuckyDrawBiz.getAll(activityLuckDrawFindDTO);
return ObjectRestResponse.succ(activityLuckyDrawPageDataVO);
} }
@PostMapping("/export") @PostMapping("/export")
......
...@@ -39,4 +39,32 @@ ...@@ -39,4 +39,32 @@
order by `crt_time` desc order by `crt_time` desc
</select> </select>
<select id="getAllByPage" resultType="com.xxfc.platform.activity.vo.ActivityLuckyDrawListVo" parameterType="Map">
select * from `activity_lucky_draw_list` where 1=1
<if test="activityId != null">
and `activity_id`=#{activityId}
</if>
<if test= "phone != null and phone != ''">
and `phone`=#{phone}
</if>
<if test="parentPhone!=null and parentPhone!=''">
and `parentPhone`=#{parentPhone}
</if>
<if test="startTime != null and endTime != null">
and `crt_time` between #{startTime} and #{endTime}
</if>
<if test="startTime != null and endTime == null">
and <![CDATA[
`crt_time` >= #{startTime}
]]>
</if>
<if test="startTime==null and endTime!=null">
and <![CDATA[
`crt_time`<=#{endTime}
]]>
</if>
order by `crt_time` desc
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment