提交 9969d290 作者: zhenjie

Merge branch 'develop'

package com.mmc.iuav.user.model.dto.activity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @author: zj
* @Date: 2023/10/16 14:49
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ActivityDTO implements Serializable {
private static final long serialVersionUID = -5184984402965050696L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "活动类型")
private Integer activityType;
@ApiModelProperty(value = "活动名称")
private String activityName;
@ApiModelProperty(value = "开始时间")
private Date startTime;
@ApiModelProperty(value = "结束时间")
private Date endTime;
@ApiModelProperty(value = "描述")
private String description;
@ApiModelProperty(value = "活动状态:0暂停, 1进行中")
private Integer activityStatus;
@ApiModelProperty(value = "奖励类型(0积分,1余额,2优惠券)")
private Integer rewardType;
@ApiModelProperty(value = "奖励额度")
private Integer rewardValue;
@ApiModelProperty(value = "人数限制")
private Integer requireNum;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "活动参与者集合")
private List<ActivityPartDTO> activityPartDTOS;
}
package com.mmc.iuav.user.model.dto.activity;
import com.mmc.iuav.user.model.dto.UserAccountSimpleDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/10/17 10:51
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ActivityPartDTO implements Serializable {
private static final long serialVersionUID = 2536974516884301653L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "活动id")
private Integer activityId;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "被邀请用户id")
private Integer pUserAccountId;
@ApiModelProperty(value = "邀请时间")
private Date createTime;
@ApiModelProperty(value = "用户信息")
private UserAccountSimpleDTO accountSimpleDTO;
@ApiModelProperty(value = "被邀请用户")
private UserAccountSimpleDTO pAccountSimpleDTO;
@ApiModelProperty(value = "奖励额度")
private Integer rewardValue;
}
package com.mmc.iuav.user.model.qo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.domain.Page;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/10/16 15:23
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ActivityQO implements Serializable {
private static final long serialVersionUID = -5184984402962050696L;
@ApiModelProperty(value = "活动id")
private Integer activityId;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "活动类型(0用户邀请活动)")
private Integer activityType;
@ApiModelProperty(value = "活动状态:0暂停, 1进行中")
private Integer activityStatus;
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true, example = "10")
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
......@@ -50,6 +50,9 @@ public class UserAccountQO implements Serializable {
@ApiModelProperty(value = "企业认证状态(0未通过,1通过)", example = "1")
private Integer companyAuthStatus;
@ApiModelProperty(value = "小猪结算认证(0未通过,1通过)", example = "1")
private Integer xzAuthStatus;
@ApiModelProperty(value = "电子签章认证状态(0未通过,1通过)", hidden = true)
private Integer entVerifyStatus;
......
package com.mmc.iuav.user.model.vo.activity;
import com.mmc.iuav.group.Insert;
import com.mmc.iuav.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/10/16 14:50
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ActivityVO implements Serializable {
private static final long serialVersionUID = -7232980603049531614L;
@ApiModelProperty(value = "id")
@NotNull(message = "id不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "活动类型")
@NotNull(message = "活动类型不能为空", groups = {Insert.class, Update.class})
private Integer activityType;
@ApiModelProperty(value = "活动名称")
@NotBlank(message = "活动名称不能为空", groups = {Insert.class, Update.class})
private String activityName;
@ApiModelProperty(value = "开始时间")
@NotNull(message = "活动开始时间不能为空", groups = {Insert.class, Update.class})
private Date startTime;
@ApiModelProperty(value = "结束时间")
@NotNull(message = "活动结束时间不能为空", groups = {Insert.class, Update.class})
private Date endTime;
@ApiModelProperty(value = "描述")
private String description;
@ApiModelProperty(value = "活动状态:0暂停, 1进行中")
@NotNull(message = "活动状态不能为空", groups = {Insert.class, Update.class})
private Integer activityStatus;
@ApiModelProperty(value = "奖励类型(0积分,1余额,2优惠券)")
@NotNull(message = "奖励类型不能为空", groups = {Insert.class, Update.class})
private Integer rewardType;
@ApiModelProperty(value = "奖励额度")
@NotNull(message = "奖励额度不能为空", groups = {Insert.class, Update.class})
private Integer rewardValue;
@ApiModelProperty(value = "人数限制")
@NotNull(message = "人数限制不能为空", groups = {Insert.class, Update.class})
private Integer requireNum;
}
package com.mmc.iuav.user.controller.activity;
import com.mmc.iuav.group.Insert;
import com.mmc.iuav.group.Page;
import com.mmc.iuav.group.Update;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.model.dto.activity.ActivityDTO;
import com.mmc.iuav.user.model.qo.ActivityQO;
import com.mmc.iuav.user.model.vo.activity.ActivityVO;
import com.mmc.iuav.user.service.ActivityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @author: zj
* @Date: 2023/10/16 15:06
*/
@Api(tags = "活动管理")
@RequestMapping("/activity/")
@RestController
public class ActivityController extends BaseController {
@Autowired
private ActivityService activityService;
@ApiOperation(value = "添加活动")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("insert")
public ResultBody insertActivity(@Validated(Insert.class) @RequestBody ActivityVO activity) {
return activityService.insertActivity(activity);
}
@ApiOperation(value = "修改活动")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("update")
public ResultBody updateActivity(@Validated(Update.class) @RequestBody ActivityVO activity) {
return activityService.updateActivity(activity);
}
@ApiOperation(value = "活动详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ActivityDTO.class)})
@GetMapping("details")
public ResultBody details(@RequestParam Integer id) {
return activityService.details(id);
}
@ApiOperation(value = "删除活动")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("delete")
public ResultBody delete(@RequestParam Integer id) {
return activityService.delete(id);
}
@ApiOperation(value = "活动列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("listActivityPages")
public ResultBody listActivityPages(@Validated(Page.class) @RequestBody ActivityQO activityQO) {
return activityService.listActivityPages(activityQO);
}
@ApiOperation(value = "活动邀请详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("inviteDetail")
public ResultBody inviteDetail(@Validated(Page.class) @RequestBody ActivityQO activityQO) {
return activityService.inviteDetail(activityQO);
}
}
......@@ -10,10 +10,12 @@ public enum UserPointsEnum {
REGISTER(0, "注册"),
REAL_NAME_AUTHENTICATION(1, "实名认证"),
PILOT_CERTIFICATION(2, "飞手认证"),
TOPIC_REWARD(3, "发布话题奖励"),
TOPIC_REWARD(3, "论坛发布奖励"),
SIGN_IN_REWARD(4, "签到"),
OTHER_CHANGE(5, "其他变动"),
USER_USE(6, "使用");
USER_USE(6, "使用"),
INVITE_USER(7, "邀请用户"),
;
private int code;
private String message;
......
package com.mmc.iuav.user.dao;
import com.mmc.iuav.user.entity.activity.ActivityDO;
import com.mmc.iuav.user.entity.activity.ActivityPartDO;
import com.mmc.iuav.user.model.qo.ActivityQO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author: zj
* @Date: 2023/10/16 15:08
*/
@Mapper
public interface ActivityDao {
void delete(Integer id);
ActivityDO details(Integer id);
int countListActivityPages(ActivityQO activityQO);
List<ActivityDO> listActivityPages(ActivityQO activityQO);
int countCurrentActivity(ActivityDO activity);
void insertActivity(ActivityDO activityDO);
void updateActivity(ActivityDO activityDO);
int countSameActivityName(ActivityDO activityDO);
ActivityDO currentActivity(Integer activityType);
int countActivityPart(Integer activityId, Integer userAccountId);
void insertActivityPart(ActivityPartDO activityPartDO);
List<ActivityPartDO> activityPartDetail(ActivityQO activityQO);
int countActivityPartDetail(ActivityQO activityQO);
}
package com.mmc.iuav.user.entity.activity;
import com.mmc.iuav.user.model.dto.activity.ActivityDTO;
import com.mmc.iuav.user.model.vo.activity.ActivityVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author: zj
* @Date: 2023/10/16 14:42
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ActivityDO implements Serializable {
private static final long serialVersionUID = -1748125765671153744L;
private Integer id;
private Integer activityType;
private String activityName;
private Date startTime;
private Date endTime;
private String description;
private Integer activityStatus;
private Integer rewardType;
private Integer rewardValue;
private Integer requireNum;
private Date createTime;
private List<ActivityPartDO> activityPartDTOS;
public ActivityDTO buildActivityDTO() {
return ActivityDTO.builder().id(this.id).activityType(this.activityType).activityName(this.activityName).activityStatus(this.activityStatus)
.startTime(this.startTime).endTime(this.endTime).description(this.description).rewardType(this.rewardType).rewardValue(this.rewardValue)
.requireNum(this.requireNum).createTime(this.createTime).activityPartDTOS(CollectionUtils.isEmpty(this.activityPartDTOS) ? null :
this.activityPartDTOS.stream().map(ActivityPartDO::buildActivityPartDTO).collect(Collectors.toList())
).build();
}
public ActivityDO(ActivityVO activityVO) {
this.id = activityVO.getId();
this.activityType = activityVO.getActivityType();
this.activityName = activityVO.getActivityName();
this.activityStatus = activityVO.getActivityStatus();
this.startTime = activityVO.getStartTime();
this.endTime = activityVO.getEndTime();
this.description = activityVO.getDescription();
this.rewardType = activityVO.getRewardType();
this.rewardValue = activityVO.getRewardValue();
this.requireNum = activityVO.getRequireNum();
}
}
package com.mmc.iuav.user.entity.activity;
import com.mmc.iuav.user.model.dto.activity.ActivityPartDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/10/16 14:44
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ActivityPartDO implements Serializable {
private static final long serialVersionUID = 1113620415679504481L;
private Integer id;
private Integer activityId;
private Integer userAccountId;
private Integer pUserAccountId;
private Date createTime;
public ActivityPartDTO buildActivityPartDTO() {
return ActivityPartDTO.builder().id(this.id).activityId(this.activityId).userAccountId(this.userAccountId)
.pUserAccountId(this.pUserAccountId).createTime(this.createTime).build();
}
}
package com.mmc.iuav.user.service;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.qo.ActivityQO;
import com.mmc.iuav.user.model.vo.activity.ActivityVO;
/**
* @author: zj
* @Date: 2023/10/16 15:09
*/
public interface ActivityService {
ResultBody insertActivity(ActivityVO activity);
ResultBody updateActivity(ActivityVO activity);
ResultBody details(Integer id);
ResultBody listActivityPages(ActivityQO activityQO);
/**
* @param activityType
* @param userAccountId 邀请人id
* @param pUserAccountId 被邀请人id
* @return
*/
ResultBody participateActivity(Integer activityType, Integer userAccountId, Integer pUserAccountId);
ResultBody delete(Integer id);
ResultBody inviteDetail(ActivityQO activityQO);
}
package com.mmc.iuav.user.service.impl;
import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.dao.ActivityDao;
import com.mmc.iuav.user.entity.activity.ActivityDO;
import com.mmc.iuav.user.entity.activity.ActivityPartDO;
import com.mmc.iuav.user.model.dto.UserAccountSimpleDTO;
import com.mmc.iuav.user.model.dto.activity.ActivityDTO;
import com.mmc.iuav.user.model.dto.activity.ActivityPartDTO;
import com.mmc.iuav.user.model.qo.ActivityQO;
import com.mmc.iuav.user.model.vo.activity.ActivityVO;
import com.mmc.iuav.user.model.vo.userpoints.ChangeUserPointVO;
import com.mmc.iuav.user.service.ActivityService;
import com.mmc.iuav.user.service.UserAccountService;
import com.mmc.iuav.user.service.userpoints.UserPointsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author: zj
* @Date: 2023/10/16 15:09
*/
@Service
@Slf4j
public class ActivityServiceImpl implements ActivityService {
@Autowired
private ActivityDao activityDao;
@Autowired
private UserPointsService userPointsService;
@Autowired
private UserAccountService userAccountService;
@Override
public ResultBody insertActivity(ActivityVO activity) {
ActivityDO activityDO = new ActivityDO(activity);
int countSame = activityDao.countSameActivityName(activityDO);
if (countSame > 0) {
return ResultBody.error("活动名称已存在!");
}
// 活动时间不能有交集
int count = activityDao.countCurrentActivity(activityDO);
if (count > 0) {
return ResultBody.error("当前有活动正在进行中!");
}
activityDao.insertActivity(activityDO);
return ResultBody.success();
}
@Override
public ResultBody updateActivity(ActivityVO activity) {
ActivityDO activityDO = new ActivityDO(activity);
int countSame = activityDao.countSameActivityName(activityDO);
if (countSame > 0) {
return ResultBody.error("活动名称已存在!");
}
// 活动时间不能有交集
int count = activityDao.countCurrentActivity(activityDO);
if (count > 0) {
return ResultBody.error("当前有活动正在进行中!");
}
activityDao.updateActivity(activityDO);
return ResultBody.success();
}
@Override
public ResultBody details(Integer id) {
ActivityDO activityDO = activityDao.details(id);
if (activityDO != null) {
return ResultBody.success(activityDO.buildActivityDTO());
}
return ResultBody.success();
}
@Override
public ResultBody listActivityPages(ActivityQO activityQO) {
int count = activityDao.countListActivityPages(activityQO);
if (count == 0) {
return ResultBody.success(PageResult.buildPage(activityQO.getPageNo(), activityQO.getPageSize(), count));
}
Integer pageNo = activityQO.getPageNo();
activityQO.buildCurrentPage();
List<ActivityDO> activityDOS = activityDao.listActivityPages(activityQO);
List<ActivityDTO> activityDTOS = activityDOS.stream().map(ActivityDO::buildActivityDTO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, activityQO.getPageSize(), count, activityDTOS));
}
@Transactional
@Override
public ResultBody participateActivity(Integer activityType, Integer userAccountId, Integer pUserAccountId) {
ActivityDO activityDO = activityDao.currentActivity(activityType);
if (activityDO == null) {
return ResultBody.success();
}
// 查询是否超过奖励限制
int count = activityDao.countActivityPart(activityDO.getId(), userAccountId);
if (activityDO.getRequireNum() == 0 || count < activityDO.getRequireNum()) {
// 暂时只奖励积分
ChangeUserPointVO changePoint = new ChangeUserPointVO();
changePoint.setUserAccountId(userAccountId);
changePoint.setChangePoint(activityDO.getRewardValue());
changePoint.setChangeType(7);
userPointsService.change(changePoint);
}
// 记录领取信息(被邀请)
ActivityPartDO activityPartDO = new ActivityPartDO(null, activityDO.getId(), userAccountId, pUserAccountId, new Date());
activityDao.insertActivityPart(activityPartDO);
return ResultBody.success();
}
@Override
public ResultBody delete(Integer id) {
activityDao.delete(id);
return ResultBody.success();
}
@Override
public ResultBody inviteDetail(ActivityQO activityQO) {
int count = activityDao.countActivityPartDetail(activityQO);
if (count == 0) {
return ResultBody.success(PageResult.buildPage(activityQO.getPageNo(), activityQO.getPageSize(), count));
}
Integer pageNo = activityQO.getPageNo();
activityQO.buildCurrentPage();
List<ActivityPartDO> activityPartDOS = activityDao.activityPartDetail(activityQO);
List<ActivityPartDTO> activityPartDTOS = activityPartDOS.stream().map(ActivityPartDO::buildActivityPartDTO).collect(Collectors.toList());
// 邀请人id
List<Integer> userIds = activityPartDTOS.stream().map(ActivityPartDTO::getUserAccountId).collect(Collectors.toList());
// 被邀请人id
List<Integer> pUserIds = activityPartDTOS.stream().map(ActivityPartDTO::getPUserAccountId).collect(Collectors.toList());
List<UserAccountSimpleDTO> userAccountSimpleDTOS = userAccountService.feignListUserAccountByIds(userIds);
List<UserAccountSimpleDTO> pUserAccountDTOS = userAccountService.feignListUserAccountByIds(pUserIds);
if (!CollectionUtils.isEmpty(userAccountSimpleDTOS)) {
Map<Integer, UserAccountSimpleDTO> userMap = userAccountSimpleDTOS.stream().collect(Collectors.toMap(UserAccountSimpleDTO::getId, k1 -> k1, (k1, k2) -> k2));
for (ActivityPartDTO activityPartDTO : activityPartDTOS) {
activityPartDTO.setAccountSimpleDTO(userMap.get(activityPartDTO.getUserAccountId()));
}
}
if (!CollectionUtils.isEmpty(pUserAccountDTOS)) {
Map<Integer, UserAccountSimpleDTO> pUserMap = pUserAccountDTOS.stream().collect(Collectors.toMap(UserAccountSimpleDTO::getId, k1 -> k1, (k1, k2) -> k2));
for (ActivityPartDTO activityPartDTO : activityPartDTOS) {
activityPartDTO.setPAccountSimpleDTO(pUserMap.get(activityPartDTO.getPUserAccountId()));
}
}
return ResultBody.success(PageResult.buildPage(pageNo, activityQO.getPageSize(), count, activityPartDTOS));
}
}
......@@ -75,6 +75,7 @@ public class CompanyAuthServiceImpl implements CompanyAuthService {
}
//将字符串转化成json对象
JSONObject businessResJson = JSONObject.parseObject(businessRes);
System.out.println(businessResJson.toString());
if (businessResJson.getString("success").equals("false")) {
return ResultBody.error(ResultEnum.BUSINESS_LICENSE_CHECK_ANALYSIS_ERROR);
} else {
......
......@@ -22,16 +22,12 @@ import com.mmc.iuav.user.model.qo.UserRcdQO;
import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.model.vo.userpoints.UserPointsVO;
import com.mmc.iuav.user.mq.MqProducer;
import com.mmc.iuav.user.service.CompanyAuthService;
import com.mmc.iuav.user.service.RealNameAuthService;
import com.mmc.iuav.user.service.UserAccountService;
import com.mmc.iuav.user.service.WxService;
import com.mmc.iuav.user.service.*;
import com.mmc.iuav.user.util.SmsUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.messaging.simp.annotation.SendToUser;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
......@@ -61,6 +57,9 @@ public class UserAccountServiceImpl implements UserAccountService {
private RealNameAuthService realNameAuthService;
@Autowired
private ActivityService activityService;
@Autowired
private CooperationDao cooperationDao;
@Autowired
......@@ -147,7 +146,7 @@ public class UserAccountServiceImpl implements UserAccountService {
public ResultBody update(UserAccountVO userAccountVO) {
UserAccountDO userAccountDO = new UserAccountDO(userAccountVO);
int i = userServiceDao.selectUserAccountNickName(userAccountDO);
if (i!=0){
if (i != 0) {
return ResultBody.error("昵称被占用,请重新修改");
}
userServiceDao.update(userAccountDO);
......@@ -196,7 +195,7 @@ public class UserAccountServiceImpl implements UserAccountService {
}
for (UserAccountDO userAccountDO : list) {
Integer districtChildId = userAccountDO.getDistrictChildId();
if (districtChildId!=null){
if (districtChildId != null) {
String districtChild = userServiceDao.getDistrictChild(districtChildId);
userAccountDO.setRegion(districtChild);
}
......@@ -254,6 +253,8 @@ public class UserAccountServiceImpl implements UserAccountService {
if (realNameAuthByUId != null && realNameAuthByUId.getCheckStatus() == 1) {
realNameextracted(id);
}
// 奖励邀请人
activityService.participateActivity(0, rcdUserId, id);
return ResultBody.success();
}
......@@ -363,6 +364,7 @@ public class UserAccountServiceImpl implements UserAccountService {
// 设置推荐(邀请)伙伴个数
buildInviteCount(uIds, userAccountDOList);
List<UserAccountVO> userAccountVOS = userAccountDOList.stream().map(UserAccountDO::buildUserAccountVO).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, userAccountVOS));
}
......@@ -465,11 +467,11 @@ public class UserAccountServiceImpl implements UserAccountService {
@Override
public ResultBody getVerifyCode(Integer userAccountId, String phoneNum) {
Integer count= userServiceDao.countPhoneNum(phoneNum);
if(count>0){
return ResultBody.error("80001","手机号已存在");
Integer count = userServiceDao.countPhoneNum(phoneNum);
if (count > 0) {
return ResultBody.error("80001", "手机号已存在");
}
// 根据手机号生成验证码
// 根据手机号生成验证码
String verifyCode = CodeUtil.getRandomNum(6);
// 保存到redis中
Map<String, String> redisData = new HashMap<>();
......@@ -497,7 +499,7 @@ public class UserAccountServiceImpl implements UserAccountService {
}
int count = userServiceDao.countPhoneNums(phoneNum, userAccountId);
if (count > 0) {
return ResultBody.error("80001","手机号已存在");
return ResultBody.error("80001", "手机号已存在");
}
userServiceDao.updateAccountPhone(userAccountId, phoneNum);
return ResultBody.success();
......@@ -506,9 +508,9 @@ public class UserAccountServiceImpl implements UserAccountService {
@Override
public ResultBody appUpdateUser(UserMessageQO userMessageQO) {
int i = userServiceDao.selectUserAccount(userMessageQO);
if (i!=0){
if (i != 0) {
return ResultBody.error("昵称被占用,请重新修改");
}else{
} else {
userServiceDao.appUpdateUser(userMessageQO);
}
return ResultBody.success();
......@@ -516,11 +518,11 @@ public class UserAccountServiceImpl implements UserAccountService {
@Override
public UserAccountMessageVo userMessages(Integer userAccountId) {
UserAccountMessageVo user = userServiceDao.userMessages(userAccountId);
if (user!=null){
List<String> strings = userServiceDao.userMessagesPilot(user.getPilotId());
user.setAbilityName(strings);
}
UserAccountMessageVo user = userServiceDao.userMessages(userAccountId);
if (user != null) {
List<String> strings = userServiceDao.userMessagesPilot(user.getPilotId());
user.setAbilityName(strings);
}
return user;
}
......
......@@ -24,6 +24,7 @@
<result property="companyAuthStatus" column="companyAuthStatus"/>
<result property="companyName" column="company_name"/>
<result property="realNameAuthStatus" column="realNameAuthStatus"/>
<result property="xzAuthStatus" column="xz_auth_status"/>
<association property="userRcdDO" javaType="com.mmc.iuav.user.entity.UserRcdDO">
<id property="id" column="user_rcd_id"/>
<result property="rcdUserId" column="rcd_user_id"/>
......@@ -283,6 +284,7 @@
LEFT JOIN company_member cm ON cm.user_account_id = ua.id
LEFT JOIN company_info ci ON ci.id = cm.company_info_id
LEFT JOIN real_name_auth rna ON rna.user_account_id = ua.id
LEFT JOIN xz_auth xza ON ua.id = xza.user_account_id
WHERE
ua.disable = 0 and ua.port_type = 100
<if test="companyInfoId != null">
......@@ -303,6 +305,12 @@
<if test="realAuthStatus == 0">
AND ( rna.check_status is null or rna.check_status = 0 )
</if>
<if test="xzAuthStatus == 1">
AND xza.xz_auth_status = #{xzAuthStatus}
</if>
<if test="realAuthStatus == 0">
AND ( xza.xz_auth_status is null or xza.xz_auth_status = 0 )
</if>
<if test="startTime != null ">
AND ua.create_time >= #{startTime}
</if>
......@@ -345,7 +353,8 @@
r_user.nick_name AS rcdNickname,
r_user.user_name AS rcdUserName,
rna.user_name,
rna.check_status as realNameAuthStatus
rna.check_status as realNameAuthStatus,
xza.xz_auth_status
FROM
user_account ua
LEFT JOIN company_member cm ON cm.user_account_id = ua.id
......@@ -353,6 +362,7 @@
LEFT JOIN user_rcd rcd ON rcd.user_account_id = ua.id
LEFT JOIN user_account r_user ON r_user.id = rcd.rcd_user_id
LEFT JOIN real_name_auth rna ON rna.user_account_id = ua.id
LEFT JOIN xz_auth xza ON ua.id = xza.user_account_id
WHERE
ua.`disable` = 0
AND ua.port_type = 100
......@@ -374,6 +384,12 @@
<if test="realAuthStatus == 0">
AND ( rna.check_status is null or rna.check_status = 0 )
</if>
<if test="xzAuthStatus == 1">
AND xza.xz_auth_status = #{xzAuthStatus}
</if>
<if test="realAuthStatus == 0">
AND ( xza.xz_auth_status is null or xza.xz_auth_status = 0 )
</if>
<if test="startTime != null ">
AND ua.create_time >= #{startTime}
</if>
......
<?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.mmc.iuav.user.dao.ActivityDao">
<resultMap id="activityResultMap" type="com.mmc.iuav.user.entity.activity.ActivityDO">
<id column="id" property="id"/>
<result column="activity_type" property="activityType"/>
<result column="activity_name" property="activityName"/>
<result column="start_time" property="startTime"/>
<result column="end_time" property="endTime"/>
<result column="description" property="description"/>
<result column="activity_status" property="activityStatus"/>
<result column="reward_type" property="rewardType"/>
<result column="reward_value" property="rewardValue"/>
<result column="require_num" property="requireNum"/>
<result column="create_time" property="createTime"/>
</resultMap>
<sql id="activity_column">
ac.id, ac.activity_type, ac.activity_name, ac.start_time, ac.end_time, ac.description, ac.activity_status,
ac.reward_type, ac.reward_value, ac.require_num, ac.create_time
</sql>
<sql id="activity_part_column">
ap.id, ap.activity_id, ap.user_account_id, ap.p_user_account_id, ap.create_time
</sql>
<insert id="insertActivity" parameterType="com.mmc.iuav.user.entity.activity.ActivityDO" useGeneratedKeys="true"
keyProperty="id">
insert into activity (activity_type, activity_name, start_time, end_time, description, activity_status, reward_type,
reward_value, require_num, create_time)
values (#{activityType}, #{activityName}, #{startTime}, #{endTime}, #{description}, #{activityStatus}, #{rewardType},
#{rewardValue}, #{requireNum}, NOW())
</insert>
<insert id="insertActivityPart" parameterType="com.mmc.iuav.user.entity.activity.ActivityPartDO" keyProperty="id"
useGeneratedKeys="true">
insert into activity_part (activity_id, user_account_id, p_user_account_id, create_time)
values (#{activityId}, #{userAccountId}, #{pUserAccountId}, NOW())
</insert>
<update id="updateActivity" parameterType="com.mmc.iuav.user.entity.activity.ActivityDO">
update activity
<set>
<if test="activityType != null">
activity_type = #{activityType},
</if>
<if test="activityName != null">
activity_name = #{activityName},
</if>
<if test="startTime != null">
start_time = #{startTime},
</if>
<if test="endTime != null">
end_time = #{endTime},
</if>
<if test="description != null">
description = #{description},
</if>
<if test="activityStatus != null">
activity_status = #{activityStatus},
</if>
<if test="rewardType != null">
reward_type = #{rewardType},
</if>
<if test="rewardValue != null">
reward_value = #{rewardValue},
</if>
<if test="requireNum != null">
require_num = #{requireNum}
</if>
</set>
where id = #{id}
</update>
<update id="delete">
update activity set is_deleted = 1 where id = #{id}
</update>
<select id="details" resultType="com.mmc.iuav.user.entity.activity.ActivityDO">
select
<include refid="activity_column"/>
from activity ac where ac.id = #{id}
</select>
<select id="countListActivityPages" resultType="java.lang.Integer"
parameterType="com.mmc.iuav.user.model.qo.ActivityQO">
select count(*) from activity
where is_deleted = 0
<if test="activityType != null">
and activity_type = #{activityType}
</if>
<if test="activityStatus != null">
and activity_status = #{activityStatus}
</if>
</select>
<select id="listActivityPages" resultType="com.mmc.iuav.user.entity.activity.ActivityDO">
select
<include refid="activity_column"/>
from activity ac
where ac.is_deleted = 0
<if test="activityType != null">
and ac.activity_type = #{activityType}
</if>
<if test="activityStatus != null">
and ac.activity_status = #{activityStatus}
</if>
order by ac.id desc
limit #{pageNo}, #{pageSize}
</select>
<select id="countCurrentActivity" resultType="java.lang.Integer"
parameterType="com.mmc.iuav.user.entity.activity.ActivityDO">
select count(*) from activity ac
where ac.is_deleted = 0 and ac.activity_status = 1
<if test="startTime != null">
and ( #{startTime} >= ac.start_time and ac.end_time >= #{startTime} )
</if>
<if test="endTime != null">
and ( #{endTime} >= ac.start_time and ac.end_time >= #{endTime} )
</if>
</select>
<select id="countSameActivityName" resultType="java.lang.Integer"
parameterType="com.mmc.iuav.user.entity.activity.ActivityDO">
select count(*) from activity
where is_deleted = 0
<if test="activityName != null">
and activity_name = #{activityName}
</if>
<if test="id != null">
and id != #{id}
</if>
</select>
<select id="currentActivity" resultType="com.mmc.iuav.user.entity.activity.ActivityDO">
select
<include refid="activity_column"/>
from activity ac
where ac.is_deleted = 0 and ac.activity_status = 0 and ( NOW() >= ac.start_time and ac.end_time >= NOW() ) and
ac.activityType =
#{activityType}
</select>
<select id="countActivityPart" resultType="java.lang.Integer">
select count(*) from activity ac inner join activity_part acp on ac.id = acp.activity_id
where acp.activity_id = #{activityId} and acp.user_account_id = #{userAccountId}
</select>
<select id="activityPartDetail" resultType="com.mmc.iuav.user.entity.activity.ActivityPartDO"
parameterType="com.mmc.iuav.user.model.qo.ActivityQO">
select<include refid="activity_part_column"/>, ac.reward_value
from activity_part ap inner join activity ac on ap.activity_id = ac.id
where ac.id = #{activityId}
order by ap.id desc
limit #{pageNo}, #{pageSize}
</select>
<select id="countActivityPartDetail" resultType="java.lang.Integer"
parameterType="com.mmc.iuav.user.model.qo.ActivityQO">
select count(*)
from activity_part ap inner join activity ac on ap.activity_id = ac.id
where ac.id = #{activityId}
</select>
</mapper>
\ No newline at end of file
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag: 29ee7f3da55705f8f2e5bdef746c1756c1ce8fef
newTag: b38bc5b6374e85ae77c492215d7ff3830022547a
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论