添加技师周期汇算表
This commit is contained in:
parent
3cffc27064
commit
d51665f934
|
@ -46,10 +46,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
|
@ -83,7 +80,8 @@ public class AppArtificerController {
|
|||
private CommonInfoDao commonInfoDao;
|
||||
@Autowired
|
||||
private ArtificerDao artificerDao;
|
||||
|
||||
@Autowired
|
||||
private BlArtificerZqhzService blArtificerZqhzService;
|
||||
@Autowired
|
||||
private BlPingjiaTagService blPingjiaTagService;
|
||||
@Autowired
|
||||
|
@ -618,4 +616,25 @@ public class AppArtificerController {
|
|||
return Result.success(map);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("技师获取往期列表")
|
||||
@GetMapping("/getZqhzList")
|
||||
public Result getZqhzList(Long userId){
|
||||
QueryWrapper<BlArtificerZqhz> blArtificerZqhzQueryWrapper = new QueryWrapper<>();
|
||||
blArtificerZqhzQueryWrapper.eq("artificer_id", userId);
|
||||
List<BlArtificerZqhz> list = blArtificerZqhzService.list(blArtificerZqhzQueryWrapper);
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
List<Map<String,String>> listMap = new ArrayList<>();
|
||||
for(BlArtificerZqhz par:list){
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("text",sdf.format(par.getStartTime())+" 至 "+sdf.format(par.getEndTime()));
|
||||
map.put("label",sdf.format(par.getStartTime())+" 至 "+sdf.format(par.getEndTime()));
|
||||
listMap.add(map);
|
||||
}
|
||||
Map<String,Object> map = new HashMap<String,Object>();
|
||||
map.put("data",listMap);
|
||||
return Result.success(map);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package com.sqx.modules.artificer.dao;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sqx.modules.artificer.entity.BlArtificerZqhz;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
||||
@Mapper
|
||||
public interface BlArtificerZqhzDao extends BaseMapper<BlArtificerZqhz> {
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package com.sqx.modules.artificer.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @description artificer
|
||||
* @author fang
|
||||
* @date 2021-12-18
|
||||
*/
|
||||
@Data
|
||||
@TableName("bl_artificer_zqhz")
|
||||
public class BlArtificerZqhz implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
private Long artificerId;//技师id
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date startTime;//开始时间
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date endTime;//结束时间
|
||||
private String xsje;//销售金额
|
||||
private String jzl;//加钟率
|
||||
private String zxsc;//在线时长
|
||||
private String jf;//积分
|
||||
|
||||
|
||||
public BlArtificerZqhz() {}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.sqx.modules.artificer.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sqx.modules.artificer.entity.BlArtificerZqhz;
|
||||
|
||||
|
||||
public interface BlArtificerZqhzService extends IService<BlArtificerZqhz> {
|
||||
}
|
|
@ -457,7 +457,10 @@ public class ArtificerServiceImpl extends ServiceImpl<ArtificerDao, Artificer> i
|
|||
ordersIPage = ordersDao.getChongzhiList(pages, userId,isSfwc,startTime,endTime);
|
||||
}
|
||||
|
||||
//查询收益
|
||||
String earnings = ordersDao.earnings(userId, endTime, startTime);
|
||||
map.put("data",new PageUtils(ordersIPage));
|
||||
map.put("earnings",earnings);
|
||||
return Result.success(map);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.sqx.modules.artificer.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.modules.artificer.dao.BlArtificerZqhzDao;
|
||||
import com.sqx.modules.artificer.entity.BlArtificerZqhz;
|
||||
import com.sqx.modules.artificer.service.BlArtificerZqhzService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
@Service
|
||||
public class BlArtificerZqhzServiceImpl extends ServiceImpl<BlArtificerZqhzDao, BlArtificerZqhz> implements BlArtificerZqhzService {
|
||||
|
||||
|
||||
}
|
|
@ -2,9 +2,11 @@ package com.sqx.modules.task.service.impl;
|
|||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.sqx.modules.artificer.dao.ArtificerDao;
|
||||
import com.sqx.modules.artificer.dao.BlArtificerZqhzDao;
|
||||
import com.sqx.modules.artificer.dao.OrdersDao;
|
||||
import com.sqx.modules.artificer.dao.UserRechargeDao;
|
||||
import com.sqx.modules.artificer.entity.Artificer;
|
||||
import com.sqx.modules.artificer.entity.BlArtificerZqhz;
|
||||
import com.sqx.modules.artificer.entity.Orders;
|
||||
import com.sqx.modules.artificer.entity.UserRecharge;
|
||||
import com.sqx.modules.bl.userZxsc.dao.BlUserZxscDao;
|
||||
|
@ -51,11 +53,15 @@ public class AllTaskServiceImpl implements AllTaskSercice {
|
|||
@Autowired
|
||||
private UserRechargeDao userRechargeDao;
|
||||
|
||||
@Autowired
|
||||
private BlArtificerZqhzDao blArtificerZqhzDao;
|
||||
|
||||
/**
|
||||
* 计算技师升级规则 每天半夜1点执行,预留12点到01点之间的计算间隔,用于触发其他计算逻辑
|
||||
* A0,A1,A2,A3,A4,A5等
|
||||
*/
|
||||
// @Scheduled(cron = "0 0 0 * * ?")
|
||||
@Scheduled(cron = "0 * * * * ?")
|
||||
public void upgradeJishi() {
|
||||
System.out.println("------------计算技师升级规则-----------");
|
||||
//1.获取全部参与积分规则的技师
|
||||
|
@ -84,7 +90,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
|
|||
String lastMonth = format.format(calendar4.getTime());
|
||||
startTime = lastMonth+"-01 00:00:00";
|
||||
endTime = lastMonth+"-10 23:59:59";
|
||||
}else if(dayOfMonth == 21){
|
||||
}else if(dayOfMonth == 26){
|
||||
Calendar calendar4 = Calendar.getInstance();
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
|
||||
String lastMonth = format.format(calendar4.getTime());
|
||||
|
@ -103,7 +109,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
|
|||
for (Artificer jsPar : jslist) {
|
||||
//获取技师是否参与积分规则,如果参与积分规则则继续执行,否则不变分成比例
|
||||
Integer ynJfgz = jsPar.getYnJfgz();//是否参与积分规则计算(0不参与 1参与)
|
||||
if(ynJfgz==1){
|
||||
|
||||
//4.1获取 技师销售金额(order表的 price) 只查询完成的单子
|
||||
int jsdqyj = ordersDao.selectOrdersArtificerIntegralEarnings(jsPar.getArtificerId(),endTime,startTime);
|
||||
//4.2获取 技师加钟率(order表的parent_id为空则是正常订单,不为空则是加钟订单 用加钟订单/正常订单为加钟率)
|
||||
|
@ -115,6 +121,7 @@ public class AllTaskServiceImpl implements AllTaskSercice {
|
|||
Double zxscHour = Double.parseDouble(jszxsc)*Double.parseDouble(minute)/60;
|
||||
//4.4获取 积分(充值积分 user_rechange的type=2)
|
||||
String jsjfStr = ordersDao.selectOrdersStoredValueIntegral(jsPar.getArtificerId(),endTime,startTime);
|
||||
if(ynJfgz==1){
|
||||
//4.5根据对应的收益,判断属于哪个等级,并修改artificer的yn_jfgz(等级标识)及rate(百分比)
|
||||
//组装对应的升级规则集合
|
||||
Long classifyId = jsPar.getClassifyId();
|
||||
|
@ -171,8 +178,34 @@ public class AllTaskServiceImpl implements AllTaskSercice {
|
|||
jsUp.setArtificerId(jsPar.getArtificerId());
|
||||
artificerDao.updateById(jsUp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//技师汇总逻辑
|
||||
QueryWrapper<BlArtificerZqhz> blArtificerZqhzQueryWrapper = new QueryWrapper<>();
|
||||
blArtificerZqhzQueryWrapper.eq("artificer_id",jsPar.getArtificerId());
|
||||
blArtificerZqhzQueryWrapper.ge("start_time",startTime);
|
||||
blArtificerZqhzQueryWrapper.ge("end_time",endTime);
|
||||
blArtificerZqhzDao.delete(blArtificerZqhzQueryWrapper);
|
||||
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
BlArtificerZqhz blArtificerZqhz = new BlArtificerZqhz();
|
||||
blArtificerZqhz.setArtificerId(jsPar.getArtificerId());
|
||||
try {
|
||||
blArtificerZqhz.setStartTime(sdf.parse(startTime));
|
||||
blArtificerZqhz.setEndTime(sdf.parse(endTime));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
blArtificerZqhz.setXsje(jsdqyj+"");
|
||||
blArtificerZqhz.setJzl(jsjzl);
|
||||
blArtificerZqhz.setZxsc(zxscHour+"");
|
||||
blArtificerZqhz.setJf(jsjfStr);
|
||||
blArtificerZqhzDao.insert(blArtificerZqhz);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue