Commit c3c9ad34 authored by m1991's avatar m1991

Merge remote-tracking branch 'origin/master'

parents 7e81979f a7bad074
......@@ -2,10 +2,12 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.OrderInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
......@@ -57,7 +59,29 @@ public interface OrderMapper extends BaseMapper<OrderInfo> {
*/
List<OrderInfo> getByCreateTime(@Param("created") Date created);
/**
* 根据升级状态获取订单数据
* @param levelStatus
* @return
*/
List<OrderInfo> getByLevelStatus(int levelStatus);
/**
* 根据月度任务状态获取订单数据
* @param monthOrderStatus
* @return
*/
List<OrderInfo> getByMonthOrderStatus(int monthOrderStatus);
/**
* 总条数
* @return
*/
int count();
/**
* 分页查询订单信息
* @param map
*/
List<OrderInfo> findByPage(HashMap<String, Object> map);
}
......@@ -176,4 +176,26 @@
success_time is not null
</select>
<select id="findByPage" resultType="cn.wisenergy.model.app.OrderInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
<if test="userId != null and userId != ''">
user_id=#{userId}
</if>
</where>
order by create_time desc
limit #{startNum},#{endNum}
</select>
<select id="count" resultType="java.lang.Integer">
select count(1)
from
<include refid="table"/>
</select>
</mapper>
\ No newline at end of file
package cn.wisenergy.model.dto;
import cn.wisenergy.common.constant.CacheConstants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author 86187
*/
@Data
@ApiModel("AccountInfoQuery")
public class OrderInfoQuery {
/**
* 用户id
*/
@ApiModelProperty(value = "用户id",name = "userId")
private String userId;
/**
* 页码
*/
@ApiModelProperty(value = "页码", name = "pageNo")
private Integer pageNo;
/**
* 页条数
*/
@ApiModelProperty(value = "页条数", name = "pageSize")
private Integer pageSize;
private Integer startNum;
private Integer endNum;
}
package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.OrderInfo;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.dto.OrderInfoQuery;
import com.github.pagehelper.PageInfo;
import com.youzan.cloud.open.sdk.common.exception.SDKException;
import com.youzan.cloud.open.sdk.gen.v4_0_0.model.YouzanTradesSoldGetResult;
/**
*@ Description: 订单接口定义
......@@ -22,4 +26,10 @@ public interface OrderService {
* @throws SDKException
*/
void getYouZanOrdersForUpdateTime() throws SDKException;
/**
* 分页查询所有订单数据
* @return
*/
R<PageInfo<OrderInfo>> findByPage(OrderInfoQuery query);
}
......@@ -9,4 +9,7 @@ public interface UserLevelService {
*/
void userLevelUpgrade(String userId);
//同步accountInfo 和TeamPerformance 的用户等级
void accountAndTeamPerformanceUserLevelUpdate(String userId);
}
......@@ -107,4 +107,12 @@ public interface UserService {
*/
R<PageInfo<User>> getUserList(TeamQueryDto queryDto);
/**
* 将普通用户等级设置为幼苗用户等级
* @param userId 用户的userId
* @param userLevel 用户等级
* @return 成功失败
*/
int setUserLevelToSeedling(String userId, Integer userLevel);
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.constant.CommonAttributes;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.OrderMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.OrderInfo;
import cn.wisenergy.model.dto.AccountInfoQuery;
import cn.wisenergy.model.dto.OrderInfoQuery;
import cn.wisenergy.service.app.OrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.youzan.cloud.open.sdk.common.exception.SDKException;
import com.youzan.cloud.open.sdk.core.client.auth.Token;
......@@ -24,6 +29,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
......@@ -70,12 +76,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
// startCreatedDate = sdf.parse("2021-01-28 11:04:01");
// endCreatedDate = sdf.parse("2021-03-1 16:39:59");
//当前时间的前1分钟
startCreatedDate = sdf.parse(sdf.format(new Date(date.getTime()-(long) 5*60*1000)));
log.info("订单创建开始时间"+sdf.format(startCreatedDate));
startCreatedDate = sdf.parse(sdf.format(new Date(date.getTime() - (long) 5 * 60 * 1000)));
log.info("订单创建开始时间" + sdf.format(startCreatedDate));
endCreatedDate = sdf.parse(sdf.format(date));
String format = sdf.format(date);
log.info("订单创建结束时间"+sdf.format(endCreatedDate));
log.info("订单创建结束时间" + sdf.format(endCreatedDate));
} catch (ParseException e) {
e.printStackTrace();
}
......@@ -104,9 +110,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
orderInfo.setItemId(itemList.toString());
//有赞的outer_user_id 与有赞的对应关系是邀请码 邀请码唯一
String outerUserId = buyerInfo.getOuterUserId();
log.info("有赞返回OutUserId------------"+outerUserId);
log.info("有赞返回OutUserId------------" + outerUserId);
String userId = usersMapper.getUserIdByIntiveCode(outerUserId);
log.info("对应西田森系统中的用户Id--------"+userId);
log.info("对应西田森系统中的用户Id--------" + userId);
orderInfo.setUserId(userId);
//支付方式
orderInfo.setPayType(youzanOrderInfo.getPayType().toString());
......@@ -138,7 +144,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
orderInfo.setMonthOrderStatus(0);
//monthly_task_status //月度任务处理状态
orderInfo.setMonthlyTaskStatus(0);
log.info("根据创建时间获取有赞订单号:"+youzanOrderInfo.getTid());
log.info("根据创建时间获取有赞订单号:" + youzanOrderInfo.getTid());
orderMapper.insertYouZanOrders(orderInfo);
}
}
......@@ -161,10 +167,10 @@ 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");
startUpdateDate = sdf.parse(sdf.format(new Date(date.getTime()-(long) 5*60*1000)));
log.info("订单修改开始时间"+sdf.format(startUpdateDate));
startUpdateDate = sdf.parse(sdf.format(new Date(date.getTime() - (long) 5 * 60 * 1000)));
log.info("订单修改开始时间" + sdf.format(startUpdateDate));
endUpdateDate = sdf.parse(sdf.format(date));
log.info("订单修改结束时间"+sdf.format(endUpdateDate));
log.info("订单修改结束时间" + sdf.format(endUpdateDate));
} catch (ParseException e) {
e.printStackTrace();
}
......@@ -185,7 +191,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
OrderInfo orderByTid = orderMapper.getByTid(tid);
//确保是同一笔订单且订单的success_time=null是进行订单success_time状态修改
if (orderByTid != null && orderByTid.getSuccessTime() == null){
if (orderByTid != null && orderByTid.getSuccessTime() == null) {
//支付方式
orderInfo.setPayType(youzanOrderInfo.getPayType().toString());
//有赞update_time
......@@ -205,7 +211,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
//payment
orderInfo.setPayment(new BigDecimal(payInfo.getPayment()));
log.info("根据修改时间获取有赞订单号:"+youzanOrderInfo.getTid());
log.info("根据修改时间获取有赞订单号:" + youzanOrderInfo.getTid());
//修改订单数据
orderMapper.updateById(orderInfo);
}
......@@ -228,10 +234,63 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
.build();
OAuthToken oAuthToken = yzClient.getOAuthToken(tokenParameter);
String accessToken = oAuthToken.getAccessToken();
log.info("调用有赞接口获取到的有赞Token"+accessToken);
log.info("调用有赞接口获取到的有赞Token" + accessToken);
Token youzanToken = new Token(accessToken);
return youzanToken;
}
/**
* 分页查询订单数据
*
* @return
*/
@Override
public R<PageInfo<OrderInfo>> findByPage(OrderInfoQuery query) {
log.info("shop-mall[]OrderServiceImpl[]findByPage[]input.param.query:" + query);
if (null == query){
return R.error("入参不能为空");
}
pageHandle(query);
HashMap<String, Object> map = new HashMap<>();
int total = orderMapper.count();
map.put("startNum", query.getStartNum());
map.put("endNum", query.getEndNum());
if(null != query.getUserId()){
map.put("userId",query.getUserId());
}
List<OrderInfo> list = orderMapper.findByPage(map);
PageInfo<OrderInfo> info = new PageInfo<>();
info.setPageSize(query.getPageSize());
info.setPageNum(query.getPageNo());
info.setTotal(total);
info.setList(list);
return R.ok(info);
}
/**
* 分页处理方法
*
* @param schemeVo 参数
*/
private void pageHandle(OrderInfoQuery schemeVo) {
Integer pageNum = schemeVo.getPageNo();
Integer pageSize = schemeVo.getPageSize();
if (null == pageSize || pageSize == 0) {
pageSize = 10;
}
if (null == pageNum || pageNum == 0) {
pageNum = 1;
}
Integer endNum = pageSize;
Integer startNum = (pageNum - CommonAttributes.NUM_ONE) * pageSize;
schemeVo.setEndNum(endNum);
schemeVo.setStartNum(startNum);
schemeVo.setPageNo(pageNum);
schemeVo.setPageSize(pageSize);
}
}
......@@ -660,12 +660,15 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
seedling = 1;
cultivatingPrizeInfo.setSeedling(seedling);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+seedling);
} else {
//3.修改培育奖记录状态 ==2
seedling = 2;
cultivatingPrizeInfo.setSeedling(seedling);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户"+inviteUserId +"获得"+ "培育奖来自---用户id"+userId+"userlevel"+level+"status:"+seedling);
}
}
}
} else if (2 == level) {
......@@ -693,11 +696,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
bronzeTree = 1;
cultivatingPrizeInfo.setBronzeTree(bronzeTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+bronzeTree);
} else {
//3.修改培育奖记录状态 ==2
bronzeTree = 2;
cultivatingPrizeInfo.setBronzeTree(bronzeTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+bronzeTree);
}
}
......@@ -727,11 +732,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
silverTree = 1;
cultivatingPrizeInfo.setBronzeTree(silverTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+silverTree);
} else {
//3.修改培育奖记录状态 ==2
silverTree = 2;
cultivatingPrizeInfo.setBronzeTree(silverTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+silverTree);
}
}
}
......@@ -760,11 +767,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
goldTree = 1;
cultivatingPrizeInfo.setGoldTree(goldTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+goldTree);
}else {
//3.修改培育奖记录状态 ==2
goldTree = 2;
cultivatingPrizeInfo.setGoldTree(goldTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+goldTree);
}
}
}
......@@ -793,11 +802,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
farmer = 1;
cultivatingPrizeInfo.setGoldTree(farmer);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+farmer);
}else {
//3.修改培育奖记录状态 ==2
farmer = 2;
cultivatingPrizeInfo.setGoldTree(farmer);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+farmer);
}
}
}
......@@ -826,11 +837,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
forestStart = 1;
cultivatingPrizeInfo.setGoldTree(forestStart);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+forestStart);
}else {
//3.修改培育奖记录状态 ==2
forestStart = 2;
cultivatingPrizeInfo.setGoldTree(forestStart);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+forestStart);
}
}
}
......@@ -859,11 +872,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
partner = 1;
cultivatingPrizeInfo.setGoldTree(partner);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+partner);
}else {
//3.修改培育奖记录状态 ==2
partner = 2;
cultivatingPrizeInfo.setGoldTree(partner);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
log.info("用户:"+inviteUserId +"获得"+ "培育奖来自---用户id:"+userId+"userlevel:"+level+"status:"+partner);
}
}
}
......@@ -871,6 +886,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
}
//同步accountInfo 和TeamPerformance 的用户等级
@Override
public void accountAndTeamPerformanceUserLevelUpdate(String userId){
User userByUserId = usersMapper.getUserByUserId(userId);
......
......@@ -49,6 +49,9 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Autowired
private AerialDeliveryUserService aerialDeliveryUserService;
@Autowired
private UserLevelServiceImpl userLevelService;
@Autowired
private UserDataInfoManager userDataInfoManager;
......@@ -458,6 +461,86 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
schemeVo.setPageSize(pageSize);
}
/**
* 将普通用户等级设置为幼苗用户等级
* @param userId 用户的userId
* @param userLevel 用户等级
* @return 0 成功 1失败
*/
@Transactional
@Override
public int setUserLevelToSeedling(String userId, Integer userLevel){
try {
User user = usersMapper.getUserByUserId(userId);
user.setUserLevel(1);
usersMapper.updateById(user);
//当前用户的推荐人邀请码
String beInvitedCode = user.getBeInvitedCode();
if (!"1".equals(beInvitedCode)){
//上级用户直推数据维护
String userIdByIntiveCode = usersMapper.getUserIdByIntiveCode(beInvitedCode);
RecommendUser recommendUserMapperByUserId = recommendUserMapper.getByUserId(userIdByIntiveCode);
//上级用户的普通用户数量
Integer normalUserNum = recommendUserMapperByUserId.getNormalUserNum();
//上级用户的幼苗用户数量
Integer recommendUserMapperByUserIdSeedlingNum = recommendUserMapperByUserId.getSeedlingNum();
if (normalUserNum > 0){
normalUserNum = normalUserNum - 1;
}
recommendUserMapperByUserIdSeedlingNum = recommendUserMapperByUserIdSeedlingNum + 1;
recommendUserMapperByUserId.setNormalUserNum(normalUserNum);
recommendUserMapperByUserId.setSeedlingNum(recommendUserMapperByUserIdSeedlingNum);
recommendUserMapper.updateById(recommendUserMapperByUserId);
//用户的团队数据维护
normalToSeedlingteamUserInfo(beInvitedCode);
}
//同步用户信息到account-Info 和 team_performance 中
userLevelService.accountAndTeamPerformanceUserLevelUpdate(userId);
return 0;
}catch (Exception e){
return 1;
}
}
//设置普通用户升级至幼苗用户时团队用户数据维护
public void normalToSeedlingteamUserInfo(String beInvitedCode) {
//根据邀请码查询上级用户的userId
String teamUserId = usersMapper.getUserByIntiveCode(beInvitedCode);
//查询上级用户的团队信息表
TeamUserInfo teamUserInfoByUserId = teamUserInfoMapper.getByUserId(teamUserId);
//上级用户团队信息中普通用户数量 -1
Integer normalUserNum = teamUserInfoByUserId.getNormalUserNum();
if (normalUserNum > 0){
normalUserNum = normalUserNum - 1;
}
//上级用户团队信息幼苗用户数量+1
Integer seedlingNum = teamUserInfoByUserId.getSeedlingNum();
teamUserInfoByUserId.setSeedlingNum(seedlingNum + 1);
teamUserInfoByUserId.setNormalUserNum(normalUserNum);
teamUserInfoMapper.updateById(teamUserInfoByUserId);
//根据上级用户id查询上级用户的邀请码
User teamUser = usersMapper.getByUserId(teamUserId);
String teamUserBeInvitedCode = teamUser.getBeInvitedCode();
//递归实现上级所有的用户普通数量 + 1
//若团队用户的被邀请码为 1 时 则没有上级用户用户
if (!"1".equals(teamUserBeInvitedCode) && !"88888888".equals(teamUserBeInvitedCode)) {
normalToSeedlingteamUserInfo(teamUserBeInvitedCode);
} else {
return;
}
}
}
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.OrderInfo;
import cn.wisenergy.model.dto.OrderInfoQuery;
import cn.wisenergy.service.app.OrderService;
import com.github.pagehelper.PageInfo;
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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "订单管理")
@Slf4j
@RestController
public class OrderController {
@Autowired
private OrderService orderService;
@ApiOperation(value = "获取订单分页列表", notes = "获取订单分页列表", httpMethod = "GET")
@ApiImplicitParam(name = "query", value = "查询条件", dataType = "OrderInfoQuery")
@RequestMapping("admin/order/findBypage")
public R<PageInfo<OrderInfo>> findByPage(OrderInfoQuery query){
return orderService.findByPage(query);
}
}
......@@ -210,4 +210,29 @@ public class UserController extends BaseController {
log.info("shop-mall[]UserController[]queryCultivatingPrizeList[]input.param.query:");
return cultivatingPrizeService.getCultivatingPrizeList();
}
@ApiOperation(value = "后台-设置用户等级为幼苗", notes = "后台-设置用户等级为幼苗", httpMethod = "GET")
@GetMapping("admin/user/setUserLevelToSeedling")
public R<String> setUserLevelToSeedling(String userId,Integer userLevel){
if (null == userId || null == userLevel){
return R.error("入参为空");
}
User userByUserId = userService.getByUserId(userId);
if (null == userByUserId){
return R.error(1,"当前用户不存在");
}
if (userLevel != 0){
return R.error("用户等级不是普通用户,请查看自己等级");
}
//进行用户等级设置
int flag = userService.setUserLevelToSeedling(userId , userLevel);
if (flag == 0){
return R.ok(0,"设置成功");
}else {
return R.error(1,"设置失败,请重试");
}
}
}
......@@ -113,6 +113,9 @@
<logger name="cn.wisenergy.service.app.impl.UserLevelTaskServiceImpl">
<appender-ref ref="userLevel_task_logs"/>
</logger>
<logger name="cn.wisenergy.service.app.impl.UserLevelServiceImpl">
<appender-ref ref="userLevel_task_logs"/>
</logger>
<!-- 日志根 -->
<root level="${LOG_LEVEL}">
<appender-ref ref="stdout"/>
......
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