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

Commit 80eddba2 authored by zhengfuxin's avatar zhengfuxin

开发 销量定时任务。

parent bb65072b
......@@ -11,4 +11,7 @@ public class SmileRedisConst {
public static final String SMILE_AGENT = PREFIX.concat("agent:"); //代理:演出id:票种id
public static final String SELL_DATA = PREFIX.concat("sellData:"); //销售数据 第一步
public static final String SELL_DATA_DETAIL = PREFIX.concat("sellDataDetail:"); //销售数据 第一步
}
......@@ -30,6 +30,8 @@ public class SellDataOneVO implements Serializable {
private BigDecimal piaoTi;
@ApiModelProperty(value = "佣金")
private BigDecimal commission;
@ApiModelProperty(value = "票id")
private String ticketId;
private static final SellDataOneVO obj = new SellDataOneVO();
......
......@@ -6,6 +6,7 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>
......@@ -26,7 +27,7 @@ public class SellDataVO implements Serializable {
@ApiModelProperty(value = "id(用户+活动id)")
private String sellDataId;
@ApiModelProperty(value = "销售具体情况")
SellDataOneVO sellDataOneVO;
List<SellDataOneVO> sellDataOneVO;
@ApiModelProperty(value = "销售总金额")
private BigDecimal sellAmount;
@ApiModelProperty(value = "销售总数量")
......@@ -34,6 +35,8 @@ public class SellDataVO implements Serializable {
@ApiModelProperty(value = "销售总佣金")
private BigDecimal totalCommission;
private int deltag;
private static final SellDataVO obj = new SellDataVO();
public static SellDataVO getNew() {
......
......@@ -47,4 +47,5 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
Integer getOrderScore(@Param("uid") String uid);
List<Map> getUserOrder(@Param("userId")String userId);
List<Map> getUserSellOneDate(@Param("agentId")String agentId,@Param("performanceId")String performanceId);
Map getUserSellAllDate(@Param("agentId")String agentId,@Param("performanceId")String performanceId);
}
......@@ -78,7 +78,7 @@
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
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>
......@@ -89,6 +89,15 @@
and o.order_tickets_id=r.order_id and r.ticket_id=t.tickets_id
and r.agent_id=#{agentId} and r.performance_id=#{performanceId} GROUP BY r.ticket_id
</select>
<select id="getUserSellAllDate" parameterType="String" resultType="java.util.Map">
select sum(c.number) as 'number',SUM(c.price) as 'price',SUM(c.commiss) as 'commiss' from (
select t.title as 'title',ticket_id as 'ticketId',(SUM(number)-SUM(refund_number)) as 'number',(SUM(o.price)-SUM(o.price_refund)) as 'price',SUM(r.agent_distributions * (o.price-o.price_refund)) as 'commiss',r.agent_distributions as 'paioTi' 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_tickets as t where o.order_tickets_id=s.order_id
and o.order_tickets_id=r.order_id and r.ticket_id=t.tickets_id
and r.agent_id=#{agentId} and r.performance_id=#{performanceId} GROUP BY r.ticket_id
) as c
</select>
<select id="getCanRefundOrderList" parameterType="java.lang.String"
......
......@@ -34,7 +34,7 @@
<select id="selectUserList" parameterType="java.util.Map" resultType="com.liquidnet.service.smile.entity.SmileUser">
select * from smile_user
<where>
<if test="phone!=''">
<if test="phone!='' and phone !=null">
AND phone Like concat('%',#{phone},'%')
</if>
</where>
......
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.SellDataOneVO;
import com.liquidnet.service.goblin.dto.vo.SellDataVO;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import com.liquidnet.service.platform.utils.ObjectUtil;
import com.liquidnet.service.smile.entity.SmileUser;
import com.liquidnet.service.smile.mapper.SmileUserMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -26,6 +33,8 @@ import java.util.Map;
@Service
@Slf4j
public class SellDataInfoImpl {
@Autowired
RedisSmileUtil redisSmileUtil;
@Autowired
SmileUserMapper smileUserMapper;
@Autowired
......@@ -36,6 +45,7 @@ public class SellDataInfoImpl {
public void setData(){
//1、查到用户
List<SmileUser> list=smileUserMapper.selectUserList(null);
mongoTemplate.remove(Query.query(Criteria.where("deltag").is(0)), SellDataVO.class, SellDataVO.class.getSimpleName());
for(SmileUser smileUser:list){
//-- 看这个人有哪些演出维度的订单 (支付的、演出id,该用户的。)
if(StringUtil.isNotBlank(smileUser.getUid())){
......@@ -44,14 +54,36 @@ public class SellDataInfoImpl {
String performanceId=a.get("yanchuId")==null?"":a.get("yanchuId").toString();
//获取 该人下 该演出id 的 所有订单
List<Map> list2=orderTicketsMapper.getUserSellOneDate(smileUser.getUid(),performanceId);
ArrayList<SellDataOneVO> listSellDataOneVo= ObjectUtil.getSellDataOneVOArrayList();
for(Map a1:list2){
SellDataOneVO sellDataOneVO=SellDataOneVO.getNew();
//票务类型
sellDataOneVO.setTicketName(a1.get("title")==null?"":a1.get("title").toString());
//数量
sellDataOneVO.setTicketNumber(a1.get("number")==null?0:Integer.parseInt(a1.get("number").toString()));
//总金额
sellDataOneVO.setSellPrice(new BigDecimal(a1.get("price")==null?"0":a1.get("price").toString()));
//票提
sellDataOneVO.setPiaoTi(new BigDecimal(a1.get("paioTi")==null?"":a1.get("paioTi").toString()));
//commission
//佣金
sellDataOneVO.setCommission(new BigDecimal(a1.get("commiss")==null?"0":a1.get("").toString()));
sellDataOneVO.setTicketId(a1.get("ticketId")==null?"":a1.get("ticketId").toString());
listSellDataOneVo.add(sellDataOneVO);
}
Map allDate=orderTicketsMapper.getUserSellAllDate(smileUser.getUid(),performanceId);
SellDataVO sellDataVO=SellDataVO.getNew();
//活动名称 需要再查 目前没有
sellDataVO.setDeltag(0);
sellDataVO.setSellDataId(smileUser.getUid().concat(performanceId));
sellDataVO.setActiveName("");
sellDataVO.setSellAmount(new BigDecimal(allDate.get("price")==null?"0":allDate.get("price").toString()));
sellDataVO.setSellNumber(new BigDecimal(allDate.get("number")==null?"0":allDate.get("number").toString()));
sellDataVO.setTotalCommission(new BigDecimal(allDate.get("commiss")==null?"0":allDate.get("commiss").toString()));
sellDataVO.setSellDataOneVO(listSellDataOneVo);
//redis 里面放入
redisSmileUtil.set(SmileRedisConst.SELL_DATA.concat(smileUser.getUid()).concat(performanceId),sellDataVO);
//mongodb 里面放入
mongoTemplate.insert(sellDataVO,SellDataVO.class.getSimpleName());
}
}
......
......@@ -6,8 +6,8 @@ import com.liquidnet.service.candy.entity.CandyCommonCoupon;
import com.liquidnet.service.candy.entity.CandyCouponCode;
import com.liquidnet.service.candy.entity.CandyUserCoupon;
import com.liquidnet.service.goblin.dto.GoblinStoreMarketDto;
import com.liquidnet.service.goblin.dto.vo.SellDataOneVO;
import com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.KylinOrderCoupons;
import com.mongodb.BasicDBObject;
import org.springframework.stereotype.Component;
......@@ -61,9 +61,13 @@ public class ObjectUtil {
private static final PagedResult<AdamDisposedUserVo> adamDisposedUserVoPagedResult = new PagedResult<>();
private static final ArrayList<KylinOrderCoupons> kylinOrderCouponsArrayList = new ArrayList<>();
private static final ArrayList<KylinApiCameraDevicesVo> kylinApiCameraDevicesVoArrayList = new ArrayList<>();
private static final ArrayList<SellDataOneVO> sellDataOneVOArrayList = new ArrayList<>();
private static final ArrayList<GoblinStoreMarketDto> goblinStoreMarketDtoArrayList = new ArrayList<>();
public static ArrayList<SellDataOneVO> getSellDataOneVOArrayList() {
return (ArrayList<SellDataOneVO>) sellDataOneVOArrayList.clone();
}
public static ArrayList<AdamTagParentVo> getAdamTagParentVoArrayList() {
return (ArrayList<AdamTagParentVo>) adamTagParentVoArrayList.clone();
}
......
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