Commit c2d734ca authored by licc's avatar licc

Merge remote-tracking branch 'origin/master'

parents b93b9eca bfd921ab
......@@ -4,6 +4,7 @@ import cn.wisenergy.model.app.OrderInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
......@@ -31,4 +32,10 @@ public interface OrderMapper extends BaseMapper<OrderInfo> {
*/
OrderInfo getByTid(@Param("tid")String tid);
/**
* 获取当前用户的业绩
* @param userId
* @return
*/
BigDecimal getPerformanceByUserid(String userId);
}
......@@ -8,9 +8,21 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface RecommendUserMapper extends BaseMapper<RecommendUser> {
/**
* 获取用户直推信息
* @param userId 用户Id
* @return 用户直推信息
*/
RecommendUser getByUserId(String userId);
//根据用户推荐人的userid,查询数据库用户直推表,看推荐人用户是否存在
Integer zcByUserId(String userid);
/**
* 获取用户的直推用户总人数
* @param userId 用户Id
* @return 直推用户总人数
*/
Integer getRecommendUserCountByUserId(String userId);
}
......@@ -60,4 +60,19 @@ public interface TeamPerformanceMapper extends BaseMapper<TeamPerformance> {
Double countTwenty(@Param("yearMonth") String yearMonth);
List<TeamPerformance> userTwenty(@Param("yearMonth") String yearMonth);
/**
* 当前用户的团队总业绩
* @param userId 当前用户id
* @return 当前用户的团队累计总业绩金额
*/
Double countUserTeamByUserId(@Param("userId") String userId);
/**
* 当前用户本月团队新增业绩
* @param userId 用户Id
* @return 当前用户本月团队新增业绩
*/
Double monthUserTeamByuserId(@Param("userid") String userId,@Param("yearMonth") String yearMonth);
}
......@@ -10,7 +10,20 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface TeamUserInfoMapper extends BaseMapper<TeamUserInfo> {
TeamUserInfo getByUserId(String userid);
// TeamUserInfo getByUserId(String userid);
//根据userId查询用户是否存在
Integer czByUserId(String userId);
/**
* 获取用户的团队信息
* @param userId 用户Id
* @return 用户的团队信息
*/
TeamUserInfo getByUserId(String userId);
/**
* 获取用户的团队总人数
* @param userId 用户Id
* @return 团队总人数
*/
Integer getTeamUserCount(String userId);
}
......@@ -106,4 +106,11 @@ public interface UsersMapper extends BaseMapper<User> {
Integer insertbyint(@Param("userId")String userId, @Param("beInvitedCode") String beInvitedCode);
Integer edit1(@Param("userId")String userId);
Integer getuserIdById(@Param("userId")String userId);
/**
* 根据userid获取获取所有的直接推荐人
* @param inviteCode 用户本人的邀请码
* @return 所有填写此人的邀请码的用户
*/
List<User> getByInviteCode(@Param("inviteCode") String inviteCode, @Param("userlevel") int userLevel);
}
......@@ -113,4 +113,14 @@
</where>
</select>
<select id="getPerformanceByUserid" resultType="java.math.BigDecimal" >
select
sum(payment)
from
<include refid="table"/>
<where>
buyer_id=#{userid}
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -15,6 +15,8 @@
<result column="partner_num" property="partnerNum"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="monthy_count" property="monthyCount"/>
<result column="history_count" property="historyCount"/>
</resultMap>
<sql id="table">
......@@ -28,12 +30,12 @@
<sql id="cols_exclude_id">
user_id,normal_user_num,seedling_num,bronze_tree_num,silver_tree_num,
gold_tree_num,farmer_num,forest_start_num,partner_num,create_time,update_time
gold_tree_num,farmer_num,forest_start_num,partner_num,create_time,update_time,monthy_count,history_count
</sql>
<sql id="vals">
#{userId},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
#{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now()
#{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now(),#{monthy_count},#{history_count}
</sql>
<sql id="updateCondition">
......@@ -45,6 +47,8 @@
<if test="farmerNum != null">referrer_num =#{farmerNum},</if>
<if test="forestStartNum != null">referrer_num =#{forestStartNum},</if>
<if test="partnerNum != null">referrer_num =#{partnerNum},</if>
<if test="monthyCount != null">referrer_num =#{monthyCount},</if>
<if test="historyCount != null">referrer_num =#{historyCount},</if>
update_time =now()
</sql>
......@@ -60,6 +64,8 @@
<if test="partnerNum != null">and referrer_num =#{partnerNum},</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
<if test="monthyCount != null">and #{monthyCount} &gt;= monthyCount</if>
<if test="historyCount != null">and #{historyCount} &gt;= historyCount</if>
</sql>
<select id="getByUserId" resultType="cn.wisenergy.model.app.RecommendUser">
......@@ -83,4 +89,15 @@
</select>
<!--用户信息插入用户直推表-->
<select id="getRecommendUserCountByUserId" resultType="java.lang.Integer">
select
(normal_user_num+seedling_num+bronze_tree_num+silver_tree_num+
gold_tree_num+farmer_num+forest_start_num+partner_num) AS RecommendUserCount
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -164,4 +164,22 @@
</where>
</select>
<select id="countUserTeamByUserId" resultType="double">
select sum(month_team_performance)
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<select id="monthUserTeamByuserId" resultType="double">
select month_team_performance
from
<include refid="table"/>
<where>
user_id=#{userid}
and `year_month` = #{yearMonth}
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -83,4 +83,14 @@
</select>
<select id="getTeamUserCount" resultType="java.lang.Integer" >
select
(normal_user_num+seedling_num+bronze_tree_num+silver_tree_num+
gold_tree_num+farmer_num+forest_start_num+partner_num) AS teamUserCount
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -268,5 +268,17 @@
</if>
</select>
<!-- 获取当前用户的所有直接推荐人-->
<select id="getByInviteCode" resultType="cn.wisenergy.model.app.User" parameterType="string">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
be_invited_code=#{inviteCode}
</where>
and user_level=#{userlevel}
</select>
</mapper>
......@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -91,4 +92,16 @@ public class RecommendUser implements Serializable {
*/
@ApiModelProperty(name = "updateTime", value = "更新时间")
private Date updateTime;
/**
* 用户当月消费金额
*/
@ApiModelProperty(name = "monthyCount", value = "用户当月消费金额")
private BigDecimal monthyCount;
/**
* 用户当月消费金额
*/
@ApiModelProperty(name = "history_count", value = "用户累计消费金额")
private BigDecimal historyCount;
}
package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel("UserAndRecommendVo")
public class UserAndRecommendVo {
/**
* 用户id
*/
private String userId;
/**
* 当月消费金额
*/
private BigDecimal monthyCount;
/**
* 累计消费金额
*/
private BigDecimal historyCount;
}
......@@ -95,6 +95,11 @@
<artifactId>open-sdk-common</artifactId>
<version>1.0.7-RELEASE</version>
</dependency>
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>1.9.2</version>
</dependency>
</dependencies>
<!-- MAVEN构建 -->
......
......@@ -10,7 +10,16 @@ import com.youzan.cloud.open.sdk.gen.v4_0_0.model.YouzanTradesSoldGetResult;
* @author 86187
*/
public interface OrderService {
/**
* 根据有赞的订单创建时间获取订单数据
* @throws SDKException
*/
void getYouZanOrdersForCreateTime() throws SDKException;
/**
* 根据有赞的订单修改时间获取订单数据
* @throws SDKException
*/
void getYouZanOrdersForUpdateTime() throws SDKException;
}
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.RecommendUser;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.vo.UserAndRecommendVo;
import java.util.List;
public interface RecommendUserService {
RecommendUser getMyRecommed(String userId);
List<UserAndRecommendVo> getMyRecommendInfo(String userId, Integer userLevel);
}
package cn.wisenergy.service.app;
import cn.wisenergy.model.app.TeamUserInfo;
public interface TeamUserInfoService {
TeamUserInfo getOneById(String userId);
/**
* 获取团队总人数
* @param userId 用户Id
* @return 用户团队总人数
*/
int getTeamUserCount(String userId);
}
package cn.wisenergy.service.app;
import java.util.Map;
public interface UserForestStatusService {
/**
* 用户森林状态
* @param userId
* @return
*/
Map getUserForestStatus(String userId);
}
......@@ -143,9 +143,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
try {
// startUpdateDate = sdf.parse("2021-02-28 11:04:01");
// endUpdateDate = sdf.parse("2021-03-2 16:39:59");
startCreatedDate = sdf.parse(sdf.format(new Date(date.getTime()-(long) 80*24*60*60*1000)));
startUpdateDate = sdf.parse(sdf.format(new Date(date.getTime()-(long) 80*24*60*60*1000)));
log.info("订单修改开始时间"+sdf.format(startUpdateDate));
startUpdateDate = sdf.parse(sdf.format(date));
endUpdateDate = sdf.parse(sdf.format(date));
log.info("订单修改结束时间"+sdf.format(endUpdateDate));
} catch (ParseException e) {
e.printStackTrace();
......@@ -162,8 +162,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
YouzanTradesSoldGetResult.YouzanTradesSoldGetResultOrderinfo youzanOrderInfo = youzanTradesSoldGetResultFullorderinfolist.getFullOrderInfo().getOrderInfo();
YouzanTradesSoldGetResult.YouzanTradesSoldGetResultPayinfo payInfo = youzanTradesSoldGetResultFullorderinfolist.getFullOrderInfo().getPayInfo();
log.info(youzanTradesSoldGetResultFullorderinfolist.toString());
//根据修改时间获取到的有赞订单数据的Tid
String tid = youzanOrderInfo.getTid();
OrderInfo orderByTid = orderMapper.getByTid(tid);
......
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.RecommendUserMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.RecommendUser;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.vo.UserAndRecommendVo;
import cn.wisenergy.service.app.RecommendUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class RecommendUserServiceImpl implements RecommendUserService {
@Autowired
RecommendUserMapper recommendUserMapper;
@Autowired
UsersMapper usersMapper;
/**
* 获取用户的直推信息表数据
* @param userId
* @return
*/
@Override
public RecommendUser getMyRecommed(String userId) {
return recommendUserMapper.getByUserId(userId);
}
public List<UserAndRecommendVo> getMyRecommendInfo(String userId, Integer userLevel){
//当前用户的邀请码
String userIntiveCode = usersMapper.getByUserId(userId).getInviteCode();
//通过用户的邀请码获取各个等级的直推用户信息
List<User> byInviteCode = usersMapper.getByInviteCode(userIntiveCode,userLevel);
List<UserAndRecommendVo> userAndRecommendVos = new ArrayList<>();
for (User user : byInviteCode) {
UserAndRecommendVo userAndRecommendVo = new UserAndRecommendVo();
userAndRecommendVo.setUserId(user.getUserId());
userAndRecommendVo.setMonthyCount(recommendUserMapper.getByUserId(userId).getMonthyCount());
userAndRecommendVo.setHistoryCount(recommendUserMapper.getByUserId(userId).getHistoryCount());
userAndRecommendVos.add(userAndRecommendVo);
}
return userAndRecommendVos;
}
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.mapper.TeamUserInfoMapper;
import cn.wisenergy.model.app.TeamUserInfo;
import cn.wisenergy.service.app.TeamUserInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class TeamUserInfoServiceImpl implements TeamUserInfoService {
@Autowired
TeamUserInfoMapper teamUserInfoMapper;
/**
* 根据用户id获取用户的团队信息
* @param userId
* @return
*/
@Override
public TeamUserInfo getOneById(String userId) {
TeamUserInfo byUserId = teamUserInfoMapper.getByUserId(userId);
return byUserId;
}
/**
* 获取团队总人数
* @param userId 用户Id
* @return 用户团队总人数
*/
@Override
public int getTeamUserCount(String userId){
int teamUserCount = teamUserInfoMapper.getTeamUserCount(userId);
return teamUserCount;
}
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.RecommendUser;
import cn.wisenergy.model.app.TeamPerformance;
import cn.wisenergy.model.app.TeamUserInfo;
import cn.wisenergy.service.app.UserForestStatusService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.ws.soap.Addressing;
import java.math.BigDecimal;
import java.sql.Time;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 用户森林状态
* @author 86187
*/
@Service
@Slf4j
public class UserForestStatusServiceImpl implements UserForestStatusService {
@Autowired
UsersMapper usersMapper;
@Autowired
RecommendUserMapper recommendUserMapper;
@Autowired
TeamUserInfoMapper teamUserInfoMapper;
@Autowired
TeamPerformanceMapper teamPerformanceMapper;
@Autowired
OrderMapper orderMapper;
/**
* 根据用户id获取用户森林状态
* @param userId
* @return
*/
//todo:团队当月新增业绩
@Override
public Map getUserForestStatus(String userId) {
//用户升级条件
BigDecimal levelTerm = new BigDecimal(3980);
HashMap<Object, Object> userForestStatusMap = new HashMap<>();
String date = DateUtil.convertDateToStr(new Date(), "yyyy-MM");
//1.获取当前用户的等级
Integer userLevel = usersMapper.getByUserId(userId).getUserLevel();
//2.获取当前用户的直推总人数
Integer recommendUserCountByUserId = recommendUserMapper.getRecommendUserCountByUserId(userId);
//3.获取当前用户的团队总人数
Integer teamUserCount = teamUserInfoMapper.getTeamUserCount(userId);
//4.团队累计总业绩
Double teamCountDouble = teamPerformanceMapper.countUserTeamByUserId(userId);
//5.团队当月新增业绩
Double teamNowCount = teamPerformanceMapper.monthUserTeamByuserId(userId,date);
//用户直推表信息
RecommendUser recommendUserMapperByUserId = recommendUserMapper.getByUserId(userId);
//用户团队表信息
TeamUserInfo teamUserInfobyUserId = teamUserInfoMapper.getByUserId(userId);
//距离下级直推用户还需增加的数量
int recommend =0;
//距离下级团队用户还需增加的数量
int team =0;
//6.距离下级升级条件
if(userLevel < 2){
//用户等级 < 幼苗 显示业绩缺少额度
//获取当前用户的业绩
BigDecimal performanceByUserid = orderMapper.getPerformanceByUserid(userId);
//距离升级还差多少额度
BigDecimal difference = levelTerm.subtract(performanceByUserid);
userForestStatusMap.put("difference",difference);
}else if (userLevel == 2){
//用户等级为青铜树
int levelTerm1 = 20;
Integer seedlingNum = recommendUserMapperByUserId.getSeedlingNum();
recommend = levelTerm1 - seedlingNum;
userForestStatusMap.put("recommend",recommend);
}else if (userLevel == 3){
//用户等级为白银树
int goldLevelRecommend = 54;
int goldLevelteam = 20;
//直推用户之和
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getSilverTreeNum();
//所差直推用户的数量
recommend = goldLevelRecommend - countRecommend;
//所差团队用户的数量
team = goldLevelteam - teamUserInfobyUserId.getBronzeTreeNum();
userForestStatusMap.put("recommend",recommend);
userForestStatusMap.put("team",team);
}else if (userLevel == 4){
//用户等级为黄金树
int farmerLevelRecommend = 73;
int fammerLevelTeam = 40;
//用户直推之和
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getGoldTreeNum();
//用户团队之和
Integer countTeam = teamUserInfobyUserId.getSilverTreeNum();
//所差直推用户的数量
recommend = farmerLevelRecommend - countRecommend;
//所差团队用户的数量
team = fammerLevelTeam - teamUserInfobyUserId.getBronzeTreeNum();
userForestStatusMap.put("recommend",recommend);
userForestStatusMap.put("team",team);
}else if (userLevel == 5){
//用户等级为农场主
int farmerLevelRecommend = 73;
int fammerLevelTeam = 40;
//用户直推之和
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getGoldTreeNum();
//用户团队之和
Integer countTeam = teamUserInfobyUserId.getSilverTreeNum();
//所差直推用户的数量
recommend = farmerLevelRecommend - countRecommend;
//所差团队用户的数量
team = fammerLevelTeam - teamUserInfobyUserId.getBronzeTreeNum();
userForestStatusMap.put("recommend",recommend);
userForestStatusMap.put("team",team);
}else if (userLevel == 6){
//用户等级为森林之星
int forestStartNumLevelRecommend = 101;
int forestStartNumLevelTeam = 170;
//用户直推之和
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getForestStartNum();
//用户团队之和
Integer countTeam = teamUserInfobyUserId.getSilverTreeNum()+teamUserInfobyUserId.getGoldTreeNum()+teamUserInfobyUserId.getFarmerNum();
//所差直推用户的数量
recommend = forestStartNumLevelRecommend - countRecommend;
//所差团队用户的数量
team = forestStartNumLevelTeam - countTeam;
userForestStatusMap.put("recommend",recommend);
userForestStatusMap.put("team",team);
}
userForestStatusMap.put("userLevel",userLevel);
userForestStatusMap.put("recommendUserCount",recommendUserCountByUserId);
userForestStatusMap.put("teamUserCount",teamUserCount);
if (teamCountDouble == null ){
userForestStatusMap.put("teamCountDouble",0);
}else {
userForestStatusMap.put("teamCountDouble",teamCountDouble);
}
if (teamNowCount == null){
userForestStatusMap.put("teamNowCount",0);
}else {
userForestStatusMap.put("teamNowCount",teamNowCount);
}
return userForestStatusMap;
}
// public
}
......@@ -56,6 +56,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
//用户等级升级为幼苗 1
//若当前用户等级为0(普通用户)且跨境额度(业绩消费金额)>= 3980 进行升级0-->1
//todo:根据业绩去计算 查一次表获取业绩
if (userLevel == 0 && crossBorderLine.intValue() >= 3980){
user.setUserLevel(1);
usersMapper.updateById(user);
......@@ -435,6 +436,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum()-1);
}
//邀请人的团队用户信息表中幼苗数量 + 1
//第一波用户是谁邀请的
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(intiveUserByUserId.getBeInvitedCode())){
......
......@@ -54,7 +54,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Override
public User getByUserId(String userId) {
return null;
return usersMapper.getByUserId(userId);
}
......
......@@ -3,21 +3,36 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.constant.RedisConsts;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.common.utils.RedisUtils;
import cn.wisenergy.common.utils.StringUtil;
import cn.wisenergy.mapper.RecommendUserMapper;
import cn.wisenergy.mapper.TeamUserInfoMapper;
import cn.wisenergy.model.app.RecommendUser;
import cn.wisenergy.model.app.TeamUserInfo;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.model.vo.UserAndRecommendVo;
import cn.wisenergy.service.app.RecommendUserService;
import cn.wisenergy.service.app.TeamUserInfoService;
import cn.wisenergy.service.app.UserForestStatusService;
import cn.wisenergy.service.app.UserService;
import cn.wisenergy.web.common.BaseController;
import cn.wisenergy.web.config.JwtConfig;
import cn.wisenergy.web.shiro.JwtUtil;
import cn.wisenergy.web.sms.*;
import com.alibaba.druid.sql.ast.statement.SQLIfStatement;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.time.Month;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -32,6 +47,15 @@ public class UserController extends BaseController {
@Autowired
private UserService userService;
@Autowired
private UserForestStatusService userForestStatusService;
@Autowired
RecommendUserService recommendUserService;
@Autowired
TeamUserInfoService teamUserInfoService;
@Autowired
private JwtUtil jwtUtil;
......@@ -73,4 +97,45 @@ public class UserController extends BaseController {
return R.ok(token);
}
@ApiOperation(value = "获取用户森林状态接口", notes = "获取用户森林状态接口", httpMethod = "GET")
@GetMapping("/forestStatus")
public R<Map> forestStatus(String userId){
if (null == userId){
return R.error("入参为空");
}
try {
Map userForestStatus = userForestStatusService.getUserForestStatus(userId);
return R.ok(userForestStatus);
} catch (Exception e) {
return R.error(1,"请重新尝试");
}
}
@ApiOperation(value = "获取用户我的直推信息", notes = "获取用户我的直推信息", httpMethod = "GET")
@GetMapping("/myRecommend")
public R<Map> getMyRecommend(String userId){
int userLevel = userService.getByUserId(userId).getUserLevel();
RecommendUser myRecommed = recommendUserService.getMyRecommed(userId);
Map myRecommedMap = new HashMap();
myRecommedMap.put("userlevel",userLevel);
myRecommedMap.put("myRecommed",myRecommed);
return R.ok(myRecommedMap);
}
@ApiOperation(value = "获取用户我的团队信息", notes = "获取用户我的团队推信息", httpMethod = "GET")
@GetMapping("/myTeam")
public R<TeamUserInfo> getMyTeam(String userId){
TeamUserInfo myTeam = teamUserInfoService.getOneById(userId);
return R.ok(myTeam);
}
@ApiOperation(value = "获取用户我的直推信息详情", notes = "获取用户我的直推信息详情", httpMethod = "GET")
@GetMapping("/myRecommendInfo")
public R<List<UserAndRecommendVo>> getMyRecommendInfo(@RequestParam("userid") String userid, @RequestParam("userlevel") int userlevel){
List<UserAndRecommendVo> myRecommendInfo = recommendUserService.getMyRecommendInfo(userid, userlevel);
return R.ok(myRecommendInfo);
}
}
......@@ -32,21 +32,35 @@ spring:
wall:
config:
multi-statement-allow: true
#/www/server/redis/src/redis-server
redis:
open: false # 是否开启redis缓存 true开启 false关闭
database: 0
host: 39.97.107.31
port: 6379
password: 1qaz@WSX # 密码(默认为空)
timeout: 6000ms # 连接超时时长(毫秒)
password:
timeout: 6000ms
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接
#jwt:
#jwt:
## # 加密秘钥
## secret: f4e2e52034348f86b67cde581c0f9eb5
## # token有效时长,单位秒
## expire: 14400
xxl:
job:
accessToken:
admin:
addresses: http://127.0.0.1:8090/job-admin
executor:
address:
appname: shop-mall
ip: 127.0.0.1
logpath: /home/meepo/logs/xxl-job/jobhandler
logretentiondays: 30
port: 9999
server:
tomcat:
uri-encoding: UTF-8
max-threads: 1000
min-spare-threads: 30
threads:
max: 1000
min-spare: 30
port: 8997
connection-timeout: 5000ms
spring:
main:
......
### web
server.port=8080
server.servlet.context-path=/xxl-job-admin
server.port=8090
server.servlet.context-path=/job-admin
### actuator
management.server.servlet.context-path=/actuator
......@@ -24,14 +24,14 @@ mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root_pwd
spring.datasource.username=xxl_job
spring.datasource.password=6EmAWkCtwc5SjKxd
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
### datasource-pool
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=HikariCP
......
admin_name=Scheduling Center
admin_name_full=Distributed Task Scheduling Platform XXL-JOB
admin_name_full=Distributed Task Scheduling Platform
admin_version=2.3.0
admin_i18n=en
......
admin_name=任务调度中心
admin_name_full=分布式任务调度平台XXL-JOB
admin_name_full=分布式任务调度平台
admin_version=2.3.0
admin_i18n=
......
admin_name=任務調度中心
admin_name_full=分布式任務調度平臺XXL-JOB
admin_name_full=分布式任務調度平臺
admin_version=2.3.0
admin_i18n=
......
......@@ -2,7 +2,7 @@
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<contextName>logback</contextName>
<property name="log.path" value="/data/applogs/xxl-job/xxl-job-admin.log"/>
<property name="log.path" value="/home/meepo/logs/xxl-job/xxl-job-admin.log"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
......
......@@ -67,7 +67,7 @@
<#macro commonHeader>
<header class="main-header">
<a href="${request.contextPath}/" class="logo">
<span class="logo-mini"><b>XXL</b></span>
<span class="logo-mini"><b>任务调度系统</b></span>
<span class="logo-lg"><b>${I18n.admin_name}</b></span>
</a>
<nav class="navbar navbar-static-top" role="navigation">
......@@ -226,14 +226,5 @@
</#macro>
<#macro commonFooter >
<footer class="main-footer">
Powered by <b>XXL-JOB</b> ${I18n.admin_version}
<div class="pull-right hidden-xs">
<strong>Copyright &copy; 2015-${.now?string('yyyy')} &nbsp;
<a href="https://www.xuxueli.com/" target="_blank" >xuxueli</a>
&nbsp;
<a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a>
</strong><!-- All rights reserved. -->
</div>
</footer>
<footer class="main-footer"></footer>
</#macro>
\ No newline at end of file
......@@ -25,12 +25,8 @@
<h4>${I18n.admin_name_full}</h4>
<br>
<p>
<a target="_blank" href="https://github.com/xuxueli/xxl-job">Github</a>&nbsp;&nbsp;&nbsp;&nbsp;
<iframe src="https://ghbtns.com/github-btn.html?user=xuxueli&repo=xxl-job&type=star&count=true" frameborder="0" scrolling="0" width="170px" height="20px" style="margin-bottom:-5px;"></iframe>
<br><br>
<a target="_blank" href="https://www.xuxueli.com/xxl-job/">${I18n.job_help_document}</a>
<br><br>
</p>
<p></p>
</div>
......
......@@ -243,23 +243,23 @@
<input type="hidden" name="glueRemark" value="GLUE代码初始化" >
<textarea name="glueSource" style="display:none;" ></textarea>
<textarea class="glueSource_java" style="display:none;" >
package com.xxl.job.service.handler;
package cn.wisenergy.job.service.handler;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.IJobHandler;
import cn.wisenergy.job.core.context.XxlJobHelper;
import cn.wisenergy.job.core.handler.IJobHandler;
public class DemoGlueJobHandler extends IJobHandler {
@Override
public void execute() throws Exception {
XxlJobHelper.log("XXL-JOB, Hello World.");
JobHelper.log("Hello World.");
}
}
</textarea>
<textarea class="glueSource_shell" style="display:none;" >
#!/bin/bash
echo "xxl-job: hello shell"
echo "hello shell"
echo "${I18n.jobinfo_script_location}:$0"
echo "${I18n.jobinfo_field_executorparam}:$1"
......@@ -281,7 +281,7 @@ exit 0
import time
import sys
print "xxl-job: hello python"
print "hello python"
print "${I18n.jobinfo_script_location}:", sys.argv[0]
print "${I18n.jobinfo_field_executorparam}:", sys.argv[1]
......@@ -303,7 +303,7 @@ logging.info("脚本文件:" + sys.argv[0])
<textarea class="glueSource_php" style="display:none;" >
<?php
echo "xxl-job: hello php \n";
echo "hello php \n";
echo "${I18n.jobinfo_script_location}:$argv[0] \n";
echo "${I18n.jobinfo_field_executorparam}:$argv[1] \n";
......@@ -317,7 +317,7 @@ logging.info("脚本文件:" + sys.argv[0])
</textarea>
<textarea class="glueSource_nodejs" style="display:none;" >
#!/usr/bin/env node
console.log("xxl-job: hello nodejs")
console.log("hello nodejs")
var arguments = process.argv
......@@ -333,7 +333,7 @@ console.log("Good bye!")
process.exit(0)
</textarea>
<textarea class="glueSource_powershell" style="display:none;" >
Write-Host "xxl-job: hello powershell"
Write-Host "hello powershell"
Write-Host "${I18n.jobinfo_script_location}: " $MyInvocation.MyCommand.Definition
Write-Host "${I18n.jobinfo_field_executorparam}: "
......
......@@ -9,7 +9,7 @@
<body class="hold-transition login-page">
<div class="login-box">
<div class="login-logo">
<a><b>XXL</b>JOB</a>
<a><b>任务调度系统</b></a>
</div>
<form id="loginForm" method="post" >
<div class="login-box-body">
......
......@@ -28,7 +28,7 @@ public class XxlJobFileAppender {
* ---/2017-12-25/821.log
*
*/
private static String logBasePath = "/data/applogs/xxl-job/jobhandler";
private static String logBasePath = "/home/meepo/logs/xxl-job/jobhandler";
private static String glueSrcPath = logBasePath.concat("/gluesource");
public static void initLogPath(String logPath){
// init
......
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