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

Commit ff5c94fa authored by 张禹's avatar 张禹

Merge branch 'pre' into 'master'

Pre

See merge request !308
parents e016ec77 4fdf54f4
...@@ -68,7 +68,7 @@ public class SmileShowBaseController extends BaseController { ...@@ -68,7 +68,7 @@ public class SmileShowBaseController extends BaseController {
EasyExcel.write(servletOutputStream,UserDataExcel.class).sheet(saleDataVo.getTitle() + "演出销售列表导出").doWrite(rowsToExcels); EasyExcel.write(servletOutputStream,UserDataExcel.class).sheet(saleDataVo.getTitle() + "演出销售列表导出").doWrite(rowsToExcels);
*/ */
smileShowService.exportData(servletOutputStream,perId); smileShowService.exportData(servletOutputStream,perId,title);
} catch (IOException e) { } catch (IOException e) {
log.error("单个演出销售列表导出异常[performancesId={},ex.msg={}]", perId, e.getLocalizedMessage()); log.error("单个演出销售列表导出异常[performancesId={},ex.msg={}]", perId, e.getLocalizedMessage());
......
...@@ -112,20 +112,7 @@ ...@@ -112,20 +112,7 @@
} }
function onexport(){ function onexport(){
var params = { window.location.replace(window.location.protocol +"//"+window.location.host + '/smile/show/base/export?perId=' + '[[${saleDataVo.performancesId}]]'.replaceAll("\"", "") + '&title=' +encodeURIComponent('[[${saleDataVo.title}]]'.replaceAll("\"", "")))
perId:'[[${saleDataVo.performancesId}]]'.replaceAll("\"", "")
}
$.ajax({
type: 'get',
url: "/smile/show/base/export",
headers: {"Content-Type": "application/json;charset=UTF-8"},
data: params,
success: function (e) {
window.location.replace('http://' + window.location.host + '/smile/show/base/export?perId=' + '[[${saleDataVo.performancesId}]]'.replaceAll("\"", "") + '&title=' + '[[${saleDataVo.title}]]')
}
});
} }
</script> </script>
</body> </body>
......
...@@ -11,6 +11,7 @@ import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam; ...@@ -11,6 +11,7 @@ import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
import com.liquidnet.service.smile.entity.SmileSchool; import com.liquidnet.service.smile.entity.SmileSchool;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
/** /**
* <p> * <p>
...@@ -70,6 +71,6 @@ public interface ISmileShowService extends IService<SmileSchool> { ...@@ -70,6 +71,6 @@ public interface ISmileShowService extends IService<SmileSchool> {
*/ */
AjaxResult updateRedis(); AjaxResult updateRedis();
void exportData(ServletOutputStream servletOutputStream, String performancesId); void exportData(ServletOutputStream servletOutputStream, String performancesId,String title);
} }
...@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.smile.service.impl; ...@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.smile.service.impl;
import com.alibaba.excel.EasyExcelFactory; import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.WriteTable; import com.alibaba.excel.write.metadata.WriteTable;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -18,6 +19,7 @@ import com.liquidnet.client.admin.common.utils.StringUtils; ...@@ -18,6 +19,7 @@ import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.smile.dto.*; import com.liquidnet.client.admin.zhengzai.smile.dto.*;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils; import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.galaxy.utils.ObjectUtil; import com.liquidnet.service.galaxy.utils.ObjectUtil;
import com.liquidnet.service.goblin.constant.SmileRedisConst; import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.kylin.dao.TicketAndStatusDao; import com.liquidnet.service.kylin.dao.TicketAndStatusDao;
...@@ -40,12 +42,17 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -40,12 +42,17 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
...@@ -190,7 +197,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -190,7 +197,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
for (SmileUser smileUser : smileUsers) { for (SmileUser smileUser : smileUsers) {
//获取缓存单个用户代理记录 //获取缓存单个用户代理记录
UserData userDataByUid = smileRedisUtils.getUserDataByUid(smilePriceParam.getPerformancesId(), smileUser.getUid()); UserData userDataByUid = smileRedisUtils.getUserDataByUid(smilePriceParam.getPerformancesId(), smileUser.getUid());
if (userDataByUid!=null){ if (userDataByUid != null) {
SmilePrice smilePriceByUidAndPerId = SmilePrice.getNew(); SmilePrice smilePriceByUidAndPerId = SmilePrice.getNew();
BigDecimal price = new BigDecimal("0"); BigDecimal price = new BigDecimal("0");
List<UserDataAgentVo> dataAgentVos = userDataByUid.getDataAgentVos(); List<UserDataAgentVo> dataAgentVos = userDataByUid.getDataAgentVos();
...@@ -378,7 +385,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -378,7 +385,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
//判断该演出是否有打款 //判断该演出是否有打款
Integer showPriceId = smileRedisUtils.getShowPriceId(performancesId); Integer showPriceId = smileRedisUtils.getShowPriceId(performancesId);
if (showPriceId==null){ if (showPriceId == null) {
//根据演出id查询出所有代理人的销售 //根据演出id查询出所有代理人的销售
List<ShowBaseVoDto> showBaseVoList = smileAgentMapper.selectMapByPerId(performancesId); List<ShowBaseVoDto> showBaseVoList = smileAgentMapper.selectMapByPerId(performancesId);
//根据代理id进行分组 //根据代理id进行分组
...@@ -445,7 +452,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -445,7 +452,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
smileUsers.forEach(smileUser -> { smileUsers.forEach(smileUser -> {
if (!ids.contains(smileUser.getUid())) { if (!ids.contains(smileUser.getUid())) {
UserData userData = UserData.getNew(); UserData userData = UserData.getNew();
BigDecimal price = BigDecimal.ZERO;
List<UserDataAgentVo> userDataAgentVos = new ArrayList<>(); List<UserDataAgentVo> userDataAgentVos = new ArrayList<>();
for (TicketAndStatusDao smileAgent : ticketAndStatusDaoList) { for (TicketAndStatusDao smileAgent : ticketAndStatusDaoList) {
UserDataAgentVo userDataAgentVo = UserDataAgentVo.getNew(); UserDataAgentVo userDataAgentVo = UserDataAgentVo.getNew();
...@@ -455,25 +462,25 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -455,25 +462,25 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
userDataAgentVo.setPrice(new BigDecimal(0)); userDataAgentVo.setPrice(new BigDecimal(0));
userDataAgentVo.setPriceReal(new BigDecimal("0.00")); userDataAgentVo.setPriceReal(new BigDecimal("0.00"));
userDataAgentVo.setCommission(new BigDecimal("0.00")); userDataAgentVo.setCommission(new BigDecimal("0.00"));
userDataAgentVos.add(userDataAgentVo);
//是总代 //在原有的数据上新增加该用户下所有普代的提成 //是总代 //在原有的数据上新增加该用户下所有普代的提成
Map orgMap = smileAgentMapper.getUserOrgByPerIdAndUidAndAgentMaster(performancesId, smileUser.getUid(), smileAgent.getTicketsId()); Map orgMap = smileAgentMapper.getUserOrgByPerIdAndUidAndAgentMaster(performancesId, smileUser.getUid(), smileAgent.getTicketsId());
if (orgMap != null) { if (orgMap != null) {
userDataAgentVo.setCommission((userDataAgentVo.getCommission().add((BigDecimal) orgMap.get("totalPrice"))).setScale(2, RoundingMode.HALF_UP)); userDataAgentVo.setCommission((userDataAgentVo.getCommission().add((BigDecimal) orgMap.get("totalPrice"))).setScale(2, RoundingMode.HALF_UP));
} }
userData.setUid(smileUser.getUid()); price = price.add(userDataAgentVo.getCommission());
userData.setUsername(smileUser.getName()); userDataAgentVos.add(userDataAgentVo);
userData.setCityName(smileUser.getCity()); }
userData.setType(smileUser.getType()); userData.setUid(smileUser.getUid());
userData.setDataAgentVos(userDataAgentVos); userData.setUsername(smileUser.getName());
//设置打款状态 userData.setCityName(smileUser.getCity());
userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, smileUser.getUid())); userData.setType(smileUser.getType());
ids.add(userData.getUid()); userData.setDataAgentVos(userDataAgentVos);
//缓存用户redis记录 计算 //设置打款状态
smileRedisUtils.setUserDataByUid(userData, performancesId); userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, smileUser.getUid()));
if (!userDataAgentVo.getCommission().equals(new BigDecimal("0.00"))){ //缓存用户redis记录 计算
userDataList.add(userData); smileRedisUtils.setUserDataByUid(userData, performancesId);
} if (price.compareTo(BigDecimal.ZERO) > 0) {
userDataList.add(userData);
} }
} }
}); });
...@@ -604,12 +611,12 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -604,12 +611,12 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
} }
@Override @Override
public void exportData(ServletOutputStream servletOutputStream, String performancesId) { public void exportData(ServletOutputStream servletOutputStream, String performancesId,String title) {
ExcelWriter writer = EasyExcelFactory.write(servletOutputStream).build(); ExcelWriter writer = EasyExcelFactory.write(servletOutputStream).build();
// 动态添加表头,适用一些表头动态变化的场景 // 动态添加表头,适用一些表头动态变化的场景
SaleDataVo saleDataVo = saleData(performancesId); SaleDataVo saleDataVo = saleData(performancesId);
WriteSheet sheet1 = new WriteSheet(); WriteSheet sheet1 = new WriteSheet();
sheet1.setSheetName(saleDataVo.getTitle().concat("演出数据")); sheet1.setSheetName(title.replace("/","").concat("演出数据"));
sheet1.setSheetNo(0); sheet1.setSheetNo(0);
List<UserData> userDataList = saleDataVo.getUserDataList(); List<UserData> userDataList = saleDataVo.getUserDataList();
......
...@@ -137,16 +137,14 @@ ...@@ -137,16 +137,14 @@
INNER JOIN kylin_order_ticket_status AS kots ON kots.order_id = kotr.order_id INNER JOIN kylin_order_ticket_status AS kots ON kots.order_id = kotr.order_id
WHERE WHERE
su.uid IN ( su.uid IN (
SELECT COALESCE SELECT kotr.agent_id
( kotr.agent_id, kotr.agent_id_master ) uid FROM kylin_order_ticket_relations as kotr
FROM LEFT JOIN kylin_order_ticket_status AS kots ON kotr.order_id = kots.order_id
kylin_order_ticket_relations AS kotr INNER JOIN smile_user AS su ON su.uid = kotr.agent_id
WHERE WHERE kots.status IN (1,6,3)
kotr.performance_id = #{performancesId}
AND kotr.agent_id != 0 AND kotr.agent_id != 0
AND COALESCE ( kotr.agent_id, kotr.agent_id_master ) NOT IN ( SELECT sp.uid FROM smile_price AS sp WHERE sp.performanceS_id = #{performancesId} AND sp.uid IS NOT NULL AND sp.record != '') AND kotr.performance_id = #{performancesId}
GROUP BY group by kotr.agent_id
uid
) )
AND kotr.performance_id = #{performancesId} AND kotr.performance_id = #{performancesId}
AND kots.`status` IN ( 1, 6 ,3) AND kots.`status` IN ( 1, 6 ,3)
......
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