记得上下班打卡 | git大法好,push需谨慎

Commit c88255a1 authored by zhengfuxin's avatar zhengfuxin

计算定时任务

parent 2ab7ca1f
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2022-03-11
*/
@ApiModel(value = "SellDataOneVO", description = "销量数据")
@Data
public class CommissionVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "title:演出名,performanceId:演出id,commiss:佣金,status:(1、待入账(项目未结束)2、演出已结束(可结算)3、已结算(已完成))")
private List<Map> list;
@ApiModelProperty(value = "可结算")
private BigDecimal keJieSuan;
@ApiModelProperty(value = "待入账")
private BigDecimal daiRuZhang;
@ApiModelProperty(value = "总营收")
private BigDecimal zongYingShou;
private static final CommissionVO obj = new CommissionVO();
public static CommissionVO getNew() {
try {
return (CommissionVO) obj.clone();
} catch (CloneNotSupportedException e) {
return new CommissionVO();
}
}
}
......@@ -49,4 +49,5 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
List<Map> getUserSellOneDate(@Param("agentId")String agentId,@Param("performanceId")String performanceId);
Map getUserSellAllDate(@Param("agentId")String agentId,@Param("performanceId")String performanceId);
List<Map> getUserSellDetail(@Param("agentId")String agentId,@Param("ticketId")String ticketId);
List<Map> getUserPerformance(@Param("userId")String userId);
}
......@@ -77,11 +77,12 @@
</where>
LIMIT 1
</select>
<!-- <select id="getUserOrder" parameterType="String" resultType="java.util.Map">
select performance_id as 'yanchuId' from (select * from kylin_order_tickets where created_at>DATE_SUB(CURDATE(), INTERVAL 6 MONTH)) as o,
kylin_order_ticket_status as s,kylin_order_ticket_relations as r where o.order_tickets_id=s.order_id
and o.order_tickets_id=r.order_id and r.agent_id=#{userId} and s.pay_status='1' GROUP BY r.performance_id
</select>-->
<select id="getUserPerformance" parameterType="String" resultType="java.util.Map">
select o.performance_title as 'title',r.performance_id as 'performanceId' ,SUM(r.agent_distributions * (o.price-o.price_refund)) as 'commiss',kp.time_end as 'timeEnd'
from (select * from kylin_order_tickets where created_at>DATE_SUB(CURDATE(), INTERVAL 6 MONTH)) as o,
kylin_order_ticket_status as s,kylin_order_ticket_relations as r ,kylin_performances kp where o.order_tickets_id=s.order_id and o.order_tickets_id=r.order_id
and r.agent_id=#{agentId} and s.pay_status='1' GROUP BY r.performance_id
</select>
<select id="getUserOrder" parameterType="String" resultType="java.util.Map">
select p.title as 'title',p.performances_id as 'yanchuId' from kylin_performances p ,kylin_performance_status s
where p.performances_id=s.performance_id and time_end>DATE_SUB(CURDATE(), INTERVAL 6 MONTH) and s.`status` in (3,6,7,8,9,10);
......
......@@ -23,10 +23,16 @@ public class SellDataController {
@PostMapping("sellData")
@ApiOperation("销量数据列表")
public ResponseDto<Boolean> fieldData() {
public ResponseDto<Boolean> sellData() {
sellDataInfo.setData();
return ResponseDto.success();
}
@PostMapping("commissionData")
@ApiOperation("佣金")
public ResponseDto<Boolean> commissionData() {
sellDataInfo.setCommission();
return ResponseDto.success();
}
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.platform.service.impl.smile;
import com.liquidnet.common.cache.redis.util.RedisSmileUtil;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.goblin.dto.vo.CommissionVO;
import com.liquidnet.service.goblin.dto.vo.SellDataDetailVO;
import com.liquidnet.service.goblin.dto.vo.SellDataOneVO;
import com.liquidnet.service.goblin.dto.vo.SellDataVO;
......@@ -19,6 +20,7 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -113,4 +115,50 @@ public class SellDataInfoImpl {
// mongodb
mongoTemplate.insert(sellDataDetailVO,SellDataDetailVO.class.getSimpleName());
}
/**
* 设置佣金
*/
public void setCommission(){
//1、查到用户
List<SmileUser> list=smileUserMapper.selectUserList(null);
for(SmileUser smileUser:list){
if(StringUtil.isNotBlank(smileUser.getUid())){
BigDecimal daiRuZhang=new BigDecimal(0);
BigDecimal keJieSuan=new BigDecimal(0);
//查看该用户的演出列表
List<Map> userPerformanceList=orderTicketsMapper.getUserPerformance(smileUser.getUid());
for(Map a: userPerformanceList){
//取出id 查看是否结算
String performanceId= a.get("performanceId")==null?"":a.get("performanceId").toString();
if(redisSmileUtil.hasKey(SmileRedisConst.SELL_SHOW_PAYMENT.concat(performanceId).concat(smileUser.getUid()))){
//已结算(已完成)
a.put("status","3");
}else{
LocalDate timeEnd= (LocalDate) a.get("timeEnd");
if(null!=timeEnd){
if(timeEnd.isAfter(LocalDate.now())){
//待入账(项目未结束)
a.put("status","1");
daiRuZhang=daiRuZhang.add(a.get("commiss")==null?new BigDecimal(0):new BigDecimal(a.get("commiss").toString()));
}else{
//演出已结束(可结算)
a.put("status","2");
keJieSuan=keJieSuan.add(a.get("commiss")==null?new BigDecimal(0):new BigDecimal(a.get("commiss").toString()));
}
}
}
}
CommissionVO commissionVO=CommissionVO.getNew();
commissionVO.setList(userPerformanceList);
//待入账
commissionVO.setDaiRuZhang(daiRuZhang);
commissionVO.setKeJieSuan(keJieSuan);
commissionVO.setZongYingShou((BigDecimal) redisSmileUtil.get(SmileRedisConst.SELL_USER_REVENUE.concat(smileUser.getUid())));
}
}
}
}
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