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