Commit b0ac7c0d by xunj

优化

1 parent 56855414
Showing 22 changed files with 256 additions and 42 deletions
package com.polysoft.activity.controller; package com.polysoft.activity.controller;
import com.polysoft.activity.model.param.UserInfoParam; import com.polysoft.activity.model.param.ComposeCattleBrandParam;
import com.polysoft.activity.service.CattleBrandService; import com.polysoft.activity.service.CattleBrandService;
import com.polysoft.activity.utils.ApiResult; import com.polysoft.activity.utils.ApiResult;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -33,6 +33,14 @@ public class CattleController { ...@@ -33,6 +33,14 @@ public class CattleController {
if(userId == null){ if(userId == null){
return ApiResult.error("用户不能为空"); return ApiResult.error("用户不能为空");
} }
return cattleBrandService.queryCattleBrandByUserId(userId); return cattleBrandService.queryCattleBrandByUserId2(userId);
} }
//1,牛牌合成
@PostMapping("/saveComposeCattleBrand" )
@ResponseBody
public ApiResult saveComposeCattleBrand(@RequestBody @Validated ComposeCattleBrandParam param) {
return cattleBrandService.saveComposeCattleBrand(param);
}
//2,牛一牛
} }
...@@ -20,9 +20,9 @@ public class UserController { ...@@ -20,9 +20,9 @@ public class UserController {
@PostMapping("/queryAuthUser" ) @PostMapping("/queryAuthUser" )
@ResponseBody @ResponseBody
public ApiResult queryAuthUser(@RequestBody @Validated UserInfoParam param) { public ApiResult queryAuthUser(@RequestBody UserInfoParam param) {
return userInfoService.queryAuthUser(param.getPhone()); return userInfoService.queryAuthUser(param);
} }
@PostMapping("/getFirsetLgoinRed" ) @PostMapping("/getFirsetLgoinRed" )
@ResponseBody @ResponseBody
......
...@@ -29,7 +29,7 @@ public class WishController { ...@@ -29,7 +29,7 @@ public class WishController {
@PostMapping("/addWish" ) @PostMapping("/addWish" )
@ResponseBody @ResponseBody
public ApiResult addWish(@RequestBody @Validated AddWishParam param) { public ApiResult addWish(@Validated AddWishParam param) {
return wishService.addWish(param); return wishService.addWish(param);
} }
@GetMapping("/queryWishList" ) @GetMapping("/queryWishList" )
......
...@@ -5,6 +5,7 @@ import com.polysoft.activity.model.dto.CattleBrandDto; ...@@ -5,6 +5,7 @@ import com.polysoft.activity.model.dto.CattleBrandDto;
import com.polysoft.activity.model.vo.CattleBrandConfVO; import com.polysoft.activity.model.vo.CattleBrandConfVO;
import com.polysoft.activity.model.vo.CattleBrandFroUserVO; import com.polysoft.activity.model.vo.CattleBrandFroUserVO;
import com.polysoft.activity.model.vo.CattleBrandVO; import com.polysoft.activity.model.vo.CattleBrandVO;
import com.polysoft.activity.model.vo.CattleListVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
...@@ -15,4 +16,8 @@ public interface CattleBrandMapper extends BaseMapper<CattleBrandDto> { ...@@ -15,4 +16,8 @@ public interface CattleBrandMapper extends BaseMapper<CattleBrandDto> {
List<CattleBrandVO> queryCattleBrandList(@Param("brandType") String brandType); List<CattleBrandVO> queryCattleBrandList(@Param("brandType") String brandType);
CattleBrandFroUserVO queryCattleBrandByUserId(@Param("userId")Long userId); CattleBrandFroUserVO queryCattleBrandByUserId(@Param("userId")Long userId);
CattleBrandConfVO queryCattleBrandConf(@Param("signDate") String signDate); CattleBrandConfVO queryCattleBrandConf(@Param("signDate") String signDate);
int getComposeCattleBrand(@Param("userId") Long userId);
int updateComposeCattleStatus(@Param("userId") Long userId,@Param("status") String status,@Param("time") String time);
List<CattleListVO> queryCattleList(@Param("userId") Long userId,@Param("type") String type);
} }
...@@ -2,8 +2,10 @@ package com.polysoft.activity.mapper; ...@@ -2,8 +2,10 @@ package com.polysoft.activity.mapper;
import com.polysoft.activity.model.dto.SaveUserCattleDto; import com.polysoft.activity.model.dto.SaveUserCattleDto;
import com.polysoft.activity.model.dto.UserInfoDto; import com.polysoft.activity.model.dto.UserInfoDto;
import com.polysoft.activity.model.dto.UserInfoForComposeStatusDto;
import com.polysoft.activity.model.dto.UserSignDto; import com.polysoft.activity.model.dto.UserSignDto;
import com.polysoft.activity.model.dto.WechatTokenDto; import com.polysoft.activity.model.dto.WechatTokenDto;
import com.polysoft.activity.model.param.UserInfoParam;
import com.polysoft.activity.model.vo.FirstLoginRedVO; import com.polysoft.activity.model.vo.FirstLoginRedVO;
import com.polysoft.activity.model.vo.UserInfoVO; import com.polysoft.activity.model.vo.UserInfoVO;
import com.polysoft.activity.model.vo.WechatToken; import com.polysoft.activity.model.vo.WechatToken;
...@@ -14,7 +16,7 @@ import java.util.List; ...@@ -14,7 +16,7 @@ import java.util.List;
@Mapper @Mapper
public interface UserInfoMapper { public interface UserInfoMapper {
UserInfoVO queryAuthUser(@Param("phone") String phone); UserInfoVO queryAuthUser(UserInfoParam param);
WechatToken getWechatToken(); WechatToken getWechatToken();
int updateWechatToken(WechatTokenDto dto); int updateWechatToken(WechatTokenDto dto);
int updateRedBalace(@Param("list") List<UserInfoDto> list); int updateRedBalace(@Param("list") List<UserInfoDto> list);
...@@ -23,4 +25,7 @@ public interface UserInfoMapper { ...@@ -23,4 +25,7 @@ public interface UserInfoMapper {
int updateUserSign(UserSignDto dto); int updateUserSign(UserSignDto dto);
List<FirstLoginRedVO> queryFirstLoginRed(); List<FirstLoginRedVO> queryFirstLoginRed();
int updateFirstLoginRed(@Param("id") Long id); int updateFirstLoginRed(@Param("id") Long id);
int getFirstoginYesOrNo(@Param("userId") Long userId);
int updateFirstLoginStatus(@Param("userId") Long userId);
UserInfoVO getUserByComposeStatus(UserInfoForComposeStatusDto dto);
} }
...@@ -6,6 +6,7 @@ import com.polysoft.activity.model.param.QueryWishParam; ...@@ -6,6 +6,7 @@ import com.polysoft.activity.model.param.QueryWishParam;
import com.polysoft.activity.model.vo.QueryLuckDrawWishVO; import com.polysoft.activity.model.vo.QueryLuckDrawWishVO;
import com.polysoft.activity.model.vo.QueryRealPrizeVO; import com.polysoft.activity.model.vo.QueryRealPrizeVO;
import com.polysoft.activity.model.vo.WishVO; import com.polysoft.activity.model.vo.WishVO;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import java.util.List; import java.util.List;
...@@ -15,5 +16,6 @@ public interface WishMapper extends BaseMapper<AddWishDto> { ...@@ -15,5 +16,6 @@ public interface WishMapper extends BaseMapper<AddWishDto> {
List<WishVO> queryWishList(QueryWishParam pageNum); List<WishVO> queryWishList(QueryWishParam pageNum);
List<QueryLuckDrawWishVO> queryLuckDrawWish(); List<QueryLuckDrawWishVO> queryLuckDrawWish();
QueryRealPrizeVO querRealPrize(); QueryRealPrizeVO querRealPrize();
int getWishFirstPushOnDay(@Param("userId") Long userId,@Param("pushDate") String pushDate);
} }
package com.polysoft.activity.model.dto;
import lombok.Data;
/**
* @author lvyp
* @date 2021/1/30
*/
@Data
public class UserInfoForComposeStatusDto {
private Long userId;
private String phone;
}
...@@ -6,6 +6,7 @@ import lombok.Data; ...@@ -6,6 +6,7 @@ import lombok.Data;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -16,7 +17,7 @@ import java.util.List; ...@@ -16,7 +17,7 @@ import java.util.List;
@Data @Data
public class AddWishParam { public class AddWishParam {
@ApiModelProperty("用户主键") @ApiModelProperty("用户主键")
@NotBlank(message = "用户主键不能为空") @NotNull(message = "用户主键不能为空")
private Long userId ; private Long userId ;
@ApiModelProperty("姓名") @ApiModelProperty("姓名")
private String userName ; private String userName ;
...@@ -26,9 +27,6 @@ public class AddWishParam { ...@@ -26,9 +27,6 @@ public class AddWishParam {
@ApiModelProperty("心愿语录内容") @ApiModelProperty("心愿语录内容")
@NotBlank(message = "心愿语录内容不能为空") @NotBlank(message = "心愿语录内容不能为空")
private String wishContext ; private String wishContext ;
@ApiModelProperty("0 未中奖 1 中奖")
private String prizeFalg ;
@ApiModelProperty("图片") @ApiModelProperty("图片")
@NotBlank(message = "心愿图片不能为空")
private List<MultipartFile> multipartFiles; private List<MultipartFile> multipartFiles;
} }
package com.polysoft.activity.model.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author lvyp
* @date 2021/1/30
*/
@Data
public class ComposeCattleBrandParam {
@ApiModelProperty("用户主键")
@NotBlank(message = "用户主键不能为空")
private Long userId;
}
...@@ -12,12 +12,9 @@ import javax.validation.constraints.NotBlank; ...@@ -12,12 +12,9 @@ import javax.validation.constraints.NotBlank;
@Data @Data
public class ShareLinkParam { public class ShareLinkParam {
@ApiModelProperty("分享的链接全地址") @ApiModelProperty("分享的链接全地址")
// @NotBlank(message = "分享的链接不能为空")
private String url; private String url;
@ApiModelProperty("用户ID") @ApiModelProperty("用户ID")
// @NotBlank(message = "用户ID不能为空")
private Long userId; private Long userId;
@ApiModelProperty("牛牌ID") @ApiModelProperty("牛牌ID")
// @NotBlank(message = "牛牌ID不能为空")
private Long cattleId; private Long cattleId;
} }
...@@ -12,8 +12,6 @@ import java.io.Serializable; ...@@ -12,8 +12,6 @@ import java.io.Serializable;
@Data @Data
public class UserInfoParam extends PageQuery { public class UserInfoParam extends PageQuery {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("手机号")
@NotBlank(message = "手机号不能为空")
private String phone; private String phone;
private Long userId; private Long userId;
private Long signId; private Long signId;
......
package com.polysoft.activity.model.vo;
import lombok.Data;
/**
* @author lvyp
* @date 2021/1/30
*/
@Data
public class CattleListVO {
private String brandType;
private String brandName;
private Long cattleBrandId;
private Long userId;
}
...@@ -23,4 +23,9 @@ public class UserInfoVO implements Serializable { ...@@ -23,4 +23,9 @@ public class UserInfoVO implements Serializable {
private String dept_name; private String dept_name;
@ApiModelProperty("是否首次进入 0 是 1 不是") @ApiModelProperty("是否首次进入 0 是 1 不是")
private String isFirst; private String isFirst;
@ApiModelProperty("牛牌合成状态 0 未合成 1 已合成")
private String composeCattleStatus;
@ApiModelProperty("牛牌合成时间")
private String composeCattleTime;
private String sysCurretTime;
} }
package com.polysoft.activity.service; package com.polysoft.activity.service;
import com.polysoft.activity.model.param.ComposeCattleBrandParam;
import com.polysoft.activity.utils.ApiResult; import com.polysoft.activity.utils.ApiResult;
public interface CattleBrandService { public interface CattleBrandService {
ApiResult queryCattleBrandList(String brandType); ApiResult queryCattleBrandList(String brandType);
ApiResult queryCattleBrandByUserId(Long userId); ApiResult queryCattleBrandByUserId(Long userId);
ApiResult queryCattleBrandByUserId2(Long userId);
ApiResult saveComposeCattleBrand(ComposeCattleBrandParam param);
} }
...@@ -6,7 +6,7 @@ import com.polysoft.activity.model.param.UserInfoParam; ...@@ -6,7 +6,7 @@ import com.polysoft.activity.model.param.UserInfoParam;
import com.polysoft.activity.utils.ApiResult; import com.polysoft.activity.utils.ApiResult;
public interface UserInfoService { public interface UserInfoService {
ApiResult queryAuthUser(String phone); ApiResult queryAuthUser(UserInfoParam param);
ApiResult getShareLink(ShareLinkParam param); ApiResult getShareLink(ShareLinkParam param);
ApiResult saveUserSign(UserInfoParam param); ApiResult saveUserSign(UserInfoParam param);
ApiResult getFirsetLgoinRed(Long userId); ApiResult getFirsetLgoinRed(Long userId);
......
package com.polysoft.activity.service.impl; package com.polysoft.activity.service.impl;
import cn.hutool.core.date.DateUtil;
import com.polysoft.activity.mapper.CattleBrandMapper; import com.polysoft.activity.mapper.CattleBrandMapper;
import com.polysoft.activity.mapper.UserInfoMapper;
import com.polysoft.activity.model.dto.UserInfoForComposeStatusDto;
import com.polysoft.activity.model.param.ComposeCattleBrandParam;
import com.polysoft.activity.model.vo.CattleBrandFroUserVO;
import com.polysoft.activity.model.vo.CattleBrandVO;
import com.polysoft.activity.model.vo.CattleListVO;
import com.polysoft.activity.model.vo.UserInfoVO;
import com.polysoft.activity.service.CattleBrandService; import com.polysoft.activity.service.CattleBrandService;
import com.polysoft.activity.utils.ApiResult; import com.polysoft.activity.utils.ApiResult;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service @Service
public class CattleBrandServiceImpl implements CattleBrandService { public class CattleBrandServiceImpl implements CattleBrandService {
@Resource @Resource
private CattleBrandMapper cattleBrandMapper; private CattleBrandMapper cattleBrandMapper;
@Resource
private UserInfoMapper userInfoMapper;
@Override @Override
public ApiResult queryCattleBrandList(String brandType) { public ApiResult queryCattleBrandList(String brandType) {
...@@ -19,6 +34,47 @@ public class CattleBrandServiceImpl implements CattleBrandService { ...@@ -19,6 +34,47 @@ public class CattleBrandServiceImpl implements CattleBrandService {
@Override @Override
public ApiResult queryCattleBrandByUserId(Long userId) { public ApiResult queryCattleBrandByUserId(Long userId) {
return ApiResult.ok(cattleBrandMapper.queryCattleBrandByUserId(userId)); List<CattleBrandVO> list = cattleBrandMapper.queryCattleBrandList(null);
CattleBrandFroUserVO cattleBrand = cattleBrandMapper.queryCattleBrandByUserId(userId);
Map<String,Object> map = new HashMap<>();
map.put("cattleList",list);
map.put("cattleBrand",cattleBrand);
return ApiResult.ok(map);
}
@Override
public ApiResult queryCattleBrandByUserId2(Long userId) {
//健康牛
List<CattleListVO> jiankang = cattleBrandMapper.queryCattleList(userId,"1");
//福运牛
List<CattleListVO> fuyun = cattleBrandMapper.queryCattleList(userId,"2");
//招财牛
List<CattleListVO> zhaocai = cattleBrandMapper.queryCattleList(userId,"3");
//平安牛
List<CattleListVO> pingan = cattleBrandMapper.queryCattleList(userId,"4");
//如意牛
List<CattleListVO> ruyi = cattleBrandMapper.queryCattleList(userId,"5");
UserInfoForComposeStatusDto dto = new UserInfoForComposeStatusDto();
dto.setUserId(userId);
UserInfoVO userInfoVo = userInfoMapper.getUserByComposeStatus(dto);
Map<String,Object> map = new HashMap<>();
map.put("jiankang",jiankang);
map.put("fuyun",fuyun);
map.put("zhaocai",zhaocai);
map.put("pingan",pingan);
map.put("ruyi",ruyi);
map.put("composeCattleStatus",userInfoVo.getComposeCattleStatus());
return ApiResult.ok(map);
}
@Override
public ApiResult saveComposeCattleBrand(ComposeCattleBrandParam param) {
int i = cattleBrandMapper.getComposeCattleBrand(param.getUserId());
if(i == 5){
cattleBrandMapper.updateComposeCattleStatus(param.getUserId(),"1", DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
return ApiResult.ok("恭喜合成牛牌");
}else {
return ApiResult.ok("请继续收集牛牌");
}
} }
} }
...@@ -19,6 +19,7 @@ import com.polysoft.activity.utils.ApiResult; ...@@ -19,6 +19,7 @@ import com.polysoft.activity.utils.ApiResult;
import com.polysoft.activity.utils.MathRandom; import com.polysoft.activity.utils.MathRandom;
import com.polysoft.activity.utils.SHA1; import com.polysoft.activity.utils.SHA1;
import com.polysoft.activity.utils.SnowFlakeUtil; import com.polysoft.activity.utils.SnowFlakeUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
...@@ -51,12 +52,18 @@ public class UserInfoServiceImpl implements UserInfoService { ...@@ -51,12 +52,18 @@ public class UserInfoServiceImpl implements UserInfoService {
private String jsapiTicketUrl; private String jsapiTicketUrl;
private final Long divide = 1000L; private final Long divide = 1000L;
@Override @Override
public ApiResult queryAuthUser(String phone) { public ApiResult queryAuthUser(UserInfoParam param) {
UserInfoVO user = mapper.queryAuthUser(phone); if(StringUtils.isNotBlank(param.getPhone()) || param.getUserId() !=null ){
UserInfoVO user = mapper.queryAuthUser(param);
if(user == null){ if(user == null){
return ApiResult.error(500,"【很抱歉,您非宝利成员无法领取红包】"); return ApiResult.error(500,"【很抱歉,您非宝利成员无法领取红包】");
} }
user.setSysCurretTime(DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
return ApiResult.ok(user); return ApiResult.ok(user);
}else{
return ApiResult.ok("参数不能为空");
}
} }
@Override @Override
...@@ -96,8 +103,8 @@ public class UserInfoServiceImpl implements UserInfoService { ...@@ -96,8 +103,8 @@ public class UserInfoServiceImpl implements UserInfoService {
@Override @Override
public ApiResult saveUserSign(UserInfoParam param) { public ApiResult saveUserSign(UserInfoParam param) {
UserSignDto userSignDto = new UserSignDto(); UserSignDto userSignDto = new UserSignDto();
// CattleBrandConfVO confVO = cattleBrandMapper.queryCattleBrandConf(DateUtil.format(new Date(),"yyyy-MM-dd")); CattleBrandConfVO confVO = cattleBrandMapper.queryCattleBrandConf(DateUtil.format(new Date(),"yyyy-MM-dd"));
CattleBrandConfVO confVO = cattleBrandMapper.queryCattleBrandConf("2021-02-11"); // CattleBrandConfVO confVO = cattleBrandMapper.queryCattleBrandConf("2021-02-11");
if(param.getSignId() != null){ if(param.getSignId() != null){
userSignDto.setId(param.getSignId()); userSignDto.setId(param.getSignId());
userSignDto.setCreateTime(new Date()); userSignDto.setCreateTime(new Date());
...@@ -123,6 +130,10 @@ public class UserInfoServiceImpl implements UserInfoService { ...@@ -123,6 +130,10 @@ public class UserInfoServiceImpl implements UserInfoService {
@Override @Override
public ApiResult getFirsetLgoinRed(Long userId) { public ApiResult getFirsetLgoinRed(Long userId) {
//判断是否首次登录
if(mapper.getFirstoginYesOrNo(userId) < 1){
return ApiResult.error("操作不合法");
}
//首次登录未领取的红包 //首次登录未领取的红包
try { try {
List<FirstLoginRedVO> firstLoginRedVOList = mapper.queryFirstLoginRed(); List<FirstLoginRedVO> firstLoginRedVOList = mapper.queryFirstLoginRed();
...@@ -146,6 +157,8 @@ public class UserInfoServiceImpl implements UserInfoService { ...@@ -146,6 +157,8 @@ public class UserInfoServiceImpl implements UserInfoService {
userInfoDto.setRedBalance(redVO.getAmount()); userInfoDto.setRedBalance(redVO.getAmount());
userInfoDtoList.add(userInfoDto); userInfoDtoList.add(userInfoDto);
mapper.updateRedBalace(userInfoDtoList); mapper.updateRedBalace(userInfoDtoList);
//更新首次登录状态
mapper.updateFirstLoginStatus(userId);
return ApiResult.ok(redVO.getAmount()); return ApiResult.ok(redVO.getAmount());
} }
} catch (Exception e) { } catch (Exception e) {
......
package com.polysoft.activity.service.impl; package com.polysoft.activity.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -7,24 +8,31 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -7,24 +8,31 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.polysoft.activity.common.utils.BeanTransferUtils; import com.polysoft.activity.common.utils.BeanTransferUtils;
import com.polysoft.activity.common.utils.PageResult; import com.polysoft.activity.common.utils.PageResult;
import com.polysoft.activity.mapper.CattleBrandMapper;
import com.polysoft.activity.mapper.UserInfoMapper;
import com.polysoft.activity.mapper.WishMapper; import com.polysoft.activity.mapper.WishMapper;
import com.polysoft.activity.mapper.WishPicMapper; import com.polysoft.activity.mapper.WishPicMapper;
import com.polysoft.activity.model.dto.AddWishDto; import com.polysoft.activity.model.dto.AddWishDto;
import com.polysoft.activity.model.dto.SaveUserCattleDto;
import com.polysoft.activity.model.dto.WishPicDto; import com.polysoft.activity.model.dto.WishPicDto;
import com.polysoft.activity.model.param.AddWishParam; import com.polysoft.activity.model.param.AddWishParam;
import com.polysoft.activity.model.param.QueryWishParam; import com.polysoft.activity.model.param.QueryWishParam;
import com.polysoft.activity.model.vo.CattleBrandConfVO;
import com.polysoft.activity.model.vo.CattleBrandVO;
import com.polysoft.activity.model.vo.QueryLuckDrawWishVO; import com.polysoft.activity.model.vo.QueryLuckDrawWishVO;
import com.polysoft.activity.model.vo.QueryRealPrizeVO; import com.polysoft.activity.model.vo.QueryRealPrizeVO;
import com.polysoft.activity.model.vo.WishVO; import com.polysoft.activity.model.vo.WishVO;
import com.polysoft.activity.service.WishService; import com.polysoft.activity.service.WishService;
import com.polysoft.activity.utils.ApiResult; import com.polysoft.activity.utils.ApiResult;
import com.polysoft.activity.utils.FileUtils; import com.polysoft.activity.utils.FileUtils;
import com.polysoft.activity.utils.MathRandom;
import com.polysoft.activity.utils.SnowFlakeUtil; import com.polysoft.activity.utils.SnowFlakeUtil;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -37,6 +45,10 @@ public class WishServiceImpl implements WishService { ...@@ -37,6 +45,10 @@ public class WishServiceImpl implements WishService {
private WishMapper mapper; private WishMapper mapper;
@Resource @Resource
private WishPicMapper wishPicMapper; private WishPicMapper wishPicMapper;
@Resource
private CattleBrandMapper cattleBrandMapper;
@Resource
private UserInfoMapper userInfoMapper;
@Value("${fileUpload.saveWishPicPath}") @Value("${fileUpload.saveWishPicPath}")
private String saveWishPicPath; private String saveWishPicPath;
@Value("${fileUpload.callWishPicUrl}") @Value("${fileUpload.callWishPicUrl}")
...@@ -44,8 +56,12 @@ public class WishServiceImpl implements WishService { ...@@ -44,8 +56,12 @@ public class WishServiceImpl implements WishService {
@Override @Override
public ApiResult addWish(AddWishParam param) { public ApiResult addWish(AddWishParam param) {
try {
AddWishDto dto = BeanTransferUtils.transfer(param,AddWishDto.class); AddWishDto dto = BeanTransferUtils.transfer(param,AddWishDto.class);
Long wishId = SnowFlakeUtil.nextId(); Long wishId = SnowFlakeUtil.nextId();
CattleBrandVO cattleBrandVO = null;
//判断是否当天首次发布心愿
int firstPushNum = mapper.getWishFirstPushOnDay(param.getUserId(),DateUtil.format(new Date(),"yyyy-MM-dd"));
for (MultipartFile multipartFile : param.getMultipartFiles()) { for (MultipartFile multipartFile : param.getMultipartFiles()) {
ApiResult result = FileUtils.upload(multipartFile,saveWishPicPath,wishId); ApiResult result = FileUtils.upload(multipartFile,saveWishPicPath,wishId);
WishPicDto wishPicDto = new WishPicDto(); WishPicDto wishPicDto = new WishPicDto();
...@@ -59,15 +75,25 @@ public class WishServiceImpl implements WishService { ...@@ -59,15 +75,25 @@ public class WishServiceImpl implements WishService {
dto.setCreateTime(new Date()); dto.setCreateTime(new Date());
dto.setPushDate(new Date()); dto.setPushDate(new Date());
int i = mapper.insert(dto); int i = mapper.insert(dto);
try { //发放牛牌
if(i > 0){ if(i > 0 && firstPushNum == 0){
return ApiResult.ok("心愿发布成功"); CattleBrandConfVO confVO = cattleBrandMapper.queryCattleBrandConf(DateUtil.format(new Date(),"yyyy-MM-dd"));
}else { MathRandom a = new MathRandom(confVO.getRate1(),confVO.getRate2(),confVO.getRate3(),confVO.getRate4(),confVO.getRate5());
return ApiResult.error("心愿发布失败"); List<SaveUserCattleDto> list = new ArrayList<>();
SaveUserCattleDto saveUserCattleDto = new SaveUserCattleDto();
saveUserCattleDto.setId(SnowFlakeUtil.nextId());
saveUserCattleDto.setUserId(param.getUserId());
cattleBrandVO = cattleBrandMapper.queryCattleBrandList((a.PercentageRandom()+"")).get(0);
saveUserCattleDto.setCattleBrandId(cattleBrandVO.getCattleId());
list.add(saveUserCattleDto);
userInfoMapper.saveCattleBrand(list);
return ApiResult.ok(cattleBrandVO);
}else{
return ApiResult.ok();
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ApiResult.error(); return ApiResult.error(e.getMessage());
} }
} }
......
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.polysoft.activity.mapper.CattleBrandMapper"> <mapper namespace="com.polysoft.activity.mapper.CattleBrandMapper">
<update id="updateComposeCattleStatus">
update t_user
set compose_cattle_status = #{status},
compose_cattle_time = #{time}
where user_id = #{userId}
</update>
<select id="queryCattleBrandList" resultType="com.polysoft.activity.model.vo.CattleBrandVO"> <select id="queryCattleBrandList" resultType="com.polysoft.activity.model.vo.CattleBrandVO">
select select
cattle_id, cattle_id,
...@@ -25,6 +31,13 @@ ...@@ -25,6 +31,13 @@
WHERE WHERE
t.user_id =#{userId} t.user_id =#{userId}
</select> </select>
<select id="getComposeCattleBrand" resultType="int">
SELECT
count( * )
FROM
( SELECT t.cattle_brand_id FROM t_user_cattle t WHERE t.user_id = #{userId} GROUP BY t.cattle_brand_id ) tab
</select>
<select id="queryCattleBrandConf" resultType="com.polysoft.activity.model.vo.CattleBrandConfVO"> <select id="queryCattleBrandConf" resultType="com.polysoft.activity.model.vo.CattleBrandConfVO">
SELECT SELECT
cattle_id, cattle_id,
...@@ -38,4 +51,16 @@ ...@@ -38,4 +51,16 @@
t_cattle_brand_conf where sign_date=#{signDate} t_cattle_brand_conf where sign_date=#{signDate}
</select> </select>
<select id="queryCattleList" resultType="com.polysoft.activity.model.vo.CattleListVO">
SELECT
t2.brand_type,
t2.brand_name ,
t1.cattle_brand_id,
t1.user_id
FROM
t_user_cattle t1 LEFT join t_cattle_brand t2 ON ( t2.cattle_id = t1.cattle_brand_id )
WHERE
t1.user_id = #{userId}
AND t2.brand_type =#{type}
</select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.polysoft.activity.mapper.UserInfoMapper"> <mapper namespace="com.polysoft.activity.mapper.UserInfoMapper">
<select id="queryAuthUser" resultType="com.polysoft.activity.model.vo.UserInfoVO"> <select id="queryAuthUser" resultType="com.polysoft.activity.model.vo.UserInfoVO"
parameterType="com.polysoft.activity.model.param.UserInfoParam">
select select
user_id , user_id ,
user_name, user_name,
red_balance, red_balance,
phone, phone,
dept_name, dept_name,
is_first is_first,
compose_cattle_status,
compose_cattle_time
from from
t_user where phone=#{phone} t_user where
1=1
<if test="phone != null and phone !=''">
and phone = #{phone}
</if>
<if test="userId != null">
and user_id = #{userId}
</if>
</select> </select>
<select id="getWechatToken" resultType="com.polysoft.activity.model.vo.WechatToken"> <select id="getWechatToken" resultType="com.polysoft.activity.model.vo.WechatToken">
select access_token,update_time from wechat_token where id =1 select access_token,update_time from wechat_token where id =1
...@@ -21,10 +31,13 @@ ...@@ -21,10 +31,13 @@
amount amount
from t_first_login_red where is_flag = '0' order by id asc limit 1 from t_first_login_red where is_flag = '0' order by id asc limit 1
</select> </select>
<select id="getFirstoginYesOrNo" resultType="java.lang.Integer">
SELECT count(*) from t_user where user_id=#{userId} and is_first='0'
</select>
<update id="updateWechatToken" parameterType="com.polysoft.activity.model.dto.WechatTokenDto"> <update id="updateWechatToken" parameterType="com.polysoft.activity.model.dto.WechatTokenDto">
update wechat_token set access_token=#{accessToken},update_time=#{updateTime} where id =1 update wechat_token set access_token=#{accessToken},update_time=#{updateTime} where id =1
</update> </update>
<update id="updateRedBalace" parameterType="com.polysoft.activity.model.dto.UserInfoDto"> <update id="updateRedBalace" parameterType="list">
update t_user update t_user
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<trim prefix=" red_balance = case" suffix="end,"> <trim prefix=" red_balance = case" suffix="end,">
...@@ -42,6 +55,9 @@ ...@@ -42,6 +55,9 @@
<update id="updateFirstLoginRed"> <update id="updateFirstLoginRed">
update t_first_login_red set is_flag = 1 where id =#{id} update t_first_login_red set is_flag = 1 where id =#{id}
</update> </update>
<update id="updateFirstLoginStatus">
update t_user set is_first = 1 where user_id =#{userId}
</update>
<insert id="saveCattleBrand" parameterType="com.polysoft.activity.model.dto.SaveUserCattleDto"> <insert id="saveCattleBrand" parameterType="com.polysoft.activity.model.dto.SaveUserCattleDto">
INSERT into t_user_cattle ( INSERT into t_user_cattle (
id, id,
...@@ -78,4 +94,13 @@ ...@@ -78,4 +94,13 @@
create_time =#{#{createTime} create_time =#{#{createTime}
where id = #{id} where id = #{id}
</insert> </insert>
<select id="getUserByComposeStatus" parameterType="com.polysoft.activity.model.dto.UserInfoForComposeStatusDto"
resultType="com.polysoft.activity.model.vo.UserInfoVO">
SELECT
compose_cattle_status
from t_user
where
user_id=#{userId}
</select>
</mapper> </mapper>
...@@ -55,4 +55,13 @@ ...@@ -55,4 +55,13 @@
WHERE WHERE
luck_draw_date = DATE_FORMAT( NOW( ), '%Y-%m-%d' ) luck_draw_date = DATE_FORMAT( NOW( ), '%Y-%m-%d' )
</select> </select>
<select id="getWishFirstPushOnDay" resultType="int">
SELECT
count(*)
FROM
t_wish
WHERE
user_id = #{userId}
and push_date =#{pushDate}
</select>
</mapper> </mapper>
...@@ -40,17 +40,11 @@ public class ApiResult extends HashMap<String, Object> { ...@@ -40,17 +40,11 @@ public class ApiResult extends HashMap<String, Object> {
r.put("msg", msg); r.put("msg", msg);
return r; return r;
} }
public static ApiResult ok(Map<String, Object> map) { // public static ApiResult ok(Map<String, Object> map) {
ApiResult r = new ApiResult(); // ApiResult r = new ApiResult();
r.putAll(map); // r.putAll(map);
return r; // return r;
} // }
public static ApiResult data(Object data) {
ApiResult r = ApiResult.ok();
r.put("data", data);
return r;
}
public static ApiResult ok(Object data) { public static ApiResult ok(Object data) {
ApiResult r = ApiResult.ok(); ApiResult r = ApiResult.ok();
r.put("data", data); r.put("data", data);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!