Commit b0ac7c0d by xunj

优化

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