技师业绩调整
This commit is contained in:
parent
6ab2953c21
commit
ad6dad7ec5
|
@ -124,6 +124,15 @@ public class ArtificerController {
|
||||||
sort,authentication,by,status,city,classifyId,phone,null,isStart,technicianType,isBack,isGoods);
|
sort,authentication,by,status,city,classifyId,phone,null,isStart,technicianType,isBack,isGoods);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/selectArtificerListPc")
|
||||||
|
@ApiOperation("查询技师列表PC端")
|
||||||
|
public Result selectArtificerListPc(Integer page, Integer limit, Long massageTypeId, String artificerName,
|
||||||
|
String longitude,String latitude,Integer sort,Integer authentication,
|
||||||
|
Integer by,Integer status,String city,String classifyId,String phone,Integer isStart,Integer technicianType,String isBack,Integer isGoods){
|
||||||
|
return artificerService.selectArtificerListPc(page, limit, massageTypeId, artificerName,longitude,latitude,
|
||||||
|
sort,authentication,by,status,city,classifyId,phone,null,isStart,technicianType,isBack,isGoods);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/selectArtificer")
|
@GetMapping("/selectArtificer")
|
||||||
@ApiOperation("查询技师列表(不带分页)")
|
@ApiOperation("查询技师列表(不带分页)")
|
||||||
public Result selectArtificer(String city,String classifyId,String artificerName){
|
public Result selectArtificer(String city,String classifyId,String artificerName){
|
||||||
|
|
|
@ -84,6 +84,8 @@ public interface OrdersDao extends BaseMapper<Orders> {
|
||||||
|
|
||||||
List<Orders> selectOrdersStatusByTime(String time);
|
List<Orders> selectOrdersStatusByTime(String time);
|
||||||
|
|
||||||
|
List<Orders> selectNotAcceptedOrders(String time);
|
||||||
|
|
||||||
IPage<Map<String,Object>> selectShopMoney(Page<Orders> page,String userName,String phone,String flag,String time);
|
IPage<Map<String,Object>> selectShopMoney(Page<Orders> page,String userName,String phone,String flag,String time);
|
||||||
|
|
||||||
IPage<Map<String,Object>> selectOneUserMoney(Page<Orders> page,String userName,String phone,String flag,String time);
|
IPage<Map<String,Object>> selectOneUserMoney(Page<Orders> page,String userName,String phone,String flag,String time);
|
||||||
|
|
|
@ -17,6 +17,10 @@ public interface ArtificerService extends IService<Artificer> {
|
||||||
String longitude,String latitude,Integer sort,Integer authentication,
|
String longitude,String latitude,Integer sort,Integer authentication,
|
||||||
Integer by,Integer status,String city,String classifyId,String phone,Integer user, Integer isStart,Integer technicianType,String isBack, Integer isGoods);
|
Integer by,Integer status,String city,String classifyId,String phone,Integer user, Integer isStart,Integer technicianType,String isBack, Integer isGoods);
|
||||||
|
|
||||||
|
Result selectArtificerListPc(Integer page, Integer limit, Long massageTypeId, String artificerName,
|
||||||
|
String longitude,String latitude,Integer sort,Integer authentication,
|
||||||
|
Integer by,Integer status,String city,String classifyId,String phone,Integer user, Integer isStart,Integer technicianType,String isBack, Integer isGoods);
|
||||||
|
|
||||||
Artificer selectArtificerById(Long userId,Long artificerId,String longitude,String latitude);
|
Artificer selectArtificerById(Long userId,Long artificerId,String longitude,String latitude);
|
||||||
|
|
||||||
Artificer selectArtificerByUserId(Long userId);
|
Artificer selectArtificerByUserId(Long userId);
|
||||||
|
|
|
@ -20,11 +20,14 @@ import com.sqx.modules.artificer.service.AppArtificerIntegralService;
|
||||||
import com.sqx.modules.artificer.vo.HomeVO;
|
import com.sqx.modules.artificer.vo.HomeVO;
|
||||||
import com.sqx.modules.artificer.vo.UserArtificerVO;
|
import com.sqx.modules.artificer.vo.UserArtificerVO;
|
||||||
import com.sqx.modules.bl.artificer.dao.ArtificerPartitioningDetailsDao;
|
import com.sqx.modules.bl.artificer.dao.ArtificerPartitioningDetailsDao;
|
||||||
|
import com.sqx.modules.bl.artificer.entity.ArtificerIntegralStatistics;
|
||||||
import com.sqx.modules.bl.artificer.entity.ArtificerPartitioningDetails;
|
import com.sqx.modules.bl.artificer.entity.ArtificerPartitioningDetails;
|
||||||
|
import com.sqx.modules.bl.artificer.service.ArtificerIntegralStatisticsService;
|
||||||
import com.sqx.modules.common.dao.CommonInfoDao;
|
import com.sqx.modules.common.dao.CommonInfoDao;
|
||||||
import com.sqx.modules.common.entity.CommonInfo;
|
import com.sqx.modules.common.entity.CommonInfo;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
@ -45,7 +48,8 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ
|
||||||
private final CommonInfoDao commonInfoDao;
|
private final CommonInfoDao commonInfoDao;
|
||||||
private final ArtificerDao artificerDao;
|
private final ArtificerDao artificerDao;
|
||||||
private final UserDao userDao;
|
private final UserDao userDao;
|
||||||
|
@Autowired
|
||||||
|
ArtificerIntegralStatisticsService artificerIntegralStatisticsService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result home(Long artificerId) {
|
public Result home(Long artificerId) {
|
||||||
|
@ -63,22 +67,28 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ
|
||||||
}
|
}
|
||||||
orders.setGrade(grade);
|
orders.setGrade(grade);
|
||||||
|
|
||||||
|
ArtificerIntegralStatistics artificerIntegralStatistics =artificerIntegralStatisticsService.getIntegralStatistics(artificerId,startDate,endDate,null);
|
||||||
//当期业绩
|
//当期业绩
|
||||||
Integer currentPerformance = ordersDao.selectOrdersArtificerIntegralAchievement(artificerId, endDate, startDate);
|
// Integer currentPerformance = ordersDao.selectOrdersArtificerIntegralAchievement(artificerId, endDate, startDate);
|
||||||
|
BigDecimal currentPerformance = artificerIntegralStatistics.getAchievement();
|
||||||
orders.setCurrentPerformance(String.valueOf(currentPerformance));
|
orders.setCurrentPerformance(String.valueOf(currentPerformance));
|
||||||
|
|
||||||
//当期收益
|
//当期收益
|
||||||
// String earnings = ordersDao.earnings(artificerId, endDate, startDate);
|
// String earnings = ordersDao.earnings(artificerId, endDate, startDate);
|
||||||
BigDecimal earnings = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, endDate, startDate);
|
// BigDecimal earnings = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, endDate, startDate);
|
||||||
earnings = earnings.setScale(2,BigDecimal.ROUND_HALF_UP);
|
// earnings = earnings.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||||
orders.setEarnings(earnings.toString());
|
// orders.setEarnings(earnings.toString());
|
||||||
|
BigDecimal earnings = artificerIntegralStatistics.getIncome();
|
||||||
|
orders.setEarnings(String.valueOf(earnings));
|
||||||
|
|
||||||
//当日收益
|
//当日收益
|
||||||
String todayEndIncome = DateUtil.formatDateTime(DateUtil.endOfDay(new Date()));
|
String todayEndIncome = DateUtil.formatDateTime(DateUtil.endOfDay(new Date()));
|
||||||
// String dailyEarnings = ordersDao.earnings(artificerId, todayEndIncome, String.valueOf(DateUtil.beginOfDay(new Date())));
|
// String dailyEarnings = ordersDao.earnings(artificerId, todayEndIncome, String.valueOf(DateUtil.beginOfDay(new Date())));
|
||||||
BigDecimal dailyEarnings = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, todayEndIncome, String.valueOf(DateUtil.beginOfDay(new Date())));
|
// BigDecimal dailyEarnings = ordersDao.selectOrdersArtificerIntegralEarnings(artificerId, todayEndIncome, String.valueOf(DateUtil.beginOfDay(new Date())));
|
||||||
dailyEarnings = dailyEarnings.setScale(2,BigDecimal.ROUND_HALF_UP);
|
// dailyEarnings = dailyEarnings.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||||
orders.setDailyEarnings(dailyEarnings.toString());
|
// orders.setDailyEarnings(dailyEarnings.toString());
|
||||||
|
ArtificerIntegralStatistics todayStatistics =artificerIntegralStatisticsService.getIntegralStatistics(artificerId,startDate,todayEndIncome,null);
|
||||||
|
orders.setDailyEarnings(String.valueOf(todayStatistics.getIncome()));
|
||||||
|
|
||||||
//当月收益
|
//当月收益
|
||||||
//当月结束日
|
//当月结束日
|
||||||
|
@ -103,14 +113,17 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ
|
||||||
// BigDecimal add = a.add(b);
|
// BigDecimal add = a.add(b);
|
||||||
|
|
||||||
//获取所有积分方法
|
//获取所有积分方法
|
||||||
Map<String,Object> jfMap = getJifenList(artificerId, startDate, endDate);
|
// Map<String,Object> jfMap = getJifenList(artificerId, startDate, endDate);
|
||||||
String zxjf = jfMap.get("zxscjf").toString();
|
// String zxjf = jfMap.get("zxscjf").toString();
|
||||||
|
// BigDecimal b = new BigDecimal(zxjf);
|
||||||
//当前周在线积分数
|
//当前周在线积分数
|
||||||
BigDecimal b = new BigDecimal(zxjf);
|
ArtificerIntegralStatistics zxjfStatistics =artificerIntegralStatisticsService.getIntegralStatistics(artificerId,startDate,todayEndIncome,1);
|
||||||
|
BigDecimal b = zxjfStatistics.getIntegral();
|
||||||
|
|
||||||
//总积分
|
//总积分
|
||||||
String sumJf = jfMap.get("sumJf").toString();
|
// String sumJf = jfMap.get("sumJf").toString();
|
||||||
BigDecimal add = new BigDecimal(sumJf);
|
// BigDecimal add = new BigDecimal(sumJf);
|
||||||
|
BigDecimal add = artificerIntegralStatistics.getIntegral();
|
||||||
orders.setIntegral(add);
|
orders.setIntegral(add);
|
||||||
|
|
||||||
//当期订单数:计算订单发生了按摩行为的订单数,订单状态经历了开始服务到订单结束。
|
//当期订单数:计算订单发生了按摩行为的订单数,订单状态经历了开始服务到订单结束。
|
||||||
|
@ -147,21 +160,21 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ
|
||||||
//业绩后面的显示
|
//业绩后面的显示
|
||||||
List<ArtificerPartitioningDetails> lists = artificerPartitioningDetailsDao.selectList(Wrappers.<ArtificerPartitioningDetails>lambdaQuery());
|
List<ArtificerPartitioningDetails> lists = artificerPartitioningDetailsDao.selectList(Wrappers.<ArtificerPartitioningDetails>lambdaQuery());
|
||||||
for (int i = 0; i < lists.size(); i++) {
|
for (int i = 0; i < lists.size(); i++) {
|
||||||
if (currentPerformance >= lists.get(i).getOutstandingAchievement().intValue()) {
|
if (currentPerformance.compareTo(lists.get(i).getOutstandingAchievement())>=0) {
|
||||||
if (i + 1 < lists.size()) {
|
if (i + 1 < lists.size()) {
|
||||||
BigDecimal bigDecimal = lists.get(i + 1).getOutstandingAchievement();
|
BigDecimal bigDecimal = lists.get(i + 1).getOutstandingAchievement();
|
||||||
if (Objects.nonNull(bigDecimal)) {
|
if (Objects.nonNull(bigDecimal)) {
|
||||||
orders.setSuffix(NumberUtil.toStr(bigDecimal));
|
orders.setSuffix(NumberUtil.toStr(bigDecimal));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (currentPerformance <= lists.get(i).getOutstandingAchievement().intValue()) {
|
} else if (currentPerformance.compareTo(lists.get(i).getOutstandingAchievement())<=0) {
|
||||||
orders.setSuffix(NumberUtil.toStr(artificerPartitioningDetailsDao.selectById(5).getOutstandingAchievement()));
|
orders.setSuffix(NumberUtil.toStr(artificerPartitioningDetailsDao.selectById(5).getOutstandingAchievement()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return getResult(currentPerformance, clockRate, divide1, b, add, orders, artificer, classifyId);
|
return getResult(currentPerformance, clockRate, divide1, b, add, orders, artificer, classifyId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Result getResult(Integer currentPerformance, BigDecimal clockRate, BigDecimal divide1, BigDecimal b, BigDecimal add, HomeVO orders, Artificer artificer, String classifyId) {
|
private Result getResult(BigDecimal currentPerformance, BigDecimal clockRate, BigDecimal divide1, BigDecimal b, BigDecimal add, HomeVO orders, Artificer artificer, String classifyId) {
|
||||||
List<ArtificerPartitioningDetails> artificerPartitioningDetails = artificerPartitioningDetailsDao.selectList(Wrappers.<ArtificerPartitioningDetails>lambdaQuery()
|
List<ArtificerPartitioningDetails> artificerPartitioningDetails = artificerPartitioningDetailsDao.selectList(Wrappers.<ArtificerPartitioningDetails>lambdaQuery()
|
||||||
.ne(ArtificerPartitioningDetails::getGrade, "A0"));
|
.ne(ArtificerPartitioningDetails::getGrade, "A0"));
|
||||||
|
|
||||||
|
@ -186,14 +199,14 @@ public class AppArtificerIntegralServiceImpl implements AppArtificerIntegralServ
|
||||||
|
|
||||||
ArtificerPartitioningDetails items = artificerPartitioningDetails.get(i + 1);
|
ArtificerPartitioningDetails items = artificerPartitioningDetails.get(i + 1);
|
||||||
|
|
||||||
if (currentPerformance >= outstandingAchievement.intValue()
|
if (currentPerformance.compareTo(outstandingAchievement)>=0
|
||||||
&& clockRate.compareTo(clockRate1) > -1
|
&& clockRate.compareTo(clockRate1) > -1
|
||||||
&& divide1.compareTo(depositRate) > -1
|
&& divide1.compareTo(depositRate) > -1
|
||||||
&& b.intValue() >= durationOnline
|
&& b.intValue() >= durationOnline
|
||||||
&& add.intValue() >= Integer.valueOf(integral)
|
&& add.intValue() >= Integer.valueOf(integral)
|
||||||
&& Objects.nonNull(items)
|
&& Objects.nonNull(items)
|
||||||
) {
|
) {
|
||||||
BigDecimal p1 = new BigDecimal(currentPerformance);
|
BigDecimal p1 = currentPerformance;
|
||||||
|
|
||||||
//还差多少业绩加钟率积分提升等级
|
//还差多少业绩加钟率积分提升等级
|
||||||
BigDecimal siq = new BigDecimal(items.getOutstandingAchievement().toString());
|
BigDecimal siq = new BigDecimal(items.getOutstandingAchievement().toString());
|
||||||
|
|
|
@ -332,7 +332,63 @@ public class ArtificerServiceImpl extends ServiceImpl<ArtificerDao, Artificer> i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return Result.success().put("data",new PageUtils(artificerIPage));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result selectArtificerListPc(Integer page, Integer limit, Long massageTypeId,String artificerName,
|
||||||
|
String longitude,String latitude,Integer sort,Integer authentication,
|
||||||
|
Integer by,Integer status,String city,String classifyId,String phone,Integer user, Integer isStart,Integer technicianType,String isBack, Integer isGoods){
|
||||||
|
Page<Artificer> pages=new Page<>(page,limit);
|
||||||
|
|
||||||
|
if(StringUtils.isEmpty(longitude)){
|
||||||
|
longitude = "125.430896";
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(latitude)){
|
||||||
|
latitude = "43.880798";
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(city)||StringUtils.equals("请选择城市",city)){
|
||||||
|
city = "长春市";
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Long> userIdList = new ArrayList<>();
|
||||||
|
if(classifyId!=null && !classifyId.equals("")){
|
||||||
|
String[] classifyIdArr = classifyId.split(",");
|
||||||
|
List<Long> classifyIdList = new ArrayList<>();
|
||||||
|
if(classifyIdArr.length>0){
|
||||||
|
for(int i=0;i<classifyIdArr.length;i++){
|
||||||
|
String classifyIdStr = classifyIdArr[i];
|
||||||
|
Long classifyIdL = Long.valueOf(classifyIdStr);
|
||||||
|
classifyIdList.add(classifyIdL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(classifyIdList.size()>0){
|
||||||
|
userIdList = artificerClassifyService.getUserIdByClassify(classifyIdList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
IPage<Artificer> artificerIPage = baseMapper.selectArtificerList(pages, massageTypeId, artificerName,
|
||||||
|
longitude, latitude, sort, authentication, by, status, city, classifyId,phone,user,isStart,technicianType,isBack,userIdList,isGoods);
|
||||||
|
|
||||||
|
List<Artificer> records = artificerIPage.getRecords();
|
||||||
|
for(Artificer artificer:records){
|
||||||
|
String classifyIds = artificer.getClassifyId();
|
||||||
|
String[] classifyArr = classifyIds.split(",");
|
||||||
|
if(classifyArr.length>0){
|
||||||
|
List<ArtificerClassify> artificerClassifyList = new ArrayList<ArtificerClassify>();
|
||||||
|
for(int i=0;i<classifyArr.length;i++){
|
||||||
|
String classifyIdStr = classifyArr[i];
|
||||||
|
Long cid = Long.valueOf(classifyIdStr);
|
||||||
|
SysDictEntity sysDictEntity = sysDictService.getById(cid);
|
||||||
|
if(sysDictEntity!=null){
|
||||||
|
ArtificerClassify artificerClassify = new ArtificerClassify();
|
||||||
|
artificerClassify.setClassifyId(cid);
|
||||||
|
artificerClassify.setClassifyName(sysDictEntity.getValue());
|
||||||
|
artificerClassifyList.add(artificerClassify);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
artificer.setArtificerClassifyList(artificerClassifyList);
|
||||||
|
}
|
||||||
|
}
|
||||||
return Result.success().put("data",new PageUtils(artificerIPage));
|
return Result.success().put("data",new PageUtils(artificerIPage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7818,6 +7818,17 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
|
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//超过服务时间N分钟未接单,取消订单
|
||||||
|
String value2 = commonInfoService.findOne(465).getValue();
|
||||||
|
ordersList = baseMapper.selectNotAcceptedOrders(value2);
|
||||||
|
for (Orders orders : ordersList) {
|
||||||
|
if (orders.getUserPackageDetailId() != null) {
|
||||||
|
cancelPackageOrders(orders.getUserId(), orders, BigDecimal.ZERO, BigDecimal.ZERO);
|
||||||
|
} else {
|
||||||
|
cancelMassageOrders(orders.getUserId(), orders, BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -6,5 +6,5 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ArtificerIntegralStatisticsDao extends BaseMapper<ArtificerIntegralStatistics> {
|
public interface ArtificerIntegralStatisticsDao extends BaseMapper<ArtificerIntegralStatistics> {
|
||||||
|
ArtificerIntegralStatistics getIntegralStatistics(Long artificerId,String startDate,String endDate,Integer classify);
|
||||||
}
|
}
|
|
@ -4,5 +4,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.sqx.modules.bl.artificer.entity.ArtificerIntegralStatistics;
|
import com.sqx.modules.bl.artificer.entity.ArtificerIntegralStatistics;
|
||||||
|
|
||||||
public interface ArtificerIntegralStatisticsService extends IService<ArtificerIntegralStatistics> {
|
public interface ArtificerIntegralStatisticsService extends IService<ArtificerIntegralStatistics> {
|
||||||
|
ArtificerIntegralStatistics getIntegralStatistics(Long artificerId,String startDate,String endDate,Integer classify);
|
||||||
}
|
}
|
|
@ -8,5 +8,7 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class ArtificerIntegralStatisticsServiceImpl extends ServiceImpl<ArtificerIntegralStatisticsDao, ArtificerIntegralStatistics> implements ArtificerIntegralStatisticsService {
|
public class ArtificerIntegralStatisticsServiceImpl extends ServiceImpl<ArtificerIntegralStatisticsDao, ArtificerIntegralStatistics> implements ArtificerIntegralStatisticsService {
|
||||||
|
public ArtificerIntegralStatistics getIntegralStatistics(Long artificerId,String startDate,String endDate,Integer classify){
|
||||||
|
return baseMapper.getIntegralStatistics(artificerId,startDate,endDate,classify);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1042,6 +1042,10 @@
|
||||||
select * from orders where now()>= DATE_ADD( create_time, INTERVAL #{time} MINUTE ) and status=1
|
select * from orders where now()>= DATE_ADD( create_time, INTERVAL #{time} MINUTE ) and status=1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectNotAcceptedOrders" resultType="com.sqx.modules.artificer.entity.Orders">
|
||||||
|
select * from orders where now()>= DATE_ADD( serve_time, INTERVAL #{time} MINUTE ) and status in (2,9)
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectShopMoney" resultType="Map">
|
<select id="selectShopMoney" resultType="Map">
|
||||||
select ifnull(sum(o.shop_money),0.00) as money,o.shop_user_name as userName,o.shop_user_id as userId
|
select ifnull(sum(o.shop_money),0.00) as money,o.shop_user_name as userName,o.shop_user_id as userId
|
||||||
from orders o
|
from orders o
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?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.sqx.modules.bl.artificer.dao.ArtificerIntegralStatisticsDao">
|
||||||
|
<select id="getIntegralStatistics" resultType="com.sqx.modules.bl.artificer.entity.ArtificerIntegralStatistics">
|
||||||
|
select
|
||||||
|
sum(case when type = 1 then IFNULL(achievement,0) else -IFNULL(achievement,0) end) AS achievement,
|
||||||
|
sum(case when type = 1 then IFNULL(income,0) else -IFNULL(income,0) end) AS income,
|
||||||
|
sum(case when type = 1 then IFNULL(integral,0) else -IFNULL(integral,0) end) AS integral
|
||||||
|
from bl_artificer_integral_statistics
|
||||||
|
where artificer_id = #{artificerId}
|
||||||
|
and date_format(create_time,'%Y-%m-%d %H:%i:%s') >= #{startDate}
|
||||||
|
and date_format(create_time,'%Y-%m-%d %H:%i:%s') <= #{endDate}
|
||||||
|
<if test="classify!=null">
|
||||||
|
and classify = #{classify}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue