Commit 9faf969e authored by licc's avatar licc

代码提交

parent a3b41cbf
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.Actives; import cn.wisenergy.model.app.Actives;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
...@@ -12,5 +13,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -12,5 +13,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2021-06-15 * @since 2021-06-15
*/ */
public interface ActivesMapper extends BaseMapper<Actives> { public interface ActivesMapper extends BaseMapper<Actives> {
/**
* 通过userId,获取用户身份信息
* @param userId 用户id
* @return 用户身份信息
*/
Actives getByUserId(@Param("userId") Long userId);
} }
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.UsdtOrderDetails; import cn.wisenergy.model.app.UsdtOrderDetails;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
...@@ -12,5 +13,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -12,5 +13,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2021-06-15 * @since 2021-06-15
*/ */
public interface UsdtOrderDetailsMapper extends BaseMapper<UsdtOrderDetails> { public interface UsdtOrderDetailsMapper extends BaseMapper<UsdtOrderDetails> {
/**
* 计算该用户卖出金额
* @param userId 用户id
* @return 卖出金额
*/
Double getSaleTotal(@Param("userId") Long userId);
/**
* 计算该用户买入金额
* @param userId 用户id
* @return 买入金额
*/
Double getBuyTotal(@Param("userId") Long userId);
} }
package cn.wisenergy.mapper; package cn.wisenergy.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* @author 86187 * @author 86187
*/ */
public interface UserRechargeMapper extends BaseMapper<UserRechargeMapper> { public interface UserRechargeMapper extends BaseMapper<UserRechargeMapper> {
/**
* 获取该用户充值总金额
* @param userId 用户id
* @return 充值总金额
*/
Double getTotalRecharge(@Param("userId") Long userId);
} }
...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper; ...@@ -2,6 +2,7 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.UserWithdraws; import cn.wisenergy.model.app.UserWithdraws;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/** /**
* <p> * <p>
...@@ -12,5 +13,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -12,5 +13,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2021-06-15 * @since 2021-06-15
*/ */
public interface UserWithdrawsMapper extends BaseMapper<UserWithdraws> { public interface UserWithdrawsMapper extends BaseMapper<UserWithdraws> {
/**
* 获取该用户提现总额
* @param userId 用户id
* @return 提现总额
*/
Double getTotalWithdrawal(@Param("userId") Long userId);
} }
...@@ -2,7 +2,8 @@ package cn.wisenergy.mapper; ...@@ -2,7 +2,8 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.Users; import cn.wisenergy.model.app.Users;
import cn.wisenergy.model.app.dto.UsersInfoDto; import cn.wisenergy.model.dto.UsersInfoDto;
import cn.wisenergy.model.vo.UserVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -42,6 +43,30 @@ public interface UsersMapper extends BaseMapper<Users> { ...@@ -42,6 +43,30 @@ public interface UsersMapper extends BaseMapper<Users> {
*/ */
int delById(@Param("id") Integer id); int delById(@Param("id") Integer id);
Users getById(@Param("id") Long id);
/**
* 获取所有用户的下一级信息
* @param parentId 父id
* @return
*/
List<UserVo> getLastUser(@Param("parentId") Integer parentId);
/**
* 向下最深层级层级数
* @param id 用户id
* @return 层级数
*/
Double getDownLevel(@Param("id") Long id,@Param("userId") Long userId);
/**
* 伞下人员总和
* @param id 用户id
* @return 伞下人员总和
*/
Integer getTotal(@Param("id") Long id);
/*************** chenqi****************/ /*************** chenqi****************/
......
...@@ -4,15 +4,15 @@ ...@@ -4,15 +4,15 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.model.app.Actives"> <resultMap id="BaseResultMap" type="cn.wisenergy.model.app.Actives">
<id column="id" property="id" /> <id column="id" property="id"/>
<result column="user_id" property="userId" /> <result column="user_id" property="userId"/>
<result column="real_name" property="realName" /> <result column="real_name" property="realName"/>
<result column="id_number" property="idNumber" /> <result column="id_number" property="idNumber"/>
<result column="image" property="image" /> <result column="image" property="image"/>
<result column="status" property="status" /> <result column="status" property="status"/>
<result column="note" property="note" /> <result column="note" property="note"/>
<result column="created_at" property="createdAt" /> <result column="created_at" property="createdAt"/>
<result column="updated_at" property="updatedAt" /> <result column="updated_at" property="updatedAt"/>
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
...@@ -20,4 +20,18 @@ ...@@ -20,4 +20,18 @@
id, user_id, real_name, id_number, image, status, note, created_at, updated_at id, user_id, real_name, id_number, image, status, note, created_at, updated_at
</sql> </sql>
<sql id="table">
actives
</sql>
<select id="getByUserId" resultType="cn.wisenergy.model.app.Actives">
select
<include refid="Base_Column_List"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
</mapper> </mapper>
...@@ -28,4 +28,12 @@ ...@@ -28,4 +28,12 @@
id, order_no, user_id, sell_user_id, status, coin_name, trade_num, trade_price, fee, cny, pay_time, pay_name, prove, bank_info, reason, created_at, updated_at id, order_no, user_id, sell_user_id, status, coin_name, trade_num, trade_price, fee, cny, pay_time, pay_name, prove, bank_info, reason, created_at, updated_at
</sql> </sql>
<select id="getSaleTotal" resultType="java.lang.Double">
select sum(trade_num) from usdt_order_details where status=3 and sell_user_id=#{userId}
</select>
<select id="getBuyTotal" resultType="java.lang.Double">
select sum(trade_num) from usdt_order_details where status=3 and user_id=#{userId}
</select>
</mapper> </mapper>
...@@ -95,4 +95,8 @@ ...@@ -95,4 +95,8 @@
<if test="updatedAt != null">and #{updatedAt} &gt;= updated_at</if> <if test="updatedAt != null">and #{updatedAt} &gt;= updated_at</if>
</sql> </sql>
<select id="getTotalRecharge" resultType="java.lang.Double">
select sum(amount) from user_recharge where status=1 and user_id=#{userId}
</select>
</mapper> </mapper>
...@@ -39,4 +39,8 @@ ...@@ -39,4 +39,8 @@
id, withdraws_sn, user_id, currency_id, `name`, `type`, hash, `from`, `to`, bank_name, bank_branch, bank_real_name, bank_card, amount, fee, actual, status, user_ip, user_addr, user_device, review, review_name, review_ip, review_addr, receipt, remark, created_at, updated_at id, withdraws_sn, user_id, currency_id, `name`, `type`, hash, `from`, `to`, bank_name, bank_branch, bank_real_name, bank_card, amount, fee, actual, status, user_ip, user_addr, user_device, review, review_name, review_ip, review_addr, receipt, remark, created_at, updated_at
</sql> </sql>
<select id="getTotalWithdrawal" resultType="java.lang.Double">
select sum(amount) from user_withdraws where status=1 and user_id=#{userId}
</select>
</mapper> </mapper>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<result column="fund_pass" property="fundPass"/> <result column="fund_pass" property="fundPass"/>
<result column="nickname" property="nickname"/> <result column="nickname" property="nickname"/>
<result column="avatar" property="avatar"/> <result column="avatar" property="avatar"/>
<result column="invited_code" property="invitedCode"/> <result column="invite_code" property="inviteCode"/>
<result column="token" property="token"/> <result column="token" property="token"/>
<result column="hash" property="hash"/> <result column="hash" property="hash"/>
<result column="level" property="level"/> <result column="level" property="level"/>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</sql> </sql>
<sql id="cols_exclude_id"> <sql id="cols_exclude_id">
parent_id,path,rank,country_code,phone,password,fund_pass,nickname, avatar,invited_code,token,hash,`level`,now_level, parent_id,path,rank,country_code,phone,password,fund_pass,nickname, avatar,invite_code,token,hash,`level`,now_level,
grade,status,fund_status,active,note,reg_time,reg_ip,reg_address,did,read_time,start_at,expire_at,proxy,is_work, grade,status,fund_status,active,note,reg_time,reg_ip,reg_address,did,read_time,start_at,expire_at,proxy,is_work,
work_at,created_at,updated_at work_at,created_at,updated_at
</sql> </sql>
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
<if test="fundPass != null">fund_pass =#{fundPass},</if> <if test="fundPass != null">fund_pass =#{fundPass},</if>
<if test="nickname != null">nickname =#{nickname},</if> <if test="nickname != null">nickname =#{nickname},</if>
<if test="avatar != null">avatar =#{avatar},</if> <if test="avatar != null">avatar =#{avatar},</if>
<if test="inviteCode != null">invited_code = #{inviteCode},</if> <if test="inviteCode != null">invite_code = #{inviteCode},</if>
<if test="token != null">token = #{token},</if> <if test="token != null">token = #{token},</if>
<if test="hash != null">hash =#{hash},</if> <if test="hash != null">hash =#{hash},</if>
<if test="level != null">`level` =#{level},</if> <if test="level != null">`level` =#{level},</if>
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
<if test="fundPass != null">and fund_pass =#{fundPass}</if> <if test="fundPass != null">and fund_pass =#{fundPass}</if>
<if test="nickname != null">and nickname =#{nickname}</if> <if test="nickname != null">and nickname =#{nickname}</if>
<if test="avatar != null">and avatar =#{avatar}</if> <if test="avatar != null">and avatar =#{avatar}</if>
<if test="inviteCode != null">and invited_code = #{inviteCode}</if> <if test="inviteCode != null">and invite_code = #{inviteCode}</if>
<if test="token != null">and token = #{token}</if> <if test="token != null">and token = #{token}</if>
<if test="hash != null">and hash =#{hash}</if> <if test="hash != null">and hash =#{hash}</if>
<if test="level != null">and `level` =#{level}</if> <if test="level != null">and `level` =#{level}</if>
...@@ -153,60 +153,52 @@ ...@@ -153,60 +153,52 @@
where id = #{id} where id = #{id}
</delete> </delete>
<select id="getLastUser" resultType="cn.wisenergy.model.vo.UserVo">
select u.id as userId,u.parent_id as parentId,a.real_name as realName
from users u left join actives a
on u.id=a.user_id
where u.parent_id =#{parentId}
</select>
<select id="getById" resultType="cn.wisenergy.model.app.Users">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
id=#{id}
</where>
</select>
<!--*****************************************chenqi***************************************-->
<select id="getUsersById" resultType="cn.wisenergy.model.dto.UsersInfoDto">
SELECT u.id,a.real_name,a.id_number,u.phone,u.rank
FROM users u LEFT actives a ON u.id = a.user_id
LEFT user_recharge ur ON u.id = ur.user_id
LEFT user_withdraws uw ON u.id = uw.user_id
<where>
<!--*****************************************chenqi***************************************--> </where>
<select id="getDownUsersById" resultType="cn.wisenergy.model.app.dto.UsersInfoDto">
SELECT
u.id ,
a.real_name ,
a.id_number ,
u.phone ,
ur.totalRecharge ,
uw.totalWithdrawal,
u.rank
FROM
users u
LEFT JOIN actives a ON u.id = a.user_id
LEFT JOIN (
SELECT
sum(amount) 'totalRecharge',user_id
FROM
user_recharge
WHERE
STATUS = 1
GROUP BY user_id
) ur ON ur.user_id=u.id
LEFT JOIN (
SELECT
sum(amount) 'totalWithdrawal',user_id
FROM
user_withdraws
WHERE
STATUS = 1
GROUP BY user_id
) uw ON uw.user_id=u.id
WHERE
u.path LIKE CONCAT('%,',#{userId},',%')
GROUP BY
u.id
ORDER BY
u.rank
</select> </select>
<select id="getUsersById" resultType="cn.wisenergy.model.app.dto.UsersInfoDto">
SELECT id,
MAX(rank) 'bottom',
count(*)-1 'totalPeople'
FROM
users
WHERE
path LIKE CONCAT('%,',#{userId},',%')
<select id="getDownLevel" resultType="java.lang.Double">
select
((LENGTH(a.sub_path) - LENGTH(REPLACE(a.sub_path,",", ""))) / LENGTH(",")-2) as down_level from
(select id,SUBSTR(path,POSITION(",${id}," IN path)) as sub_path
from users where path LIKE CONCAT('%',#{id},'%')) a ORDER BY down_level desc limit 1
</select>
<select id="getTotal" resultType="java.lang.Integer">
select count(*)
from
<include refid="table"/>
<where>
path LIKE CONCAT('%',#{id},'%')
</where>
</select> </select>
</mapper> </mapper>
...@@ -192,5 +192,8 @@ ...@@ -192,5 +192,8 @@
<orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.3" level="project" /> <orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.3" level="project" />
<orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.11" level="project" /> <orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.11" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" /> <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" />
<orderEntry type="library" name="Maven: junit:junit:4.13.2" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:2.2" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
...@@ -88,8 +88,8 @@ public class Users implements Serializable { ...@@ -88,8 +88,8 @@ public class Users implements Serializable {
/** /**
* 邀请码 * 邀请码
*/ */
@ApiModelProperty(name = "invitedCode", value = "邀请码") @ApiModelProperty(name = "inviteCode", value = "邀请码")
private String invitedCode; private String inviteCode;
/** /**
* 登录token * 登录token
......
package cn.wisenergy.model.app.dto; package cn.wisenergy.model.dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -14,8 +14,8 @@ import lombok.experimental.Accessors; ...@@ -14,8 +14,8 @@ import lombok.experimental.Accessors;
@ApiModel(value="userDto类", description="返回dto") @ApiModel(value="userDto类", description="返回dto")
public class UsersInfoDto { public class UsersInfoDto {
@ApiModelProperty(name = "id", value = "会员ID") @ApiModelProperty(name = "userId", value = "会员ID")
private Long id; private Long userId;
@ApiModelProperty(name = "realName",value = "姓名") @ApiModelProperty(name = "realName",value = "姓名")
private String realName; private String realName;
...@@ -40,4 +40,10 @@ public class UsersInfoDto { ...@@ -40,4 +40,10 @@ public class UsersInfoDto {
@ApiModelProperty(name = "totalPeople", value = "伞下人员总和") @ApiModelProperty(name = "totalPeople", value = "伞下人员总和")
private Integer totalPeople; private Integer totalPeople;
@ApiModelProperty(name = "buyTotal", value = "otc卖入总额")
private String buyTotal;
@ApiModelProperty(name = "saleTotal", value = "otc卖出总额")
private String saleTotal;
} }
package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* @author 86187
*/
@Data
@ApiModel(value = "UserVo")
public class UserVo {
/**
* 用户id
*/
private Long userId;
/**
* 父id
*/
private Integer parentId;
/**
* 用户真实名字
*/
private String realName;
}
package cn.wisenergy.service.app; package cn.wisenergy.service.app;
import cn.wisenergy.model.app.dto.UsersInfoDto; import cn.wisenergy.model.dto.UsersInfoDto;
import java.util.List; import java.util.List;
......
...@@ -2,6 +2,10 @@ package cn.wisenergy.service.app; ...@@ -2,6 +2,10 @@ package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.Users; import cn.wisenergy.model.app.Users;
import cn.wisenergy.model.dto.UsersInfoDto;
import cn.wisenergy.model.vo.UserVo;
import java.util.List;
/** /**
* @author 86187 * @author 86187
...@@ -22,15 +26,18 @@ public interface UserService { ...@@ -22,15 +26,18 @@ public interface UserService {
Users getById(Long userId); Users getById(Long userId);
/** /**
* 根据手机号查询用户 * 获取用户下一级
*
* @return 树结构
*/ */
Users queryUsersByPhone(String userId); R<List<UserVo>> getLastUser(Long userId);
/** /**
* 根据OpenId查询用户 * 获取用户详细信息
* @param userId 用户id
* @return
*/ */
Users queryUsersByOpenId(String openId); R<UsersInfoDto> getByUserInfoById(Long userId);
} }
...@@ -4,7 +4,7 @@ import cn.wisenergy.common.enums.RespCodeEnum; ...@@ -4,7 +4,7 @@ import cn.wisenergy.common.enums.RespCodeEnum;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.UsersMapper; import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.Users; import cn.wisenergy.model.app.Users;
import cn.wisenergy.model.app.dto.UsersInfoDto; import cn.wisenergy.model.dto.UsersInfoDto;
import cn.wisenergy.service.app.TestUserService; import cn.wisenergy.service.app.TestUserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package cn.wisenergy.service.app.impl; package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.*; import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*; import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.UsersInfoDto;
import cn.wisenergy.model.vo.UserVo;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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.util.ArrayList;
import java.util.List;
/** /**
* @author 86187 * @author 86187
* @ Description: 用户接口实现 * @ Description: 用户接口实现
...@@ -21,18 +27,103 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, Users> implements ...@@ -21,18 +27,103 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, Users> implements
@Autowired @Autowired
private UsersMapper usersMapper; private UsersMapper usersMapper;
@Autowired
private ActivesMapper activesMapper;
@Autowired
private UserRechargeMapper userRechargeMapper;
@Autowired
private UserWithdrawsMapper withdrawsMapper;
@Autowired
private UsdtOrderDetailsMapper orderDetailsMapper;
@Override @Override
public Users getById(Long userId) { public Users getById(Long userId) {
return null; return null;
} }
@Override @Override
public Users queryUsersByPhone(String userId) { public R<List<UserVo>> getLastUser(Long userId) {
return null;
//用户id为空时,查询最顶级
if (null == userId) {
userId = 1L;
Users users = usersMapper.getById(userId);
UserVo userVo = new UserVo();
userVo.setUserId(users.getId());
userVo.setParentId(users.getParentId());
userVo.setRealName(null);
List<UserVo> list = new ArrayList<>();
list.add(userVo);
return R.ok(list);
}
//id不为空,查询当前用户的下一级
Users user = usersMapper.getById(userId);
List<UserVo> lastList = usersMapper.getLastUser(Integer.valueOf(user.getId().toString()));
return R.ok(lastList);
} }
@Override @Override
public Users queryUsersByOpenId(String id) { public R<UsersInfoDto> getByUserInfoById(Long userId) {
return null; if (null == userId) {
return R.error("入参不能为空!");
} }
UsersInfoDto userDto = new UsersInfoDto();
//1、获取用户信息
Users users = usersMapper.getById(userId);
if (null != users) {
userDto.setUserId(users.getId());
userDto.setPhone(users.getPhone());
userDto.setRank(users.getRank());
}
//2、获取用户身份信息
Actives actives = activesMapper.getByUserId(userId);
if (null != actives) {
userDto.setIdNumber(actives.getIdNumber());
userDto.setRealName(actives.getRealName());
}
//3、向下最深层级层级数
double downLevel = usersMapper.getDownLevel(userId, userId);
userDto.setBottom((int) downLevel);
//4、伞下人员总和
Integer total = usersMapper.getTotal(userId);
if (null != total) {
userDto.setTotalPeople(total);
}
//5、充值总额
Double totalRecharge = userRechargeMapper.getTotalRecharge(userId);
if (null != totalRecharge) {
userDto.setTotalRecharge(String.valueOf(totalRecharge));
}
//6、提现总额
Double totalWithdrawal = withdrawsMapper.getTotalWithdrawal(userId);
if (null != totalWithdrawal) {
userDto.setTotalWithdrawal(String.valueOf(totalWithdrawal));
}
//7、otc卖出总额
Double buyTotal = orderDetailsMapper.getBuyTotal(userId);
if (null != buyTotal) {
userDto.setBuyTotal(String.valueOf(buyTotal));
}
//8、otc买入总额
Double saleTotal = orderDetailsMapper.getSaleTotal(userId);
if (null != saleTotal) {
userDto.setSaleTotal(String.valueOf(saleTotal));
}
return R.ok(userDto);
}
} }
...@@ -4,6 +4,8 @@ import cn.wisenergy.common.constant.RedisConsts; ...@@ -4,6 +4,8 @@ import cn.wisenergy.common.constant.RedisConsts;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.common.utils.RedisUtils; import cn.wisenergy.common.utils.RedisUtils;
import cn.wisenergy.model.app.Users; import cn.wisenergy.model.app.Users;
import cn.wisenergy.model.dto.UsersInfoDto;
import cn.wisenergy.model.vo.UserVo;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.common.BaseController; import cn.wisenergy.web.common.BaseController;
import cn.wisenergy.web.config.JwtConfig; import cn.wisenergy.web.config.JwtConfig;
...@@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -18,6 +20,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
...@@ -73,4 +76,17 @@ public class UserController extends BaseController { ...@@ -73,4 +76,17 @@ public class UserController extends BaseController {
} }
@ApiOperation(value = "获取用户顶级/下一级", notes = "获取用户顶级/下一级", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "用户id,空值查询顶级,其他查询下一级", dataType = "int")
@GetMapping("/user/getLastUser")
public R<List<UserVo>> getLastUser(Long userId) {
return userService.getLastUser(userId);
}
@ApiOperation(value = "获取用户详细信息", notes = "获取用户详细信息", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "用户id", dataType = "int")
@GetMapping("/user/getUserInfo")
public R<UsersInfoDto> getUserInfo(Long userId) {
return userService.getByUserInfoById(userId);
}
} }
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