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

Commit f1b59171 authored by Administrator's avatar Administrator 🎨

Merge branch 'pre' into 'master'

Pre

See merge request !322
parents 50e849e1 03d47e22
package com.liquidnet.service.kylin.dto.vo.mongo; package com.liquidnet.service.kylin.dto.vo.mongo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo; import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.entity.KylinFields; import com.liquidnet.service.kylin.entity.KylinFields;
import com.liquidnet.service.kylin.entity.KylinPerformanceRelations; import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus; import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
...@@ -18,7 +20,8 @@ import java.util.List; ...@@ -18,7 +20,8 @@ import java.util.List;
@ApiModel @ApiModel
@Data @Data
public class KylinPerformanceVo implements Serializable, Cloneable{ @JsonIgnoreProperties(ignoreUnknown = true)
public class KylinPerformanceVo implements Serializable, Cloneable {
private Integer mid; private Integer mid;
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
...@@ -106,8 +109,12 @@ public class KylinPerformanceVo implements Serializable, Cloneable{ ...@@ -106,8 +109,12 @@ public class KylinPerformanceVo implements Serializable, Cloneable{
@ApiModelProperty(value = "场次") @ApiModelProperty(value = "场次")
private List<KylinTicketTimesVo> ticketTimeList; private List<KylinTicketTimesVo> ticketTimeList;
@ApiModelProperty(value = "是否开启分销[0-否|1-是]")
private Integer isAgent;
@ApiModelProperty(value = "分销人名称") @ApiModelProperty(value = "分销人名称")
private String agentName; private String agentName;
@ApiModelProperty(value = "0正常、1黑名单")
private Integer state;
@ApiModelProperty(value = "注册时间") @ApiModelProperty(value = "注册时间")
private String createdAt; private String createdAt;
...@@ -133,7 +140,7 @@ public class KylinPerformanceVo implements Serializable, Cloneable{ ...@@ -133,7 +140,7 @@ public class KylinPerformanceVo implements Serializable, Cloneable{
private Integer fieldAuditStatus; private Integer fieldAuditStatus;
public Integer getIdCount() { public Integer getIdCount() {
return idCount==null?limitCount:idCount; return idCount == null ? limitCount : idCount;
} }
private static final KylinPerformanceVo obj = new KylinPerformanceVo(); private static final KylinPerformanceVo obj = new KylinPerformanceVo();
...@@ -272,4 +279,16 @@ public class KylinPerformanceVo implements Serializable, Cloneable{ ...@@ -272,4 +279,16 @@ public class KylinPerformanceVo implements Serializable, Cloneable{
this.roadShowId = performanceRelations.getRoadShowId(); this.roadShowId = performanceRelations.getRoadShowId();
this.merchantId = performanceRelations.getMerchantId(); this.merchantId = performanceRelations.getMerchantId();
} }
public void setPIsAgent() {
for (KylinTicketTimesVo timeVo : this.getTicketTimeList()) {
for (KylinTicketVo ticketVo : timeVo.getTicketList()) {
if (ticketVo.getIsAgent() == 1) {
this.isAgent = 1;
break;
}
}
}
}
} }
package com.liquidnet.service.kylin.dto.vo.partner;
import com.liquidnet.service.kylin.dao.report.KylinPerformancesDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 演出
* </p>
*
* @author liquidnet
* @since 2021-05-05
*/
@Data
public class KylinPerformancesVo implements Cloneable {
/**
* 演出id
*/
@ApiModelProperty(value = "演出id")
private String performancesId;
/**
* 演出名
*/
@ApiModelProperty(value = "演出名")
private String title;
/**
* 城市
*/
@ApiModelProperty(value = "城市")
private String cityName;
/**
* 总销售数量 -张 saleGeneral
*/
@ApiModelProperty(value = "总销售数量")
private BigDecimal open;
/**
* 总销售金额 totalSalePrice
*/
@ApiModelProperty(value = "总销售金额 ")
private BigDecimal totalSalePrice;
/**
* 演出结束时间
*/
@ApiModelProperty(value = "演出结束时间")
private LocalDateTime timeEnd;
/**
* 演出结束时间
*/
@ApiModelProperty(value = "演出结束时间")
private LocalDateTime timeStart;
/**
* 顺序
*/
@ApiModelProperty(value = "顺序")
private String comment;
/**
* 演出状态
*/
@ApiModelProperty(value = "演出状态")
private int status;
/**
* 上下架标识【1:下架,0:上架】
*/
@ApiModelProperty(value = "上下架标识【1:下架,0:上架】")
private int type;
private static final KylinPerformancesVo obj = new KylinPerformancesVo();
public static KylinPerformancesVo getNew() {
try {
return (KylinPerformancesVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinPerformancesVo();
}
}
public KylinPerformancesVo copyListAll(KylinPerformancesDto kylinPerformancesDto) {
if (kylinPerformancesDto==null) return null;
this.performancesId = kylinPerformancesDto.getPerformancesId();
this.title = kylinPerformancesDto.getTitle();
this.type = kylinPerformancesDto.getType();
this.status = kylinPerformancesDto.getStatus();
return this;
}
}
package com.liquidnet.client.admin.framework.web.exception; package com.liquidnet.client.admin.framework.web.exception;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.ConstraintViolationException;
import org.apache.shiro.authz.AuthorizationException; import org.apache.shiro.authz.AuthorizationException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.validation.BindException; import org.springframework.validation.BindException;
import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
...@@ -105,6 +109,24 @@ public class GlobalExceptionHandler ...@@ -105,6 +109,24 @@ public class GlobalExceptionHandler
return AjaxResult.error(message); return AjaxResult.error(message);
} }
/**
* MethodArgumentNotValidException
*/
/*@ExceptionHandler(MethodArgumentNotValidException.class)
public AjaxResult handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
String errMsg = e.getBindingResult().getFieldErrors().get(0).getDefaultMessage();
return AjaxResult.error(errMsg);
}*/
/**
* ConstraintViolationException
*/
/*@ExceptionHandler(ConstraintViolationException.class)
public AjaxResult handleConstraintViolationException(ConstraintViolationException e) {
String errMsg = e.getMessage().split(":")[1];
return AjaxResult.error(errMsg);
}*/
/** /**
* 演示模式异常 * 演示模式异常
*/ */
......
...@@ -33,11 +33,11 @@ public class LocalAdminController extends BaseController ...@@ -33,11 +33,11 @@ public class LocalAdminController extends BaseController
return smilePrefix + "/userList/list"; return smilePrefix + "/userList/list";
} }
@GetMapping("/smileDetail") // 用户详情 @GetMapping("/smileDetail") // 用户详情
public String smileDetail() public String smileDetail() { return smilePrefix + "/userList/detail"; }
{ @GetMapping("/specialDetail") // 特邀用户详情
return smilePrefix + "/userList/detail"; public String specialDetail() { return smilePrefix + "/userList/specialDetail"; }
} @GetMapping("/blackList") // 黑名单管理
public String blackList() { return smilePrefix + "/blackList/blackList"; }
@GetMapping("/smilePending") // 待审核列表 @GetMapping("/smilePending") // 待审核列表
public String smilePending() public String smilePending()
{ {
...@@ -232,4 +232,10 @@ public class LocalAdminController extends BaseController ...@@ -232,4 +232,10 @@ public class LocalAdminController extends BaseController
mmap.put("platformUrl", platformUrl); mmap.put("platformUrl", platformUrl);
return ybPrefix + "/creatAndEdit"; return ybPrefix + "/creatAndEdit";
} }
@GetMapping("/smileUserListAdd") // 关联活动-编辑
public String smileUserListAdd()
{
return smilePrefix + "/userList/add";
}
} }
...@@ -48,7 +48,6 @@ public class SmileOrganizationController { ...@@ -48,7 +48,6 @@ public class SmileOrganizationController {
@ResponseBody @ResponseBody
public AjaxResult updateOrg(@RequestBody SmileOrganization smileOrganization){ public AjaxResult updateOrg(@RequestBody SmileOrganization smileOrganization){
return smileOrganizationService.update(smileOrganization); return smileOrganizationService.update(smileOrganization);
} }
@PostMapping("/getOrgById") @PostMapping("/getOrgById")
...@@ -58,5 +57,4 @@ public class SmileOrganizationController { ...@@ -58,5 +57,4 @@ public class SmileOrganizationController {
SmileOrgAndUserVo orgById = smileOrganizationService.getOrgById(id); SmileOrgAndUserVo orgById = smileOrganizationService.getOrgById(id);
return AjaxResult.success(orgById); return AjaxResult.success(orgById);
} }
} }
...@@ -22,7 +22,6 @@ import javax.servlet.ServletOutputStream; ...@@ -22,7 +22,6 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
/** /**
* @author TT * @author TT
...@@ -61,13 +60,6 @@ public class SmileShowBaseController extends BaseController { ...@@ -61,13 +60,6 @@ public class SmileShowBaseController extends BaseController {
response.setCharacterEncoding(StandardCharsets.UTF_8.name()); response.setCharacterEncoding(StandardCharsets.UTF_8.name());
servletOutputStream = response.getOutputStream(); servletOutputStream = response.getOutputStream();
//数据查询 //数据查询
/*
SaleDataVo saleDataVo = smileShowService.saleData(performancesId);
List<UserDataExcel> rowsToExcels = new ArrayList<>();
saleDataVo.getUserDataList().forEach(userData -> rowsToExcels.add(UserDataExcel.getNew().copy(userData)));
EasyExcel.write(servletOutputStream,UserDataExcel.class).sheet(saleDataVo.getTitle() + "演出销售列表导出").doWrite(rowsToExcels);
*/
smileShowService.exportData(servletOutputStream,perId); smileShowService.exportData(servletOutputStream,perId);
} catch (IOException e) { } catch (IOException e) {
......
package com.liquidnet.client.admin.web.controller.zhengzai.smile; package com.liquidnet.client.admin.web.controller.zhengzai.smile;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SaleDataVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort; import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.TakeByPerId;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformancesVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/** /**
* @author TT * @author TT
*/ */
...@@ -30,10 +34,17 @@ public class SmileShowController { ...@@ -30,10 +34,17 @@ public class SmileShowController {
@PostMapping("/list") @PostMapping("/list")
@ApiOperation("演出列表") @ApiOperation("演出列表")
@ResponseBody @ResponseBody
public TableDataInfo schoolList(SmileShowParam smileShowParam) { public TableDataInfo list(SmileShowParam smileShowParam) {
return smileShowService.listShow(smileShowParam); return smileShowService.listShow(smileShowParam);
} }
@GetMapping("/listAll")
@ApiOperation("特邀代理获取可代理的演出列表")
@ResponseBody
public ResponseDto<List<KylinPerformancesVo>> listAll(String title) {
return smileShowService.listAll(title);
}
@GetMapping("/getShowById") @GetMapping("/getShowById")
@ApiOperation("根据演出id查询演出详情") @ApiOperation("根据演出id查询演出详情")
public AjaxResult getShowById(String performancesId) { public AjaxResult getShowById(String performancesId) {
...@@ -46,6 +57,13 @@ public class SmileShowController { ...@@ -46,6 +57,13 @@ public class SmileShowController {
return smileShowService.sort(showSort); return smileShowService.sort(showSort);
} }
@PutMapping("/upTakeByPerId")
@ApiOperation("演出上下架[1:下架,0:上架]")
public AjaxResult upTakeByPerId(@RequestBody TakeByPerId takeByPerId) {
return smileShowService.upTakeByPerId(takeByPerId.getPerId(), takeByPerId.getType());
}
@PostMapping("/price") @PostMapping("/price")
@ApiOperation("个人打款打款") @ApiOperation("个人打款打款")
public AjaxResult price(@RequestBody SmilePriceParam smilePriceParam) { public AjaxResult price(@RequestBody SmilePriceParam smilePriceParam) {
...@@ -60,7 +78,7 @@ public class SmileShowController { ...@@ -60,7 +78,7 @@ public class SmileShowController {
@GetMapping("/updateRedis") @GetMapping("/updateRedis")
@ApiOperation("修改原保存演出id的数据类型,分支dev_0507kids 部署完执行接口(演出列表重复问题修复也可以运行此接口)") @ApiOperation("修改原保存演出id的数据类型,分支dev_0507kids 部署完执行接口(演出列表重复问题修复也可以运行此接口)")
public AjaxResult updateRedis(){ public AjaxResult updateRedis() {
return smileShowService.updateRedis(); return smileShowService.updateRedis();
} }
......
package com.liquidnet.client.admin.web.controller.zhengzai.smile; package com.liquidnet.client.admin.web.controller.zhengzai.smile;
import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.druid.support.json.JSONUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
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.ISmileUserService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileUserService;
import com.liquidnet.service.smile.entity.SmileUser;
import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao; import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.io.InputStream; import java.io.InputStream;
...@@ -41,8 +46,15 @@ public class SmileUserController extends BaseController { ...@@ -41,8 +46,15 @@ public class SmileUserController extends BaseController {
@ApiOperation(value = "获取用户列表") @ApiOperation(value = "获取用户列表")
@ResponseBody @ResponseBody
public TableDataInfo userList(SmileUserParam smileUserParam) { public TableDataInfo userList(SmileUserParam smileUserParam) {
TableDataInfo rspData = iSmileUserService.userList(smileUserParam); PageHelper.startPage(smileUserParam.getPageNum(), smileUserParam.getPageSize());
return rspData; return getDataTable(iSmileUserService.userList(smileUserParam));
}
@GetMapping("/getList")
@ApiOperation(value = "获取用户列表")
@ResponseBody
public AjaxResult getList(String phone) {
return AjaxResult.success(iSmileUserService.getList(phone));
} }
@PostMapping("/getUserById") @PostMapping("/getUserById")
...@@ -61,13 +73,6 @@ public class SmileUserController extends BaseController { ...@@ -61,13 +73,6 @@ public class SmileUserController extends BaseController {
return AjaxResult.success(userListByOrgId); return AjaxResult.success(userListByOrgId);
} }
@PostMapping("/updateUserStateByUid")
@ApiOperation(value = "根据uid修改用户状态 0:正常,1:黑名单")
@ResponseBody
public AjaxResult updateUserStateById(@RequestParam(name = "uid", required = true) String uid, @RequestParam(name = "state", required = true) Integer state) {
return iSmileUserService.updateUserStateById(uid, state);
}
@PostMapping("/check/list") @PostMapping("/check/list")
@ApiOperation("获取审核列表") @ApiOperation("获取审核列表")
@ResponseBody @ResponseBody
...@@ -87,16 +92,49 @@ public class SmileUserController extends BaseController { ...@@ -87,16 +92,49 @@ public class SmileUserController extends BaseController {
return iSmileUserService.updateUserCheckById(smileUserCheckVo); return iSmileUserService.updateUserCheckById(smileUserCheckVo);
} }
@PostMapping("/updateUserStateByUid")
@ApiOperation(value = "根据uid修改用户状态 0:正常,1:黑名单")
@ResponseBody
@ApiOperationSupport(order = 1)
public AjaxResult updateUserStateById(@RequestBody SaveUserStateParam saveUserStateParam) {
return iSmileUserService.updateUserStateById(saveUserStateParam.getUid(), saveUserStateParam.getState(),saveUserStateParam.getReason());
}
@PostMapping("/listByState")
@ApiOperation("获取黑名单列表")
@ResponseBody
@ApiOperationSupport(order = 2)
public TableDataInfo listByState(SmileUserStateParam smileUserStateParam) {
PageHelper.startPage(smileUserStateParam.getPageNum(), smileUserStateParam.getPageSize());
return getDataTable(iSmileUserService.listByState(smileUserStateParam));
}
@PostMapping("/saveInvitedAgent")
@ApiOperation("新增特邀代理")
@ResponseBody
@ApiOperationSupport(order = 3)
public AjaxResult saveInvitedAgent(@RequestBody SmileUserInvitedVo smileUserInvitedVo) {
if (StringUtils.isEmpty(smileUserInvitedVo.getName())||
StringUtils.isEmpty(smileUserInvitedVo.getDescribe())||
StringUtils.isEmpty(smileUserInvitedVo.getPhone())||
StringUtils.isEmpty(smileUserInvitedVo.getPerformancesId())||
StringUtils.isNull(smileUserInvitedVo.getTicket())){
return AjaxResult.warn("参数不能为空");
}
return iSmileUserService.saveInvitedAgent(smileUserInvitedVo);
}
@RequestMapping("getAreaJson") @RequestMapping("getAreaJson")
@ApiOperation("省市区json") @ApiOperation("省市区json")
@ResponseBody @ResponseBody
public AjaxResult getAreaJson(){ public AjaxResult getAreaJson() {
String jsonStr = ""; String jsonStr = "";
try { try {
String path = Objects.requireNonNull(JSONUtils.class.getClassLoader().getResource("static/area.json")).getPath(); String path = Objects.requireNonNull(JSONUtils.class.getClassLoader().getResource("static/area.json")).getPath();
logger.info("path:{}",path); logger.info("path:{}", path);
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/area.json"); InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/area.json");
if (inputStream != null){ if (inputStream != null) {
Reader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8); Reader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
int ch = 0; int ch = 0;
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('黑名单管理')"/>
<th:block th:include="include :: bootstrap-fileinput-css" />
<style>
</style>
</head>
<body>
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>手机号:</label>
<input type="number" name=""/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<!-- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i-->
<!-- class="fa fa-refresh"></i>&nbsp;重置</a>-->
</li>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
</body>
<th:block th:include="include :: footer"/>
<script type="text/javascript">
$(function(){
let options = {
url: '/smile/user/listByState',
columns: [
{
field: 'uid',
title: 'ID'
},
{
field: 'name',
title: '姓名'
},
{
field: 'sex',
title: '性别',
formatter:function(value,row,index){
return row.sex === 1? '男' : '女'
}
},
{
field: 'phone',
title: '手机号'
},
{
field: 'idCard',
title: '身份证号'
},
{
field: 'province',
title: '地区'
},
{
field: 'schoolName',
title: '学校'
},
{
field: 'identity',
title: '身份',
formatter: function(value, row, index) {
if (value == 1) {
return '在校学生';
} else {
return '已毕业';
}
}
},
{
field: 'errorReason',
title: '拉黑原因'
},
{
field: 'updatedDate',
title: '拉黑时间'
},
{
title: '操作',
formatter:function(value,row,index){
var actions = [];
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="goDetail(\''+row.type+'\',\''+row.uid+'\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="updateUserStateById(\'' + row.uid + '\',\'' + 0 + '\')"><i class="fa fa-edit"></i>恢复</a> ');
return actions.join('');
}
},
]
}
$.table.init(options);
})
function goDetail (type,id) {
if(type === '5'){
let url = ctx+'local/specialDetail?id=' + id;
$.modal.openTab("特邀用户详情", url);
}else{
let url = ctx+'local/smileDetail?id=' + id;
$.modal.openTab("用户详情", url);
}
}
function updateUserStateById(uid,state) {
let postData = {
uid: uid,
state: state
}
$.ajax({
type: 'post',
url: ctx + 'smile/user/updateUserStateByUid',
headers: {"Content-Type": "application/json;charset=UTF-8"},
data: JSON.stringify(postData),
success: function (e) {
// alert(e.msg)
location.reload();
}
});
}
</script>
</html>
\ No newline at end of file
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
padding: 0 20px; padding: 0 20px;
} }
.picker{ .picker{
margin-top: 10px;
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
} }
...@@ -27,7 +28,7 @@ ...@@ -27,7 +28,7 @@
margin-right: 2px; margin-right: 2px;
} }
#detailPro .detail_inner { #detailPro .detail_inner {
margin-bottom: 20px; /* margin-bottom: 20px; */
} }
#detailPro .detail_title { #detailPro .detail_title {
margin-top: 50px; margin-top: 50px;
...@@ -41,12 +42,18 @@ ...@@ -41,12 +42,18 @@
.layui-layer-shade{ .layui-layer-shade{
opacity: 30%; opacity: 30%;
} }
.item {
margin-bottom: 20px;
}
.item div { .item div {
display: flex; display: flex;
} }
.item div a{ .item div a{
margin-left: 12px; margin-left: 12px;
} }
.item div p, .item div div {
margin: 0px;
}
/* 星星 */ /* 星星 */
.required-group-name { .required-group-name {
color: red; color: red;
...@@ -57,6 +64,9 @@ ...@@ -57,6 +64,9 @@
.groupName { .groupName {
border: 1px solid #dfdfdf; border: 1px solid #dfdfdf;
} }
.Name {
border: 1px solid #dfdfdf;
}
.required-province { .required-province {
color: red; color: red;
display: inline-block; display: inline-block;
...@@ -96,9 +106,13 @@ ...@@ -96,9 +106,13 @@
<span class="required-group-name">*</span> <span class="required-group-name">*</span>
<input class="groupName" type="text" placeholder="组名称" > <input class="groupName" type="text" placeholder="组名称" >
<p class="required-group-text"></p> <p class="required-group-text"></p>
<span class="required-group-name">*</span>
<input class="Phone" placeholder="输入手机号选择总代">
<div class="picker"> <div class="picker">
<span class="required-province">*</span> <span class="required-province">*</span>
<div class="demo" id="demo-1"></div> <div class="demo" id="demo-1">
<select onchange="sele()"></select>
</div>
</div> </div>
<p class="required-province-text"></p> <p class="required-province-text"></p>
<!-- <input class="groupMobile" type="text" placeholder="输入手机号选择总代" >--> <!-- <input class="groupMobile" type="text" placeholder="输入手机号选择总代" >-->
...@@ -167,9 +181,11 @@ ...@@ -167,9 +181,11 @@
addressStr: [], addressStr: [],
addressIds: [] addressIds: []
} }
let uid = ''
function yes() { function yes() {
var groupName = $('.groupName').val(); var groupName = $('.groupName').val();
var phone = $('.Phone').val()
// var groupMobile = $('.groupMobile').val(); // var groupMobile = $('.groupMobile').val();
var editStatus = $('.editCon').val(); var editStatus = $('.editCon').val();
var postData = { var postData = {
...@@ -177,23 +193,23 @@ ...@@ -177,23 +193,23 @@
// name: groupMobile, // name: groupMobile,
// area: adArr.addressStr[2], // area: adArr.addressStr[2],
delTag: 0, delTag: 0,
// areaId: adArr.addressIds[2].toString(), agentId: uid,
// city: adArr.addressStr[1], // city: adArr.addressStr[1],
// cityId: adArr.addressIds[1].toString(), // cityId: adArr.addressIds[1].toString(),
province: adArr.addressStr[0], // province: adArr.addressStr[0],
provinceId: adArr.addressIds[0] + '' // provinceId: adArr.addressIds[0] + ''
}; };
if (!groupName) { if (!groupName) {
$('.required-group-text').text('组名称为必填项!'); $('.required-group-text').text('组名称为必填项!');
} else { } else {
$('.required-group-text').text(''); $('.required-group-text').text('');
} }
if (!adArr.addressStr[0]) { if (!phone) {
$('.required-province-text').text('省名称为必填项!'); $('.required-province-text').text('选择总代为必填项!');
} else { } else {
$('.required-province-text').text(''); $('.required-province-text').text('');
} }
if (groupName && adArr.addressStr[0]) { if (groupName && phone) {
if (editStatus != '') { // edit if (editStatus != '') { // edit
postData.id = editStatus; postData.id = editStatus;
$.ajax({ $.ajax({
...@@ -202,11 +218,16 @@ ...@@ -202,11 +218,16 @@
headers:{"Content-Type":"application/json;charset=UTF-8"}, headers:{"Content-Type":"application/json;charset=UTF-8"},
data: JSON.stringify(postData), data: JSON.stringify(postData),
success:function(e) { success:function(e) {
console.log(e)
if(e.code === 301){
$.modal.msg(e.msg)
}else{
$(".layui-layer-close1").click(); $(".layui-layer-close1").click();
refreshItem(); refreshItem();
$('.required-group-text').val(''); $('.required-group-text').val('');
$('.required-province-text').val(''); $('.required-province-text').val('');
} }
}
}) })
} else { // create } else { // create
// postData.areaId = 0; // postData.areaId = 0;
...@@ -216,14 +237,16 @@ ...@@ -216,14 +237,16 @@
headers:{"Content-Type":"application/json;charset=UTF-8"}, headers:{"Content-Type":"application/json;charset=UTF-8"},
data: JSON.stringify(postData), data: JSON.stringify(postData),
success:function(e) { success:function(e) {
if(e.code === 301){
$.modal.msg(e.msg)
}else{
$(".layui-layer-close1").click(); $(".layui-layer-close1").click();
refreshItem(); refreshItem();
} }
}
}) })
} }
} }
} }
function closeModal(){ function closeModal(){
...@@ -232,29 +255,32 @@ ...@@ -232,29 +255,32 @@
// 新建组 // 新建组
$("#button-open-10").click(function(){ $("#button-open-10").click(function(){
$('.editCon').val(''); $('select').empty()
$('.Phone').val('');
$('.groupName').val(''); $('.groupName').val('');
// let data = {
// phone:$('.Phone').val()
// }
layer.open({ layer.open({
type: 1, type: 1,
shade: true, shade: true,
title: '创建组', //不显示标题 title: '创建组', //不显示标题
content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响 content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
success: function () { // success: function () {
var $pre = $( "pre" ); // var $pre = $( "pre" );
var $picker = $( ".picker" ); // var $picker = $( ".picker" );
$.getJSON( ctx + 'smile/user/getAreaJson' ).done(function ( res ) { // $.getJSON('/smile/user/getList',data).done(function ( res ) {
$( "#demo-1" ).iPicker({ // $( "#demo-1" ).iPicker({
level:1, // level:1,
data: JSON.parse(res.msg), // data: JSON.parse(res.msg),
// defaultValue: [ "230000", "230800", "230805" ], // // defaultValue: [ "230000", "230800", "230805" ],
onSelect: function ( v, t, set ) { // onSelect: function ( v, t, set ) {
adArr.addressIds = v; // adArr.addressIds = v;
adArr.addressStr = t; // adArr.addressStr = t;
} // }
}); // });
}) // })
}, // },
cancel: function(res){ cancel: function(res){
// layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', {time: 5000, icon:6}); // layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', {time: 5000, icon:6});
} }
...@@ -275,19 +301,20 @@ ...@@ -275,19 +301,20 @@
success:function(e) { success:function(e) {
$('.editCon').val(id); $('.editCon').val(id);
$('.groupName').val(e.data.name); $('.groupName').val(e.data.name);
$('.Phone').val(e.data.smileUserVoOrgListTotal.name);
// $('.groupMobile').val(e.data.address); // $('.groupMobile').val(e.data.address);
adArr.addressStr[0] = e.data.province // adArr.addressStr[0] = e.data.province
$.getJSON( ctx + 'smile/user/getAreaJson' ).done(function ( res ) { // $.getJSON( ctx + 'smile/user/getAreaJson' ).done(function ( res ) {
$( "#demo-1" ).iPicker({ // $( "#demo-1" ).iPicker({
level:1, // level:1,
data: JSON.parse(res.msg), // data: JSON.parse(res.msg),
defaultValue: [e.data.provinceId, e.data.areaId, e.data.cityId], // defaultValue: [e.data.provinceId, e.data.areaId, e.data.cityId],
onSelect: function ( v, t, set ) { // onSelect: function ( v, t, set ) {
adArr.addressIds = v; // adArr.addressIds = v;
adArr.addressStr = t; // adArr.addressStr = t;
} // }
}); // });
}) // })
} }
}) })
}, },
...@@ -345,6 +372,8 @@ ...@@ -345,6 +372,8 @@
</div>` </div>`
}) })
$("#smileUserVoOrgListOrdinary").html(str); $("#smileUserVoOrgListOrdinary").html(str);
}else{
$("#smileUserVoOrgListOrdinary").empty()
} }
} }
}) })
...@@ -354,10 +383,18 @@ ...@@ -354,10 +383,18 @@
} }
}); });
} }
// function searchUser(){
// $('.Name').on('input',function(){
// console.log($(this).val())
// })
// }
$(function () { $(function () {
var options = { var options = {
url: orifix + "/list", url: orifix + "/list",
modalName: "组织架构", modalName: "组织架构",
showSearch: false,
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
...@@ -391,8 +428,38 @@ ...@@ -391,8 +428,38 @@
}; };
$.table.init(options); $.table.init(options);
$('.Phone').on('input',function(){
let data = {
phone:$(this).val()
}
if(data.phone.length >= 6){
$.getJSON('/smile/user/getList',data,function ( res ) {
let arr = []
$('select').empty()
res.data.forEach(item =>{
arr.push(`<option value="${item.uid}" disabled selected>请选择</option>`)
arr.push(`<option value="${item.uid}">${item.name}</option>`)
})
$('select').append(arr)
})
}
// let data = {
// phone:$(this).val()
// }
// $.ajax({
// url:'/smile/user/getList',
// type:'get',
// data,
// success:function(res){
// console.log(res)
// }
// })
})
}); });
function sele(){
uid = $('select').val()
$('.Phone').val($('select').find('option:selected').text())
}
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -210,6 +210,7 @@ ...@@ -210,6 +210,7 @@
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
modalName: "学校列表", modalName: "学校列表",
showSearch: false,
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
......
...@@ -61,6 +61,10 @@ ...@@ -61,6 +61,10 @@
showColumns: false, showColumns: false,
sidePagination: "client", sidePagination: "client",
columns: [ columns: [
{
field: 'title',
title: '票种名'
},
{ {
field: 'totalCarry', field: 'totalCarry',
title: '总代票提', title: '总代票提',
......
...@@ -105,6 +105,7 @@ ...@@ -105,6 +105,7 @@
modalName: "销售数据", modalName: "销售数据",
url: smilePrefix + "/list", url: smilePrefix + "/list",
detailUrl: smilePrefix + "/base/saleData/{id}", detailUrl: smilePrefix + "/base/saleData/{id}",
showSearch: false,
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
...@@ -161,10 +162,15 @@ ...@@ -161,10 +162,15 @@
align: 'center', align: 'center',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
if (row.type===1){
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="upTakeByPerId(\'' + row.performancesId + '\',\'' + 0 + '\')"><i class="fa fa-edit"></i>上架</a> ');
}else {
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="upTakeByPerId(\'' + row.performancesId + '\',\'' + 1 + '\')"><i class="fa fa-edit"></i>下架</a> ');
}
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>设置票提</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>设置票提</a> ');
// actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="editPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>编辑票提</a> '); // actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="editPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>编辑票提</a> ');
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toDetail(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toDetail(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>销售数据</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.performancesId + '\', 1200)"><i class="fa fa-edit"></i>销售数据</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
...@@ -189,6 +195,31 @@ ...@@ -189,6 +195,31 @@
}); });
} }
/*上下架*/
function upTakeByPerId(id,type) {
let postData = {
perId: id,
type: type
}
$.ajax({
type: 'put',
url: ctx + 'smile/show/upTakeByPerId',
headers: {"Content-Type": "application/json;charset=UTF-8"},
data: JSON.stringify(postData),
success: function (e) {
// alert(e.msg)
if (e.code == 301 || e.code == 500) {
layer.msg(e.msg)
setTimeout(() => {
location.reload();
},500)
} else {
location.reload();
}
}
});
}
/* 跳转详情 */ /* 跳转详情 */
function toDetail(id) { function toDetail(id) {
window.localStorage.setItem('performancesId', id); window.localStorage.setItem('performancesId', id);
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<td>票种名称</td> <td>票种名称</td>
<td>总代票提</td> <td>总代票提</td>
<td>普代票提</td> <td>普代票提</td>
<tr/> </tr>
<div th:each="item : *{showAgentVoList}"> <div th:each="item : *{showAgentVoList}">
<tr class="content-tr"> <tr class="content-tr">
<td th:text="${item.title}"> <td th:text="${item.title}">
...@@ -48,6 +48,9 @@ ...@@ -48,6 +48,9 @@
<td>姓名</td> <td>姓名</td>
<td>所属地区</td> <td>所属地区</td>
<td>身份</td> <td>身份</td>
<td>证件号</td>
<td>联系电话</td>
<td>总代姓名</td>
<div th:each="item : *{showAgentVoList}"> <div th:each="item : *{showAgentVoList}">
<td th:text="${item.title}"></td> <td th:text="${item.title}"></td>
</div> </div>
...@@ -55,21 +58,29 @@ ...@@ -55,21 +58,29 @@
<td>总销售金额</td> <td>总销售金额</td>
<td>总销售佣金</td> <td>总销售佣金</td>
<td>打款状态</td> <td>打款状态</td>
<td>是否黑名单</td>
<td>操作</td> <td>操作</td>
<tr/> </tr>
<div th:each="item : *{userDataList}"> <div th:each="item : *{userDataList}">
<tr class="content-tr"> <tr class="content-tr">
<!-- <td th:text="${item}"></td> -->
<td th:text="${item.username}"></td> <td th:text="${item.username}"></td>
<td th:text="${item.cityName}"></td> <td th:text="${item.cityName}"></td>
<!-- <td th:name="uid" th:text="${item.uid}" hidden="hidden"></td>--> <!-- <td th:name="uid" th:text="${item.uid}" hidden="hidden"></td>-->
<td th:if="${item.type==1}" th:text="总代"></td> <td th:if="${item.type==1}" th:text="总代"></td>
<td th:if="${item.type==2}" th:text="普代"></td> <td th:if="${item.type==2}" th:text="普代"></td>
<td th:if="${item.type==5}" th:text="特邀代理"></td>
<td th:text="${item.idCard}"></td>
<td th:text="${item.phone}"></td>
<td th:text="${item.agentName}"></td>
<td th:each="itemAgent : ${item.dataAgentVos}" th:text="${itemAgent.number}"></td> <td th:each="itemAgent : ${item.dataAgentVos}" th:text="${itemAgent.number}"></td>
<td th:text="${#aggregates.sum(item.dataAgentVos.![number])}"></td> <td th:text="${#aggregates.sum(item.dataAgentVos.![number])}"></td>
<td th:text="${#aggregates.sum(item.dataAgentVos.![priceReal])}"></td> <td th:text="${#aggregates.sum(item.dataAgentVos.![priceReal])}"></td>
<td th:text="${#aggregates.sum(item.dataAgentVos.![commission])}"></td> <td th:text="${item.totalCommission}"></td>
<td th:if="${item.priceStatus!=0}" th:text="待打款"></td> <td th:if="${item.priceStatus!=0}" th:text="待打款"></td>
<td th:if="${item.priceStatus==0}" th:text="已打款"></td> <td th:if="${item.priceStatus==0}" th:text="已打款"></td>
<td th:if="${item.state==0}" th:text="否"></td>
<td th:if="${item.state==1}" th:text="是"></td>
<td th:if="${item.priceStatus!=0}"> <td th:if="${item.priceStatus!=0}">
<button type="button" class="btn btn-success btn-xs" <button type="button" class="btn btn-success btn-xs"
th:onclick="submitHandler([[${item.uid}]])"> th:onclick="submitHandler([[${item.uid}]])">
...@@ -90,7 +101,7 @@ ...@@ -90,7 +101,7 @@
$("#form-transfer-edit").validate({ $("#form-transfer-edit").validate({
focusCleanup: true focusCleanup: true
}); });
console.log('[[${saleDataVo}]]', '????')
function submitHandler(uid) { function submitHandler(uid) {
var param = { var param = {
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('用户列表')"/>
<style>
.container-div .row .addBox {
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
}
.addBox .addItems {
display: flex;
align-items: center;
margin-top: 20px;
}
.addBox .addItems .input-group {
width: 200px !important;
}
.addBox .addItems span {
display: inline-block;
width: 100px;
text-align: right;
margin-right: 8px;
}
</style>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="addBox">
<div class="addItems">
<span><em style="color: red;">*</em>特邀代理姓名</span><input id="name" type="text" placeholder="特邀代理姓名" class="form-control" style="width:200px;height: 30px;">
</div>
<div class="addItems">
<span><em style="color: red;">*</em>特邀代理手机号</span><input id="phone" maxlength="11" type="text" placeholder="特邀代理手机号" class="form-control" style="width:200px;height: 30px;">
</div>
<div class="addItems">
<span><em style="color: red;">*</em>代理描述</span><input id="text" type="text" placeholder="代理描述" class="form-control" style="width:200px;height: 30px;">
</div>
<div class="addItems">
<span><em style="color: red;">*</em>选择演出</span>
<div class="input-group iptOrSelect">
<input id="searchIpt" data-id="" value="" type="text" class="form-control storeList" placeholder="请输入查询信息" style="width:200px;height: 30px;">
<div class="input-group-btn">
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
</div>
<div class="addItems">
<span><em style="color: red;">*</em>票提设置</span><input id="ticket" type="number" placeholder="票提设置%" class="form-control" style="width:200px;height: 30px;">
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-suggest-js" />
<script th:inline="javascript">
let uid = null
let perId = null
let hostname = null
var title = null
var smilePrefix = ctx + "smile/user";
var performancesId = null
$(".storeList").bsSuggest({
idField: 'performancesId', // data.value 的第几个数据,作为input输入框的内容
keyField: 'title', // data.value 的第几个数据,作为input输入框的内容
allowNoKeyword: false, //是否允许无关键字时请求数据
showBtn:false,
multiWord: true, //以分隔符号分割的多关键字支持
hideOnSelect: true,
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
effectiveFields: ['title'],
url: '/smile/show/listAll?title=',
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数
//字符串转化为 js 对象
let data = {};
data.value = json.data
return data
}
}).on('onDataRequestSuccess', function (e, result) {
}).on('onSetSelectValue', function (e, selectedData,selectedRawData ) { // 当前行的所有值都能拿到
console.log(selectedData)
}).on('onUnsetSelectValue', function (e) {
});;
// $.ajax({
// url:'/smile/show/listAll',
// type:'get',
// success:function(res){
// let arr = []
// res.data.forEach(item =>{
// arr.push(`<option value="${item.performancesId}">${item.title}</option>`)
// })
// $('#performance').append(arr)
// }
// })
</script>
</body>
</html>
\ No newline at end of file
...@@ -20,6 +20,10 @@ ...@@ -20,6 +20,10 @@
<!-- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i--> <!-- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i-->
<!-- class="fa fa-refresh"></i>&nbsp;重置</a>--> <!-- class="fa fa-refresh"></i>&nbsp;重置</a>-->
</li> </li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="create()"><i
class="fa"></i>创建特邀代理</a>
</li>
</ul> </ul>
</div> </div>
</form> </form>
...@@ -31,10 +35,31 @@ ...@@ -31,10 +35,31 @@
</div> </div>
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<script th:inline="javascript"> <script th:inline="javascript">
let uid = null
let perId = null
let hostname = null
var title = null
var prefix2 = ctx + "local";
let dialog = `<div class="dialog" style="height:200px;width:500px;display: flex;flex-direction: column;justify-content: space-around;align-items: center;">
<div class="title">请输入拉黑原因</div>
<textarea name="" id="" cols="50" rows="10"></textarea>
</div>`
let add = `<div style="height:300px;display: flex;flex-direction: column;justify-content: space-around;align-items: center;">
<p style="border-bottom: 1px solid #000;width: 100%;text-align: center;">创建特邀代理</p>
<input id="name" type="text" placeholder="特邀代理姓名" style="width:200px;height: 30px;">
<input id="phone" maxlength="11" type="text" placeholder="特邀代理手机号" style="width:200px;height: 30px;">
<input id="text" type="text" placeholder="代理描述" style="width:200px;height: 30px;">
<select name="" id="performance" style="width:200px;height: 30px;">
<option value="" disabled selected>选择演出</option>
</select>
<input id="ticket" type="text" placeholder="票提设置%" style="width:200px;height: 30px;">
</div>`
var detailFlag = [[${@permission.hasPermi('smile:performances:detail')}]]; var detailFlag = [[${@permission.hasPermi('smile:performances:detail')}]];
var smilePrefix = ctx + "smile/user"; var smilePrefix = ctx + "smile/user";
console.log(smilePrefix); console.log(smilePrefix);
var performancesId = null
// // createUrl: prefix + "/add", // // createUrl: prefix + "/add",
// // updateUrl: prefix + "/edit/{id}", // // updateUrl: prefix + "/edit/{id}",
// // removeUrl: prefix + "/remove", // // removeUrl: prefix + "/remove",
...@@ -68,8 +93,10 @@ ...@@ -68,8 +93,10 @@
formatter: function(value, row, index) { formatter: function(value, row, index) {
if (value == 1) { if (value == 1) {
return '男'; return '男';
} else { } else if (value == 2){
return '女'; return '女';
}else {
return '-';
} }
} }
}, },
...@@ -104,10 +131,23 @@ ...@@ -104,10 +131,23 @@
field: 'type', field: 'type',
title: '类型', title: '类型',
formatter: function(value, row, index) { formatter: function(value, row, index) {
if (value == 1) { if (value === 1) {
return '总代'; return '总代';
} else { } else if(value === 2){
return '普代'; return '普代';
}else{
return '特邀代理'
}
}
},
{
field: 'state',
title: '状态',
formatter: function(value, row, index) {
if (value === 0) {
return '正常';
} else {
return '黑名单';
} }
} }
}, },
...@@ -116,19 +156,109 @@ ...@@ -116,19 +156,109 @@
align: 'center', align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="goDetail(\'' + row.uid + '\')"><i class="fa fa-edit"></i>查看</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="goDetail(\''+row.type+'\',\''+row.uid+'\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="updateUserStateById(\'' + row.uid + '\',\'' + 1 + '\')"><i class="fa fa-edit"></i>加入黑名单</a> ');
if(row.type === 5){
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="showQRcode(\'' + row.uid + '\')"><i class="fa fa-edit"></i>查看二维码</a> ');
}
return actions.join(''); return actions.join('');
} }
}] }]
}; };
$.table.init(options); $.table.init(options);
console.log(options)
}); });
function goDetail (id) { function goDetail (type,id) {
var url = ctx+'local/smileDetail?id=' + id; if(type === '5'){
let url = ctx+'local/specialDetail?id=' + id;
$.modal.openTab("特邀用户详情", url);
}else{
let url = ctx+'local/smileDetail?id=' + id;
$.modal.openTab("用户详情", url); $.modal.openTab("用户详情", url);
} }
}
/*加入黑名单*/
function updateUserStateById(uid,state) {
$.modal.confirm(dialog,() =>{
let str = $('textarea').val()
let postData = {
uid: uid,
state: state,
reason:str
}
$.ajax({
type: 'post',
url: ctx + 'smile/user/updateUserStateByUid',
headers: {"Content-Type": "application/json;charset=UTF-8"},
data: JSON.stringify(postData),
success: function (e) {
// alert(e.msg)
location.reload();
}
});
});
}
function create(){
$.modal.open('创建特邀代理',prefix2+'/smileUserListAdd', 450, 400, (index, layero) => {
let body = layer.getChildFrame('body', index);
let testMethod = /^([0-9]{1,2}|100)$/;
if (!testMethod.test(Number(body.find('#ticket').val()))) return layer.msg('票提应为0-100的正整数!')
let data = {
describe: body.find('#text').val(),
name: body.find('#name').val(),
performancesId: body.find('#searchIpt').attr('data-id'),
phone: body.find('#phone').val(),
ticket: body.find('#ticket').val()
}
for(let i in data) {
if (!data[i]) return layer.msg('请将必填项填写完整!')
}
data.ticket = Number(data.ticket);
$.ajax({
url:'/smile/user/saveInvitedAgent',
type:'post',
data:JSON.stringify(data),
headers: {"Content-Type": "application/json;charset=UTF-8"},
success:function(res){
location.reload();
}
})
})
}
function showQRcode(id){
if(window.location.hostname.indexOf('dev') !== -1){
hostname = 'https://devm.zhengzai.tv'
}else if(window.location.hostname.indexOf('test') !== -1){
hostname = 'https://testm.zhengzai.tv'
}else{
hostname = 'https://m.zhengzai.tv'
}
uid = id
$.ajax({
type: 'post',
url: smilePrefix + "/getUserById",
data: {
uid: id
},
success:function(res){
perId = res.data.perId
title = res.data.title
}
})
setTimeout(() =>{
let qrCode = `<div style="height:300px;display: flex;flex-direction: column;justify-content: space-around;align-items: center;">
<p style="width: 100%;text-align: center;">查看二维码</p>
<img src="https://api.qrserver.com/v1/create-qr-code?data=${hostname}/%23/ticket/detail?id=${perId}%26agentId=${uid}" style="width: 200px;height: 200px;">
<p>地址链接:${hostname}/#/ticket/detail?id=${perId}&agentId=${uid}</p>
<p>演出名称:${title}</p>
</div>`
$.modal.confirm(qrCode,() =>{
})
},100)
}
// var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]]; // var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]];
// var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]]; // var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]];
// var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]]; // var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]];
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('特邀用户详情')"/>
<th:block th:include="include :: bootstrap-fileinput-css" />
<style>
.detail-container{
height: 50%;
padding: 50px;
display: flex;
flex-direction: column;
justify-content: space-around;
align-content: flex-start;
}
</style>
</head>
<body>
<div class="detail-container"></div>
</body>
<th:block th:include="include :: footer"/>
<script type="text/javascript">
$(function(){
let uid = getUrlParms('id');
let data = {
uid:uid
}
$.ajax({
url:'/smile/user/getUserById',
type:'post',
data,
success:function(response){
let { data } = response;
let child = `<div>特邀代理姓名:${data.name}</div>` + `<div>特邀代理手机号:${data.phone}</div>` + `<div>代理描述:${data.describe}</div>` + `<div>代理演出:${data.title}</div>` + `<div>票提设置:${data.ticket}%</div>`
$('.detail-container').append(child)
}
})
})
function getUrlParms(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)
return unescape(r[2]);
return null;
}
</script>
</html>
\ No newline at end of file
...@@ -232,6 +232,8 @@ ...@@ -232,6 +232,8 @@
$(this).fileinput("upload"); $(this).fileinput("upload");
}) })
.on("fileuploaded", function (event, data) { //上传回调事件 .on("fileuploaded", function (event, data) { //上传回调事件
console.log(event, data)
if (data.response.code == 1) return layer.msg(data.response.message)
let showPicture = 'https://img.zhengzai.tv/' + data.response.data.ossPath; let showPicture = 'https://img.zhengzai.tv/' + data.response.data.ossPath;
$("#viewImg").attr('src', showPicture) $("#viewImg").attr('src', showPicture)
}) })
...@@ -362,9 +364,10 @@ ...@@ -362,9 +364,10 @@
endTime: $("#endTime").val(), endTime: $("#endTime").val(),
startTime: $("#startTime").val(), startTime: $("#startTime").val(),
name: $("#selectShow").val(), name: $("#selectShow").val(),
performanceId: $("#selectShow").attr('data-id'), performanceId: $("#selectShow").attr('data-id').split(',')[$("#selectShow").attr('data-id').split(',').length-1],
performanceImg: $("#viewImg").attr('src') performanceImg: $("#viewImg").attr('src')
} // endTime } // endTime
console.log($("#selectShow").attr('data-id').split(',')[$("#selectShow").attr('data-id').split(',').length-1], '$("#selectShow")')
if (marketId) { if (marketId) {
data.marketId = marketId; data.marketId = marketId;
promiseMethods('/goblin/marketing/zhengzai/change','post',data).then(res => { promiseMethods('/goblin/marketing/zhengzai/change','post',data).then(res => {
......
...@@ -168,6 +168,19 @@ ...@@ -168,6 +168,19 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<!--二维码生成-->
<!--<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.3</version>
</dependency>-->
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author TT
*/
@Data
public class SaveUserStateParam {
@ApiModelProperty(value = "uid", example = "")
private String uid;
@ApiModelProperty(value = "标识【0:正常;1:黑名单】", example = "1")
@NotNull(message = "标识不能为空")
private Integer state;
@ApiModelProperty(value = "拉黑原因")
private String reason;
}
...@@ -76,6 +76,12 @@ public class ShowVo implements Serializable { ...@@ -76,6 +76,12 @@ public class ShowVo implements Serializable {
@ApiModelProperty(value = "演出打款状态") @ApiModelProperty(value = "演出打款状态")
private String status; private String status;
/**
* 上下架状态【0:上架,1:下架】
*/
@ApiModelProperty(value = "演出打款状态")
private int type;
/** /**
* 顺序 * 顺序
*/ */
...@@ -137,6 +143,7 @@ public class ShowVo implements Serializable { ...@@ -137,6 +143,7 @@ public class ShowVo implements Serializable {
this.setOpen(kylinPerformancesDto.getOpen() == null ? BigDecimal.valueOf(0) : kylinPerformancesDto.getOpen()); this.setOpen(kylinPerformancesDto.getOpen() == null ? BigDecimal.valueOf(0) : kylinPerformancesDto.getOpen());
this.setPerformancesId(kylinPerformancesDto.getPerformancesId()); this.setPerformancesId(kylinPerformancesDto.getPerformancesId());
this.setTimeEnd(kylinPerformancesDto.getTimeEnd()); this.setTimeEnd(kylinPerformancesDto.getTimeEnd());
this.setType(kylinPerformancesDto.getType());
return this; return this;
} }
} }
...@@ -3,6 +3,8 @@ package com.liquidnet.client.admin.zhengzai.smile.dto; ...@@ -3,6 +3,8 @@ package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotEmpty;
/** /**
* <p> * <p>
* *
...@@ -20,6 +22,7 @@ public class SmileOrganizationVo{ ...@@ -20,6 +22,7 @@ public class SmileOrganizationVo{
* 组织名称 * 组织名称
*/ */
@ApiModelProperty(value = "组织名称", example = "") @ApiModelProperty(value = "组织名称", example = "")
@NotEmpty(message = "组织名称不能为空")
private String name; private String name;
/** /**
......
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @author TT
*/
@Data
public class SmileUserInvitedVo {
@ApiModelProperty(value = "姓名")
@NotEmpty(message = "姓名不能为空")
private String name;
@ApiModelProperty(value = "手机号", example = "")
@NotEmpty(message = "手机号不能为空")
private String phone;
@ApiModelProperty(value = "代理描述")
@NotEmpty(message = "代理描述不能为空")
private String describe;
@ApiModelProperty(value = "演出id")
@NotEmpty(message = "演出id不能为空")
private String performancesId;
@ApiModelProperty(value = "票提")
@NotNull(message = "票提不能为空")
private BigDecimal ticket;
}
...@@ -43,9 +43,4 @@ public class SmileUserParam { ...@@ -43,9 +43,4 @@ public class SmileUserParam {
@NotNull(message = "数量不能为空") @NotNull(message = "数量不能为空")
private Integer pageNum; private Integer pageNum;
@ApiModelProperty(value = "排序字段", hidden = true)
private String orderItem;
@ApiModelProperty(value = "排序方式", hidden = true)
private String orderSc;
} }
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author TT
*/
@Data
public class SmileUserStateParam {
@ApiModelProperty(value = "手机号", example = "")
private String phone;
@ApiModelProperty(value = "代理类型(1:总代,2:普代)", example = "")
private Integer type;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "数量", example = "20")
@NotNull(message = "数量不能为空")
private Integer pageSize;
@ApiModelProperty(value = "页数", example = "")
@NotNull(message = "页数不能为空")
private Integer pageNum;
}
package com.liquidnet.client.admin.zhengzai.smile.dto; package com.liquidnet.client.admin.zhengzai.smile.dto;
import com.liquidnet.service.smile.entity.SmileUser;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@Data @Data
public class SmileUserVo { public class SmileUserVo implements Serializable, Cloneable {
private Long id; private Long id;
...@@ -17,7 +20,7 @@ public class SmileUserVo { ...@@ -17,7 +20,7 @@ public class SmileUserVo {
/** /**
* 照片 * 照片
*/ */
@ApiModelProperty("照片d") @ApiModelProperty("照片")
private String img; private String img;
/** /**
...@@ -184,4 +187,73 @@ public class SmileUserVo { ...@@ -184,4 +187,73 @@ public class SmileUserVo {
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private LocalDateTime createdDate; private LocalDateTime createdDate;
@ApiModelProperty("票提")
private BigDecimal ticket;
@ApiModelProperty("代理演出名称")
private String title;
@ApiModelProperty("代理描述")
private String describe;
@ApiModelProperty("道理演出id")
private String perId;
private static final SmileUserVo obj = new SmileUserVo();
public static SmileUserVo getNew() {
try {
return (SmileUserVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new SmileUserVo();
}
public SmileUserVo copy(SmileUser smileUser) {
if (null == smileUser) return this;
this.setId(smileUser.getId());
this.setUid(smileUser.getUid());
this.setImg(smileUser.getImg());
this.setBirthday(smileUser.getBirthday());
this.setAgent(smileUser.getAgent());
this.setArea(smileUser.getArea());
this.setAreaId(smileUser.getAreaId());
this.setAddress(smileUser.getAddress());
this.setCity(smileUser.getCity());
this.setCityId(smileUser.getCityId());
this.setCreatedDate(smileUser.getCreatedDate());
this.setErrorReason(smileUser.getErrorReason());
this.setName(smileUser.getName());
this.setIdentity(smileUser.getIdentity());
this.setIntroduce(smileUser.getIntroduce());
this.setPhone(smileUser.getPhone());
this.setOrgId(smileUser.getOrgId());
this.setSchoolId(smileUser.getSchoolId());
this.setSchoolMajor(smileUser.getSchoolMajor());
this.setSchoolName(smileUser.getSchoolName());
this.setSex(smileUser.getSex());
this.setIdCard(smileUser.getIdCard());
this.setProvince(smileUser.getProvince());
this.setProvinceId(smileUser.getProvinceId());
this.setSpecialty1(smileUser.getSpecialty1());
this.setSpecialty2(smileUser.getSpecialty2());
this.setSpecialty3(smileUser.getSpecialty3());
this.setWechat(smileUser.getWechat());
this.setType(smileUser.getType());
this.setTag(smileUser.getTag());
return this;
}
public SmileUserVo copyInvited(SmileUser smileUser) {
if (null == smileUser) return this;
this.setId(smileUser.getId());
this.setName(smileUser.getName());
this.setUid(smileUser.getUid());
this.setPhone(smileUser.getPhone());
this.setDescribe(smileUser.getIntroduce());
this.setType(smileUser.getType());
return this;
}
} }
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @author TT
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TakeByPerId {
/**
* 排序
*/
@ApiModelProperty(value = "演出ID", example = "")
private String perId;
/**
* 演出id
*/
@ApiModelProperty(value = "上下架【1:下架,0:上架】", example = "")
private int type;
}
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
...@@ -38,6 +39,30 @@ public class UserData implements Serializable, Cloneable { ...@@ -38,6 +39,30 @@ public class UserData implements Serializable, Cloneable {
@ApiModelProperty(value = "身份 1。总代 2.普代", example = "") @ApiModelProperty(value = "身份 1。总代 2.普代", example = "")
private Integer type; private Integer type;
/**
* 身份 1。黑名单 0正常
*/
@ApiModelProperty(value = "黑名单状态 1。黑名单 0.正常", example = "")
private Integer state;
/**
* 手机号码
*/
@ApiModelProperty(value = "手机号码", example = "")
private String phone;
/**
* 手机号码
*/
@ApiModelProperty(value = "证件号", example = "")
private String idCard;
/**
* 城市名称
*/
@ApiModelProperty(value = "总代姓名", example = "")
private String agentName;
/** /**
* 用户代理票信息 * 用户代理票信息
*/ */
...@@ -50,6 +75,9 @@ public class UserData implements Serializable, Cloneable { ...@@ -50,6 +75,9 @@ public class UserData implements Serializable, Cloneable {
@ApiModelProperty(value = "打款状态", example = "") @ApiModelProperty(value = "打款状态", example = "")
private Integer priceStatus; private Integer priceStatus;
@ApiModelProperty(value = "总佣金")
private BigDecimal totalCommission;
private static final UserData obj = new UserData(); private static final UserData obj = new UserData();
......
...@@ -8,10 +8,12 @@ import com.liquidnet.client.admin.zhengzai.smile.dto.SaleDataVo; ...@@ -8,10 +8,12 @@ import com.liquidnet.client.admin.zhengzai.smile.dto.SaleDataVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort; import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformancesVo;
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; import java.util.List;
/** /**
* <p> * <p>
...@@ -73,4 +75,8 @@ public interface ISmileShowService extends IService<SmileSchool> { ...@@ -73,4 +75,8 @@ public interface ISmileShowService extends IService<SmileSchool> {
void exportData(ServletOutputStream servletOutputStream, String performancesId); void exportData(ServletOutputStream servletOutputStream, String performancesId);
AjaxResult upTakeByPerId(String perId, Integer type);
ResponseDto<List<KylinPerformancesVo>> listAll(String title);
} }
...@@ -4,7 +4,6 @@ package com.liquidnet.client.admin.zhengzai.smile.service; ...@@ -4,7 +4,6 @@ package com.liquidnet.client.admin.zhengzai.smile.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.*; import com.liquidnet.client.admin.zhengzai.smile.dto.*;
import com.liquidnet.service.smile.entity.SmileUser; import com.liquidnet.service.smile.entity.SmileUser;
import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao; import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao;
...@@ -13,16 +12,21 @@ import java.util.List; ...@@ -13,16 +12,21 @@ import java.util.List;
public interface ISmileUserService extends IService<SmileUser> { public interface ISmileUserService extends IService<SmileUser> {
TableDataInfo userList(SmileUserParam smileUserParam); List<SmileUser> userList(SmileUserParam smileUserParam);
SmileUserVo getUserById(String id); SmileUserVo getUserById(String id);
List<SmileUserVoOrg> getUserListByOrgId(Long orgId, Long agentId); List<SmileUserVoOrg> getUserListByOrgId(Long orgId, Long agentId);
AjaxResult updateUserStateById(String uid, Integer state); AjaxResult updateUserStateById(String uid, Integer state,String reason);
PageInfo<SmileUserCheckDao> listUserCheck(UserCheckParam userCheckParam); PageInfo<SmileUserCheckDao> listUserCheck(UserCheckParam userCheckParam);
AjaxResult updateUserCheckById(SmileUserCheckVo smileUserCheck); AjaxResult updateUserCheckById(SmileUserCheckVo smileUserCheck);
List<SmileUser> listByState(SmileUserStateParam smileUserStateParam);
AjaxResult saveInvitedAgent(SmileUserInvitedVo smileUserInvitedVo);
List<SmileUserVo> getList(String phone);
} }
...@@ -11,12 +11,10 @@ import com.liquidnet.service.smile.entity.SmileAgent; ...@@ -11,12 +11,10 @@ import com.liquidnet.service.smile.entity.SmileAgent;
import com.liquidnet.service.smile.entity.dao.SmileAgentDao; import com.liquidnet.service.smile.entity.dao.SmileAgentDao;
import com.liquidnet.service.smile.mapper.SmileAgentMapper; import com.liquidnet.service.smile.mapper.SmileAgentMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.Before;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.List; import java.util.List;
......
...@@ -2,6 +2,7 @@ package com.liquidnet.client.admin.zhengzai.smile.service.impl; ...@@ -2,6 +2,7 @@ package com.liquidnet.client.admin.zhengzai.smile.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -65,7 +66,7 @@ public class SmileOrganizationServiceImpl extends ServiceImpl<SmileOrganizationM ...@@ -65,7 +66,7 @@ public class SmileOrganizationServiceImpl extends ServiceImpl<SmileOrganizationM
BeanUtils.copyProperties(smileOrganization, smileOrganizationVo); BeanUtils.copyProperties(smileOrganization, smileOrganizationVo);
log.info("organizationList orgId:{}", smileOrganization.getId()); log.info("organizationList orgId:{}", smileOrganization.getId());
//根据代理id 用户uid查询用户名称 //根据代理id 用户uid查询用户名称
if (StringUtils.isNotEmpty(smileOrganization.getAgentId())){ if (StringUtils.isNotEmpty(smileOrganization.getAgentId())) {
SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(smileOrganization.getAgentId()); SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(smileOrganization.getAgentId());
if (smileUserVO != null) { if (smileUserVO != null) {
smileOrganizationVo.setAgentName(smileUserVO.getName()); smileOrganizationVo.setAgentName(smileUserVO.getName());
...@@ -90,22 +91,150 @@ public class SmileOrganizationServiceImpl extends ServiceImpl<SmileOrganizationM ...@@ -90,22 +91,150 @@ public class SmileOrganizationServiceImpl extends ServiceImpl<SmileOrganizationM
log.info("smileOrganizationVo:{}", smileOrganizationVo); log.info("smileOrganizationVo:{}", smileOrganizationVo);
LambdaQueryWrapper<SmileOrganization> queryWrapper = Wrappers.lambdaQuery(SmileOrganization.class); LambdaQueryWrapper<SmileOrganization> queryWrapper = Wrappers.lambdaQuery(SmileOrganization.class);
queryWrapper.eq(SmileOrganization::getName, smileOrganizationVo.getName()); queryWrapper.eq(SmileOrganization::getName, smileOrganizationVo.getName());
queryWrapper.eq(SmileOrganization::getDelTag, 0);
if (smileOrganizationMapper.selectOne(queryWrapper) == null) { if (smileOrganizationMapper.selectOne(queryWrapper) == null) {
SmileOrganization smileOrganization = new SmileOrganization(); SmileOrganization smileOrganization = new SmileOrganization();
BeanUtils.copyProperties(smileOrganizationVo, smileOrganization); BeanUtils.copyProperties(smileOrganizationVo, smileOrganization);
smileOrganization.setCreatedDate(LocalDateTime.now()); smileOrganization.setCreatedDate(LocalDateTime.now());
smileOrganization.setUpdatedDate(LocalDateTime.now()); smileOrganization.setUpdatedDate(LocalDateTime.now());
//判断总代id是否为空
if (!StringUtils.isEmpty(smileOrganizationVo.getAgentId())){
//查询uid信息
SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(smileOrganizationVo.getAgentId());
if (null==smileUserVO){
return AjaxResult.error("用户不存在");
}
if (smileUserVO.getType()==2){
//该用户可以配置为总代
smileOrganization.setAgentId(smileOrganizationVo.getAgentId());
smileOrganization.setDelTag(0);
smileOrganizationMapper.insert(smileOrganization);
//修改用户
LambdaQueryWrapper<SmileUser> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
userLambdaQueryWrapper.eq(SmileUser::getUid,smileOrganizationVo.getAgentId());
SmileUser smileUser = smileUserMapper.selectOne(userLambdaQueryWrapper);
smileUser.setAgentId(smileOrganizationVo.getAgentId());
smileUser.setOrgId(smileOrganization.getId());
smileUser.setType(1);
smileUserMapper.updateById(smileUser);
smileUserVO.setAgentId(smileUser.getAgentId());
smileUserVO.setOrgId(smileUser.getOrgId());
smileUserVO.setType(1);
smileRedisUtils.setSmileUserVO(smileUserVO.getUid(),smileUserVO);
return AjaxResult.success();
}else {
return AjaxResult.warn("该用户为其他组织总代!");
}
}
smileOrganization.setDelTag(0); smileOrganization.setDelTag(0);
smileOrganizationMapper.insert(smileOrganization); smileOrganizationMapper.insert(smileOrganization);
return AjaxResult.success(); return AjaxResult.success();
} }
return AjaxResult.warn("总代理不能为空或组织已添加"); return AjaxResult.warn("组织已添加");
} }
@Override @Override
public AjaxResult update(SmileOrganization smileOrganization) { public AjaxResult update(SmileOrganization smileOrganization) {
smileOrganization.setUpdatedDate(LocalDateTime.now()); LocalDateTime now = LocalDateTime.now();
smileOrganizationMapper.updateById(smileOrganization); smileOrganization.setUpdatedDate(now);
//查询组织信息
LambdaQueryWrapper<SmileOrganization> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SmileOrganization::getId, smileOrganization.getId());
lambdaQueryWrapper.eq(SmileOrganization::getDelTag, 0);
SmileOrganization oleOrganization = smileOrganizationMapper.selectOne(lambdaQueryWrapper);
if (oleOrganization == null) {
return AjaxResult.warn("参数错误");
}
LambdaQueryWrapper<SmileOrganization> organizationQueryWrapper = new LambdaQueryWrapper<>();
organizationQueryWrapper.ne(SmileOrganization::getId, smileOrganization.getId());
organizationQueryWrapper.eq(SmileOrganization::getName, smileOrganization.getName());
organizationQueryWrapper.eq(SmileOrganization::getDelTag, 0);
List<SmileOrganization> smileOrganizations = smileOrganizationMapper.selectList(organizationQueryWrapper);
if (smileOrganizations != null && smileOrganizations.size() > 0) {
return AjaxResult.warn("组织名重复!");
}
//判断该uid是否为总代
LambdaQueryWrapper<SmileUser> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
userLambdaQueryWrapper.eq(SmileUser::getUid, smileOrganization.getAgentId());
userLambdaQueryWrapper.eq(SmileUser::getDelTag, 0);
userLambdaQueryWrapper.in(SmileUser::getType, 1, 2);
SmileUser user = smileUserMapper.selectOne(userLambdaQueryWrapper);
if (user != null && user.getType().equals(1)) {
if (user.getOrgId().equals(oleOrganization.getId())) {
return AjaxResult.warn("该成员为该组总代!");
}
return AjaxResult.warn("该成员为其他组织总代!");
} else if (user == null) {
return AjaxResult.warn("用户不存在!");
}else if (user.getType().equals(2) && user.getState().equals(1)){
return AjaxResult.warn("该用户已被黑!");
}
//修改总代与原总代不同
if (!StringUtils.isEmpty(smileOrganization.getAgentId()) && !StringUtils.isEmpty(oleOrganization.getAgentId()) && !oleOrganization.getAgentId().equals(smileOrganization.getAgentId())) {
//查询所有原总代的普代成员
LambdaQueryWrapper<SmileUser> smileUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
smileUserLambdaQueryWrapper.eq(SmileUser::getAgentId, oleOrganization.getAgentId());
smileUserLambdaQueryWrapper.eq(SmileUser::getDelTag, 0);
smileUserLambdaQueryWrapper.in(SmileUser::getType, 1, 2);
List<SmileUser> oldSmileUsers = smileUserMapper.selectList(smileUserLambdaQueryWrapper);
log.info("原总代id:{},修改总代id:{},受影响普代{}个", oleOrganization.getAgentId(), smileOrganization.getAgentId(), oldSmileUsers.size());
oldSmileUsers.forEach(smileUser -> {
//修改缓存用户redis总代信息
SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(smileUser.getUid());
smileUserVO.setUpdatedDate(now);
smileUserVO.setType(smileUser.getUid().equals(smileOrganization.getAgentId()) ? 1 : 2);
smileUserVO.setAgentId(smileOrganization.getAgentId());
//修改redis缓存
smileRedisUtils.setSmileUserVO(smileUser.getUid(), smileUserVO);
smileUser.setType(smileUserVO.getType());
smileUser.setUpdatedDate(now);
smileUser.setAgentId(smileOrganization.getAgentId());
//修改smile_user中普代总代信息
smileUserMapper.updateById(smileUser);
});
//修改user信息
user.setUpdatedDate(now);
user.setType(1);
user.setOrgId(smileOrganization.getId());
user.setAgentId(smileOrganization.getAgentId());
smileUserMapper.updateById(user);
SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(user.getUid());
smileUserVO.setUpdatedDate(now);
smileUserVO.setType(1);
smileUserVO.setOrgId(smileOrganization.getId());
smileUserVO.setAgentId(smileOrganization.getAgentId());
smileRedisUtils.setSmileUserVO(smileUserVO.getUid(), smileUserVO);
//修改组织信息
oleOrganization.setName(smileOrganization.getName());
oleOrganization.setAgentId(smileOrganization.getAgentId());
smileOrganizationMapper.updateById(oleOrganization);
return AjaxResult.success();
}
//只改名 或者原组织没有总代id
oleOrganization.setName(smileOrganization.getName());
if (!StringUtils.isEmpty(smileOrganization.getAgentId())) {
//修改总代
oleOrganization.setAgentId(smileOrganization.getAgentId());
//查询uid
LambdaQueryWrapper<SmileUser> smileUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
smileUserLambdaQueryWrapper.eq(SmileUser::getUid, smileOrganization.getAgentId());
smileUserLambdaQueryWrapper.eq(SmileUser::getDelTag, 0);
SmileUser smileUser = smileUserMapper.selectOne(smileUserLambdaQueryWrapper);
smileUser.setType(1);
smileUser.setAgentId(smileOrganization.getAgentId());
smileUser.setOrgId(smileOrganization.getId());
smileUser.setUpdatedDate(now);
smileUserMapper.updateById(smileUser);
//修改redis
SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(smileUser.getUid());
smileUserVO.setUpdatedDate(now);
smileUserVO.setType(1);
smileUserVO.setOrgId(smileOrganization.getId());
smileUserVO.setAgentId(smileOrganization.getAgentId());
smileRedisUtils.setSmileUserVO(smileUserVO.getUid(), smileUserVO);
}
smileOrganizationMapper.updateById(oleOrganization);
return AjaxResult.success(); return AjaxResult.success();
} }
......
...@@ -11,6 +11,7 @@ import com.liquidnet.client.admin.zhengzai.smile.service.ISmileSchoolService; ...@@ -11,6 +11,7 @@ import com.liquidnet.client.admin.zhengzai.smile.service.ISmileSchoolService;
import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils; import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.service.goblin.dto.vo.SmileSchoolVo; import com.liquidnet.service.goblin.dto.vo.SmileSchoolVo;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.smile.entity.SmileSchool; import com.liquidnet.service.smile.entity.SmileSchool;
import com.liquidnet.service.smile.entity.SmileUser; import com.liquidnet.service.smile.entity.SmileUser;
import com.liquidnet.service.smile.mapper.SmileSchoolMapper; import com.liquidnet.service.smile.mapper.SmileSchoolMapper;
...@@ -20,10 +21,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -20,10 +21,8 @@ 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.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -100,6 +99,16 @@ public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, Smile ...@@ -100,6 +99,16 @@ public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, Smile
queryWrapper.eq(SmileSchool::getDelTag, 0); queryWrapper.eq(SmileSchool::getDelTag, 0);
if (smileSchoolMapper.update(smileSchool, queryWrapper) > 0) { if (smileSchoolMapper.update(smileSchool, queryWrapper) > 0) {
//更新User表 根据学校id修改用户学校名称 //更新User表 根据学校id修改用户学校名称
LambdaQueryWrapper<SmileUser> smileUserLambdaQueryWrapper = Wrappers.lambdaQuery(SmileUser.class);
smileUserLambdaQueryWrapper.select(SmileUser::getUid);
smileUserLambdaQueryWrapper.eq(SmileUser::getSchoolId,smileSchool.getId());
List<SmileUser> smileUsers = smileUserMapper.selectList(smileUserLambdaQueryWrapper);
smileUsers.forEach(smileUser -> {
SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(smileUser.getUid());
smileUserVO.setSchoolName(smileSchool.getName());
smileRedisUtils.setSmileUserVO(smileUser.getUid(),smileUserVO);
});
smileUserMapper.updateUserSchoolBySchoolId(smileSchool.getId().toString(), smileSchool.getName()); smileUserMapper.updateUserSchoolBySchoolId(smileSchool.getId().toString(), smileSchool.getName());
smileRedisUtils.setSchool(String.valueOf(smileSchool.getId()), smileSchool.getName()); smileRedisUtils.setSchool(String.valueOf(smileSchool.getId()), smileSchool.getName());
//修改数据 //修改数据
......
...@@ -3,12 +3,12 @@ package com.liquidnet.client.admin.zhengzai.smile.service.impl; ...@@ -3,12 +3,12 @@ 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;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -19,12 +19,15 @@ import com.liquidnet.client.admin.common.utils.StringUtils; ...@@ -19,12 +19,15 @@ 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.base.ResponseDto;
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.goblin.dto.vo.SmileAgentVo;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.kylin.dao.TicketAndStatusDao; import com.liquidnet.service.kylin.dao.TicketAndStatusDao;
import com.liquidnet.service.kylin.dao.report.KylinPerformancesDto; import com.liquidnet.service.kylin.dao.report.KylinPerformancesDto;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformancesVo;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.smile.entity.SmileAgent; import com.liquidnet.service.smile.entity.SmileAgent;
...@@ -37,22 +40,14 @@ import com.liquidnet.service.smile.mapper.SmilePriceMapper; ...@@ -37,22 +40,14 @@ import com.liquidnet.service.smile.mapper.SmilePriceMapper;
import com.liquidnet.service.smile.mapper.SmileSchoolMapper; import com.liquidnet.service.smile.mapper.SmileSchoolMapper;
import com.liquidnet.service.smile.mapper.SmileUserMapper; import com.liquidnet.service.smile.mapper.SmileUserMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; 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.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.*;
...@@ -101,9 +96,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -101,9 +96,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
@Autowired @Autowired
KylinPerformanceStatusMapper kylinPerformanceStatusMapper; KylinPerformanceStatusMapper kylinPerformanceStatusMapper;
@Autowired
private KylinOrderTicketsMapper orderTicketsMapper;
@Override @Override
public TableDataInfo listShow(SmileShowParam smileShowParam) { public TableDataInfo listShow(SmileShowParam smileShowParam) {
PageHelper.startPage(smileShowParam.getPageNum(), smileShowParam.getPageSize()); PageHelper.startPage(smileShowParam.getPageNum(), smileShowParam.getPageSize());
...@@ -141,8 +133,8 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -141,8 +133,8 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
kylinPerformancesMapper.updateCommentByPer(showSort.getSort(), showSort.getPerformancesId()); kylinPerformancesMapper.updateCommentByPer(showSort.getSort(), showSort.getPerformancesId());
log.info("redis show key:{}", showSort.getPerformancesId()); log.info("redis show key:{}", showSort.getPerformancesId());
//判断该演出是否修改过票提 //判断该演出是否修改过票提
if (smileRedisUtils.getShowIds().stream().anyMatch(showId -> showSort.getPerformancesId().equals(showId))) {
List<String> showIds = smileRedisUtils.getShowIds(); List<String> showIds = smileRedisUtils.getShowIds();
if (showIds.contains(showSort.getPerformancesId())) {
showIds.remove(showSort.getPerformancesId()); showIds.remove(showSort.getPerformancesId());
showIds.add(0, showSort.getPerformancesId()); showIds.add(0, showSort.getPerformancesId());
smileRedisUtils.setShowIds(showIds); smileRedisUtils.setShowIds(showIds);
...@@ -151,13 +143,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -151,13 +143,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
} else { } else {
return AjaxResult.warn("清先为演出设置票提!"); return AjaxResult.warn("清先为演出设置票提!");
} }
/*//获取排序演出id
List<String> collect = kylinPerformancesMapper.selectPerIdByAgent().stream().map(KylinPerformances::getPerformancesId).collect(Collectors.toList());
String perId = StringUtils.join(collect, ",");
//保存所有演出id带顺序
smileRedisUtils.setShowIds(perId);*/
} }
@Override @Override
...@@ -344,7 +329,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -344,7 +329,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
LambdaQueryWrapper<KylinPerformances> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<KylinPerformances> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(KylinPerformances::getPerformancesId, performancesId); queryWrapper.eq(KylinPerformances::getPerformancesId, performancesId);
KylinPerformances kylinPerformances = kylinPerformancesMapper.selectOne(queryWrapper); KylinPerformances kylinPerformances = kylinPerformancesMapper.selectOne(queryWrapper);
//KylinPerformanceVo kylinPerformanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
if (kylinPerformances == null) { if (kylinPerformances == null) {
return null; return null;
} }
...@@ -373,7 +357,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -373,7 +357,7 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
lambdaQueryWrapper.eq(SmilePrice::getDelTag, 0); lambdaQueryWrapper.eq(SmilePrice::getDelTag, 0);
List<SmilePrice> smilePrices = smilePriceMapper.selectList(lambdaQueryWrapper); List<SmilePrice> smilePrices = smilePriceMapper.selectList(lambdaQueryWrapper);
for (SmilePrice smilePrice : smilePrices) { for (SmilePrice smilePrice : smilePrices) {
if (smilePrice.getRecord() != null && !smilePrice.getRecord().equals("")) { if (smilePrice.getRecord() != null && !"".equals(smilePrice.getRecord())) {
UserData userData = JSON.parseObject(smilePrice.getRecord(), UserData.class); UserData userData = JSON.parseObject(smilePrice.getRecord(), UserData.class);
//保存打款标识 //保存打款标识
userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, userData.getUid())); userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, userData.getUid()));
...@@ -390,6 +374,12 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -390,6 +374,12 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
List<ShowBaseVoDto> showBaseVoList = smileAgentMapper.selectMapByPerId(performancesId); List<ShowBaseVoDto> showBaseVoList = smileAgentMapper.selectMapByPerId(performancesId);
//根据代理id进行分组 //根据代理id进行分组
Map<String, List<ShowBaseVoDto>> stringListMap = showBaseVoList.stream().collect(Collectors.groupingBy(ShowBaseVoDto::getAgentId)); Map<String, List<ShowBaseVoDto>> stringListMap = showBaseVoList.stream().collect(Collectors.groupingBy(ShowBaseVoDto::getAgentId));
//所有提成佣金
List<Map<String, Object>> agentIdCommissionList = smileAgentMapper.getUserOrgByPerIdAndUidAndAgentMaster(performancesId);
Map<String, BigDecimal> agentIdMasterMap = new HashMap<>();
agentIdCommissionList.forEach(map -> {
agentIdMasterMap.put((String) map.get("uid"), (BigDecimal) map.get("totalPrice"));
});
//遍历分组 //遍历分组
for (Map.Entry<String, List<ShowBaseVoDto>> showMap : stringListMap.entrySet()) { for (Map.Entry<String, List<ShowBaseVoDto>> showMap : stringListMap.entrySet()) {
UserData userData = UserData.getNew(); UserData userData = UserData.getNew();
...@@ -399,6 +389,10 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -399,6 +389,10 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
ShowBaseVoDto baseVoDto = showBaseVoDtoList.get(0); ShowBaseVoDto baseVoDto = showBaseVoDtoList.get(0);
//根据票提id分组 list数量小于等于票提数量 //根据票提id分组 list数量小于等于票提数量
Map<String, List<ShowBaseVoDto>> tidMapByUid = showBaseVoDtoList.stream().collect(Collectors.groupingBy(ShowBaseVoDto::getTid)); Map<String, List<ShowBaseVoDto>> tidMapByUid = showBaseVoDtoList.stream().collect(Collectors.groupingBy(ShowBaseVoDto::getTid));
//总佣金
BigDecimal totalCommission = BigDecimal.ZERO;
//对票提进行遍历(总代没有售出而普代有售出) //对票提进行遍历(总代没有售出而普代有售出)
for (TicketAndStatusDao smileAgent : ticketAndStatusDaoList) { for (TicketAndStatusDao smileAgent : ticketAndStatusDaoList) {
//为没个uid的没个票提id 塞数据 //为没个uid的没个票提id 塞数据
...@@ -411,34 +405,45 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -411,34 +405,45 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
userDataAgentVo.setTicketsId(showBaseVoDto.getTid()); userDataAgentVo.setTicketsId(showBaseVoDto.getTid());
userDataAgentVo.setTicketName(smileAgent.getTitle()); userDataAgentVo.setTicketName(smileAgent.getTitle());
userDataAgentVo.setNumber(showBaseVoDto.getNumber()); userDataAgentVo.setNumber(showBaseVoDto.getNumber());
userDataAgentVo.setPrice(showBaseVoDto.getPrice()); userDataAgentVo.setPrice(new BigDecimal(showBaseVoDto.getPrice().stripTrailingZeros().toPlainString()));
userDataAgentVo.setPriceReal(showBaseVoDto.getPriceReal()); userDataAgentVo.setPriceReal(new BigDecimal(showBaseVoDto.getPriceReal().stripTrailingZeros().toPlainString()));
// userDataAgentVo.setAgent(showBaseVoDto.getUse()); // userDataAgentVo.setAgent(showBaseVoDto.getUse());
userDataAgentVo.setCommission(showBaseVoDto.getTotalPrice().setScale(2, RoundingMode.HALF_UP)); userDataAgentVo.setCommission(new BigDecimal(showBaseVoDto.getTotalPrice().stripTrailingZeros().toPlainString()));
} else { } else {
//没有买过 //没有买过
userDataAgentVo.setTicketsId(smileAgent.getTicketsId()); userDataAgentVo.setTicketsId(smileAgent.getTicketsId());
userDataAgentVo.setTicketName(smileAgent.getTitle()); userDataAgentVo.setTicketName(smileAgent.getTitle());
userDataAgentVo.setNumber(new BigDecimal(0)); userDataAgentVo.setNumber(BigDecimal.ZERO);
userDataAgentVo.setPrice(new BigDecimal(0)); userDataAgentVo.setPrice(BigDecimal.ZERO);
userDataAgentVo.setPriceReal(new BigDecimal("0.00")); userDataAgentVo.setPriceReal(BigDecimal.ZERO);
// userDataAgentVo.setAgent(showBaseVoDto.getType() == 1 ? tidMap.get(smileAgent.getTicketsId()).getTotalCarry() : tidMap.get(smileAgent.getTicketsId()).getOrdCarry()); // userDataAgentVo.setAgent(showBaseVoDto.getType() == 1 ? tidMap.get(smileAgent.getTicketsId()).getTotalCarry() : tidMap.get(smileAgent.getTicketsId()).getOrdCarry());
userDataAgentVo.setCommission(new BigDecimal("0.00")); userDataAgentVo.setCommission(BigDecimal.ZERO);
} }
//判断是否为总代 totalCommission = totalCommission.add(userDataAgentVo.getCommission());
if (baseVoDto.getType() == 1) { userDataAgentVos.add(userDataAgentVo);
//是总代 //在原有的数据上新增加该用户下所有普代的提成
Map orgMap = smileAgentMapper.getUserOrgByPerIdAndUidAndAgentMaster(performancesId, baseVoDto.getAgentId(), smileAgent.getTicketsId());
if (orgMap != null) {
userDataAgentVo.setCommission((userDataAgentVo.getCommission().add((BigDecimal) orgMap.get("totalPrice"))).setScale(2, RoundingMode.HALF_UP));
} }
//判断是否为总代
if (baseVoDto.getType() != 5) {
//不是特邀代理 //在原有的数据上新增加该用户下所有普代的提成
userData.setTotalCommission(new BigDecimal(totalCommission.stripTrailingZeros().toPlainString()));
if (agentIdMasterMap.get(baseVoDto.getAgentId()) != null) {
userData.setTotalCommission(new BigDecimal(totalCommission.add(agentIdMasterMap.get(baseVoDto.getAgentId())).stripTrailingZeros().toPlainString()));
} }
userDataAgentVos.add(userDataAgentVo); } else {
userData.setTotalCommission(new BigDecimal(totalCommission.stripTrailingZeros().toPlainString()));
} }
userData.setUid(showBaseVoDtoList.get(0).getAgentId()); userData.setUid(showBaseVoDtoList.get(0).getAgentId());
userData.setUsername(showBaseVoDtoList.get(0).getName()); userData.setUsername(showBaseVoDtoList.get(0).getName());
userData.setCityName(showBaseVoDtoList.get(0).getCity()); userData.setCityName(showBaseVoDtoList.get(0).getCity());
userData.setType(showBaseVoDtoList.get(0).getType()); userData.setType(showBaseVoDtoList.get(0).getType());
userData.setPhone(showBaseVoList.get(0).getPhone());
userData.setIdCard(showBaseVoList.get(0).getIdCard());
userData.setState(showBaseVoDtoList.get(0).getState());
if (userData.getType() != 2) {
userData.setAgentName(showBaseVoDtoList.get(0).getName());
} else {
userData.setAgentName(showBaseVoDtoList.get(0).getAgentName());
}
userData.setDataAgentVos(userDataAgentVos); userData.setDataAgentVos(userDataAgentVos);
//设置打款状态 //设置打款状态
userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, showBaseVoDtoList.get(0).getAgentId())); userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, showBaseVoDtoList.get(0).getAgentId()));
...@@ -447,39 +452,49 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -447,39 +452,49 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
//缓存用户redis记录 计算 //缓存用户redis记录 计算
smileRedisUtils.setUserDataByUid(userData, performancesId); smileRedisUtils.setUserDataByUid(userData, performancesId);
} }
//查询所有代理uid //查询这场演出所有总代理uid
List<SmileUser> smileUsers = smileUserMapper.selectUidByPerId(performancesId); List<SmileUser> smileUsers = smileUserMapper.selectUidByPerId(performancesId);
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();
userDataAgentVo.setTicketsId(smileAgent.getTicketsId()); userDataAgentVo.setTicketsId(smileAgent.getTicketsId());
userDataAgentVo.setTicketName(smileAgent.getTitle()); userDataAgentVo.setTicketName(smileAgent.getTitle());
userDataAgentVo.setNumber(new BigDecimal(0)); userDataAgentVo.setNumber(BigDecimal.ZERO);
userDataAgentVo.setPrice(new BigDecimal(0)); userDataAgentVo.setPrice(BigDecimal.ZERO);
userDataAgentVo.setPriceReal(new BigDecimal("0.00")); userDataAgentVo.setPriceReal(BigDecimal.ZERO);
userDataAgentVo.setCommission(new BigDecimal("0.00")); userDataAgentVo.setCommission(BigDecimal.ZERO);
//是总代 //在原有的数据上新增加该用户下所有普代的提成
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));
}
price = price.add(userDataAgentVo.getCommission());
userDataAgentVos.add(userDataAgentVo); userDataAgentVos.add(userDataAgentVo);
} }
//不是特邀代理 //在原有的数据上新增加该用户下所有普代的提成
BigDecimal decimal = agentIdMasterMap.get(smileUser.getUid());
if (decimal!=null){
userData.setTotalCommission(new BigDecimal(decimal.stripTrailingZeros().toPlainString()));
userData.setUid(smileUser.getUid()); userData.setUid(smileUser.getUid());
userData.setUsername(smileUser.getName()); userData.setUsername(smileUser.getName());
userData.setCityName(smileUser.getCity()); userData.setCityName(smileUser.getCity());
userData.setType(smileUser.getType()); userData.setType(smileUser.getType());
userData.setPhone(smileUser.getPhone());
userData.setIdCard(smileUser.getIdCard());
userData.setState(smileUser.getState());
//判断用户是否为总代
if (userData.getType() == 1) {
userData.setAgentName(smileUser.getName());
} else {
if (!StringUtils.isEmpty(smileUser.getAgentId())) {
SmileUserVO smileUserVO = smileRedisUtils.getSmileUserVO(smileUser.getAgentId());
userData.setAgentName(smileUserVO.getName());
} else {
userData.setAgentName(null);
}
}
userData.setDataAgentVos(userDataAgentVos); userData.setDataAgentVos(userDataAgentVos);
//设置打款状态 //设置打款状态
userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, smileUser.getUid())); userData.setPriceStatus(smileRedisUtils.getShowPriceUid(performancesId, smileUser.getUid()));
//缓存用户redis记录 计算 //缓存用户redis记录 计算
smileRedisUtils.setUserDataByUid(userData, performancesId); smileRedisUtils.setUserDataByUid(userData, performancesId);
if (price.compareTo(BigDecimal.ZERO) > 0) {
userDataList.add(userData); userDataList.add(userData);
} }
} }
...@@ -528,54 +543,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -528,54 +543,6 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
return AjaxResult.success(showIds); return AjaxResult.success(showIds);
} }
private UserData getUserData(String performancesId, SmileUser smileUser, Map<String, SmileAgent> tidMap, List<TicketAndStatusDao> smileAgentList) {
UserData userData = new UserData();
//个人用户的演出数据详情
//便利票种id 查询用户的销售数据信息
List<UserDataAgentVo> userDataAgentVos = new ArrayList<>();
for (TicketAndStatusDao smileAgent : smileAgentList) {
UserDataAgentVo userDataAgentVo = new UserDataAgentVo();
Map userMap = smileAgentMapper.getUserDataByPerIdAndTicketsId(performancesId, smileUser.getUid(), smileAgent.getTicketsId());
if (userMap != null) {
userDataAgentVo.setTicketsId((String) userMap.get("tid"));
userDataAgentVo.setTicketName((String) userMap.get("title"));
userDataAgentVo.setNumber((BigDecimal) userMap.get("num"));
userDataAgentVo.setPrice((BigDecimal) userMap.get("price"));
userDataAgentVo.setAgent((BigDecimal) userMap.get("use"));
userDataAgentVo.setCommission(((BigDecimal) userMap.get("totalPrice")).setScale(2, RoundingMode.HALF_UP));
} else {
userDataAgentVo.setTicketsId(smileAgent.getTicketsId());
userDataAgentVo.setTicketName(smileAgent.getTitle());
userDataAgentVo.setNumber(new BigDecimal(0));
userDataAgentVo.setPrice(new BigDecimal(0));
userDataAgentVo.setAgent(smileUser.getType() == 1 ? tidMap.get(smileAgent.getTicketsId()).getTotalCarry() : tidMap.get(smileAgent.getTicketsId()).getOrdCarry());
userDataAgentVo.setCommission(new BigDecimal("0.00"));
log.debug("saleData:演出id:{},用户id:{},票提id:{}", performancesId, smileUser.getUid(), smileAgent.getTicketsId());
}
//判断该用户是否是总代理
if (smileUser.getType() == 1) {
//是总代 //在原有的数据上新增加该用户下所有普代的提成
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));
} else {
log.debug("saleData:演出id:{},用户id:{},票提id:{}", performancesId, smileUser.getUid(), smileAgent.getTicketsId());
}
}
// if (userDataAgentVo.getCommission().compareTo(new BigDecimal(0)) != 0) {
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()));
return userData;
}
private Map<String, SmileAgent> getSmileAgentMap(List<SmileAgent> smileAgents) { private Map<String, SmileAgent> getSmileAgentMap(List<SmileAgent> smileAgents) {
Map<String, SmileAgent> map = new HashMap<>(smileAgents.size()); Map<String, SmileAgent> map = new HashMap<>(smileAgents.size());
smileAgents.forEach(smileAgent -> map.put(smileAgent.getTicketId(), smileAgent)); smileAgents.forEach(smileAgent -> map.put(smileAgent.getTicketId(), smileAgent));
...@@ -604,9 +571,9 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -604,9 +571,9 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
showAgentVo.setTitle(ticketAndStatusDao.getTitle().concat("(").concat(start).concat("--").concat(end).concat(")")); showAgentVo.setTitle(ticketAndStatusDao.getTitle().concat("(").concat(start).concat("--").concat(end).concat(")"));
} }
//总代票提 //总代票提
showAgentVo.setTotalCarry(smileAgent.getTotalCarry()); showAgentVo.setTotalCarry(new BigDecimal(smileAgent.getTotalCarry().stripTrailingZeros().toPlainString()));
//普代票提 //普代票提
showAgentVo.setOrdCarry(smileAgent.getOrdCarry()); showAgentVo.setOrdCarry(new BigDecimal(smileAgent.getOrdCarry().stripTrailingZeros().toPlainString()));
return showAgentVo; return showAgentVo;
} }
...@@ -634,6 +601,43 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -634,6 +601,43 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
writer.finish(); writer.finish();
} }
@Override
public AjaxResult upTakeByPerId(String perId, Integer type) {
//是否设置过票提
LambdaQueryWrapper<SmileAgent> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SmileAgent::getPerformanceId, perId);
queryWrapper.eq(SmileAgent::getDelTag, 0);
List<SmileAgent> smileAgents = smileAgentMapper.selectList(queryWrapper);
boolean tag = true;
for (SmileAgent smileAgent : smileAgents) {
if (smileRedisUtils.getAgent(smileAgent.getPerformanceId(), smileAgent.getTicketId()) != null) {
tag = false;
break;
}
}
if (tag) {
return AjaxResult.warn("还未设置票提!");
}
List<String> showIds = smileRedisUtils.getShowIds();
if (type.equals(1)) {
showIds.remove(perId);
} else {
showIds.add(perId);
}
smileRedisUtils.setShowIds(showIds);
smileAgentMapper.upTakeByPerId(perId, type);
return AjaxResult.success();
}
@Override
public ResponseDto<List<KylinPerformancesVo>> listAll(String title) {
//返回可代理的演出名称和id
List<KylinPerformancesDto> kylinPerformancesDtoList = kylinPerformancesMapper.getListAll(title);
List<KylinPerformancesVo> kylinPerformancesVos = kylinPerformancesDtoList.stream().map(kylinPerformancesDto -> KylinPerformancesVo.getNew().copyListAll(kylinPerformancesDto)).collect(Collectors.toList());
return ResponseDto.success(kylinPerformancesVos);
}
private List<List<String>> head(List<String> ticketList) { private List<List<String>> head(List<String> ticketList) {
List<List<String>> headTitles = new ArrayList<>(); List<List<String>> headTitles = new ArrayList<>();
String basicInfo = "代理数据"; String basicInfo = "代理数据";
...@@ -641,10 +645,12 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -641,10 +645,12 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
String saleData = "销售数据"; String saleData = "销售数据";
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "uid")); headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "uid"));
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "姓名")); headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "姓名"));
/* headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "性别"));
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "手机号"));*/
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "所属地区")); headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "所属地区"));
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "身份")); headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "身份"));
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "证件号"));
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "手机号"));
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "是否黑名单"));
headTitles.add(Lists.newArrayList(basicInfo, basicInfo, "总代姓名"));
//做表 //做表
ticketList.forEach(title -> headTitles.add(Lists.newArrayList(ticket, ticket, title))); ticketList.forEach(title -> headTitles.add(Lists.newArrayList(ticket, ticket, title)));
...@@ -658,21 +664,36 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -658,21 +664,36 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
private List<List<Object>> contentData(List<UserData> userDataList, List<ShowAgentVo> agentVoList) { private List<List<Object>> contentData(List<UserData> userDataList, List<ShowAgentVo> agentVoList) {
List<List<Object>> contentList = Lists.newArrayList(); List<List<Object>> contentList = Lists.newArrayList();
//这里一个List<Object>才代表一行数据,需要映射成每行数据填充,横向填充(把实体数据的字段设置成一个List<Object>) //这里一个List<Object>才代表一行数据,需要映射成每行数据填充,横向填充(把实体数据的字段设置成一个List<Object>)
// contentList.add(Lists.newArrayList("测试", "商品A", "苹果🍎"));
userDataList.forEach(userData -> { userDataList.forEach(userData -> {
//总销售张数 //总销售张数
BigDecimal num = new BigDecimal("0"); BigDecimal num = new BigDecimal("0");
//总销售金额 //总销售金额
BigDecimal price = new BigDecimal("0"); BigDecimal price = new BigDecimal("0");
//总销售佣金
BigDecimal commission = new BigDecimal("0");
ArrayList<Object> arrayList = Lists.newArrayList(); ArrayList<Object> arrayList = Lists.newArrayList();
arrayList.add(userData.getUid()); arrayList.add(userData.getUid());
arrayList.add(userData.getUsername()); arrayList.add(userData.getUsername());
arrayList.add(userData.getCityName()); arrayList.add(userData.getCityName());
arrayList.add(userData.getType() == 1 ? "总代" : "普代"); Integer type = userData.getType();
if (type == 1) {
arrayList.add("总代");
} else if (type == 2) {
arrayList.add("普代");
} else if (type == 5) {
arrayList.add("特邀代理");
} else {
arrayList.add("未知");
}
arrayList.add(userData.getIdCard());
arrayList.add(userData.getPhone());
if(userData.getState()==0){
arrayList.add("正常");
} else if(userData.getState()==1){
arrayList.add("黑名单");
}else{
arrayList.add("未知");
}
arrayList.add(userData.getAgentName());
//便利票数据 //便利票数据
List<UserDataAgentVo> dataAgentVos = userData.getDataAgentVos(); List<UserDataAgentVo> dataAgentVos = userData.getDataAgentVos();
Map<String, UserDataAgentVo> agentVoMap = dataAgentVos.stream().collect(Collectors.toMap(UserDataAgentVo::getTicketsId, Function.identity())); Map<String, UserDataAgentVo> agentVoMap = dataAgentVos.stream().collect(Collectors.toMap(UserDataAgentVo::getTicketsId, Function.identity()));
...@@ -682,25 +703,15 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc ...@@ -682,25 +703,15 @@ public class SmileShowServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSc
if (userDataAgentVo != null) { if (userDataAgentVo != null) {
num = num.add(new BigDecimal(userDataAgentVo.getNumber().toString())); num = num.add(new BigDecimal(userDataAgentVo.getNumber().toString()));
price = price.add(userDataAgentVo.getPriceReal()); price = price.add(userDataAgentVo.getPriceReal());
commission = commission.add(userDataAgentVo.getCommission());
arrayList.add(userDataAgentVo.getNumber()); arrayList.add(userDataAgentVo.getNumber());
} else { } else {
arrayList.add(0); arrayList.add(0);
} }
} }
/* for (UserDataAgentVo userDataAgentVo : dataAgentVos) {
num = num.add(new BigDecimal(userDataAgentVo.getNumber().toString()));
price = price.add(userDataAgentVo.getPrice().multiply(userDataAgentVo.getNumber()));
commission = commission.add(userDataAgentVo.getCommission());
arrayList.add(userDataAgentVo.getNumber());
}*/
arrayList.add(num); arrayList.add(num);
arrayList.add(price); arrayList.add(price);
arrayList.add(commission); arrayList.add(userData.getTotalCommission());
arrayList.add(userData.getPriceStatus() != null && userData.getPriceStatus() == 0 ? "已打款" : "待打款"); arrayList.add(userData.getPriceStatus() != null && userData.getPriceStatus() == 0 ? "已打款" : "待打款");
contentList.add(arrayList); contentList.add(arrayList);
}); });
return contentList; return contentList;
......
...@@ -5,26 +5,36 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -5,26 +5,36 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.utils.StringUtils; 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.ISmileUserService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileUserService;
import com.liquidnet.client.admin.zhengzai.smile.utils.QRCodeUtil;
import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils; import com.liquidnet.client.admin.zhengzai.smile.utils.SmileRedisUtils;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.goblin.dto.vo.SmileAgentVo;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO; import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.liquidnet.service.kylin.mapper.KylinPerformancesMapper;
import com.liquidnet.service.smile.entity.SmileAgent;
import com.liquidnet.service.smile.entity.SmileOrganization; import com.liquidnet.service.smile.entity.SmileOrganization;
import com.liquidnet.service.smile.entity.SmileSchool; import com.liquidnet.service.smile.entity.SmileSchool;
import com.liquidnet.service.smile.entity.SmileUser; import com.liquidnet.service.smile.entity.SmileUser;
import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao; import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao;
import com.liquidnet.service.smile.mapper.SmileAgentMapper;
import com.liquidnet.service.smile.mapper.SmileOrganizationMapper; import com.liquidnet.service.smile.mapper.SmileOrganizationMapper;
import com.liquidnet.service.smile.mapper.SmileSchoolMapper; import com.liquidnet.service.smile.mapper.SmileSchoolMapper;
import com.liquidnet.service.smile.mapper.SmileUserMapper; import com.liquidnet.service.smile.mapper.SmileUserMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -45,31 +55,25 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser ...@@ -45,31 +55,25 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
@Autowired @Autowired
SmileSchoolMapper smileSchoolMapper; SmileSchoolMapper smileSchoolMapper;
@Autowired
SmileAgentMapper smileAgentMapper;
@Autowired
KylinPerformancesMapper kylinPerformancesMapper;
/*@Value("${client:admin:h5Url}")
private String h5Url;*/
@Override @Override
public TableDataInfo userList(SmileUserParam smileUserParam) { public List<SmileUser> userList(SmileUserParam smileUserParam) {
PageInfo<SmileUser> pageInfo;
TableDataInfo rspData = new TableDataInfo();
try { try {
//查询通过审核通过的用户 type!=0、1 未删除用户 //查询通过审核通过的用户 type!=0、1 未删除用户
Map<String, Object> map = BeanUtil.convertBeanToMap(smileUserParam); Map<String, Object> map = BeanUtil.convertBeanToMap(smileUserParam);
List<SmileUser> smileUsers = smileUserMapper.selectUserList(map); return smileUserMapper.selectUserList(map);
pageInfo = new PageInfo<SmileUser>(smileUsers);
List<SmileUserVo> smileUserVos = smileUsers.stream().map(smileUser -> {
//获取学校名
SmileUserVo smileUserVo = new SmileUserVo();
BeanUtils.copyProperties(smileUser, smileUserVo);
smileUserVo.setSchoolName(getSchoolNameById(smileUser.getSchoolId()));
return smileUserVo;
}).collect(Collectors.toList());
rspData.setCode(0);
rspData.setRows(smileUserVos);
rspData.setTotal(pageInfo.getTotal());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
return rspData;
} }
private String getSchoolNameById(String schoolId) { private String getSchoolNameById(String schoolId) {
...@@ -96,9 +100,27 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser ...@@ -96,9 +100,27 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
queryWrapper.eq(SmileUser::getDelTag, 0); queryWrapper.eq(SmileUser::getDelTag, 0);
queryWrapper.eq(SmileUser::getUid, uid); queryWrapper.eq(SmileUser::getUid, uid);
SmileUser smileUser = smileUserMapper.selectOne(queryWrapper); SmileUser smileUser = smileUserMapper.selectOne(queryWrapper);
SmileUserVo smileUserVo = new SmileUserVo(); //判断是否为特邀代理
BeanUtils.copyProperties(smileUser, smileUserVo); SmileUserVo smileUserVo;
log.debug("smileUser:{}", smileUser); if (smileUser.getType() == 5) {
smileUserVo = new SmileUserVo().copyInvited(smileUser);
LambdaQueryWrapper<SmileAgent> agentLambdaQueryWrapper = new LambdaQueryWrapper<>();
agentLambdaQueryWrapper.eq(SmileAgent::getTicketId, smileUserVo.getUid());
agentLambdaQueryWrapper.eq(SmileAgent::getDelTag, 0);
SmileAgent smileAgent = smileAgentMapper.selectOne(agentLambdaQueryWrapper);
smileUserVo.setTicket(smileAgent.getTotalCarry().multiply(new BigDecimal("100")));
//获取演出名
KylinPerformances kylinPerformances = kylinPerformancesMapper.selectOne(Wrappers.lambdaQuery(KylinPerformances.getNew())
.eq(KylinPerformances::getPerformancesId, smileAgent.getPerformanceId())
.select(KylinPerformances::getTitle));
smileUserVo.setTitle(kylinPerformances.getTitle());
smileUserVo.setPerId(smileAgent.getPerformanceId());
//获取特邀代理二维码url地址
/*String url = h5Url + "/#/ticket/detail?id=" + smileUserVo.getPerId() + "&agentId=" + smileUserVo.getUid();
QRCodeUtil.createCodeToFile(url,null,smileUserVo.getUid().count(".png"));*/
} else {
smileUserVo = new SmileUserVo().copy(smileUser);
}
return smileUserVo; return smileUserVo;
} }
...@@ -107,20 +129,19 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser ...@@ -107,20 +129,19 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
//查询根据组织ID查询人员信息 //查询根据组织ID查询人员信息
LambdaQueryWrapper<SmileUser> queryWrapper = Wrappers.lambdaQuery(SmileUser.class); LambdaQueryWrapper<SmileUser> queryWrapper = Wrappers.lambdaQuery(SmileUser.class);
queryWrapper.eq(SmileUser::getOrgId, orgId); queryWrapper.eq(SmileUser::getOrgId, orgId);
List<SmileUserVoOrg> smileUserVos = smileUserMapper.selectList(queryWrapper).stream().map(smileUser -> { return smileUserMapper.selectList(queryWrapper).stream().map(smileUser -> {
SmileUserVoOrg smileUserVo = new SmileUserVoOrg(); SmileUserVoOrg smileUserVo = new SmileUserVoOrg();
BeanUtils.copyProperties(smileUser, smileUserVo); BeanUtils.copyProperties(smileUser, smileUserVo);
return smileUserVo; return smileUserVo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
return smileUserVos;
} }
@Override @Override
public AjaxResult updateUserStateById(String uid, Integer state) { public AjaxResult updateUserStateById(String uid, Integer state, String reason) {
SmileUserVO smileUserVO = getSmileUserVO(uid); SmileUserVO smileUserVO = getSmileUserVO(uid);
//修改黑名单 //修改黑名单
smileUserMapper.updateUserStateById(uid, state); smileUserMapper.updateUserStateById(uid, state, reason);
updateRedisSetUser(smileUserVO, uid, state); updateRedisSetUser(smileUserVO, uid, state, reason);
return AjaxResult.success(); return AjaxResult.success();
} }
...@@ -162,7 +183,7 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser ...@@ -162,7 +183,7 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
if (smileOrganization != null && !StringUtils.isEmpty(smileUserCheckVo.getUid())) { if (smileOrganization != null && !StringUtils.isEmpty(smileUserCheckVo.getUid())) {
if (smileUserCheckVo.getType().equals(1)) { if (smileUserCheckVo.getType().equals(1)) {
//总代 //总代
if (smileOrganization != null && StringUtils.isEmpty(smileOrganization.getAgentId())) { if (StringUtils.isEmpty(smileOrganization.getAgentId())) {
//没有总代 修改代理 //没有总代 修改代理
smileOrganization.setUpdatedDate(LocalDateTime.now()); smileOrganization.setUpdatedDate(LocalDateTime.now());
smileOrganization.setAgentId(smileUserCheckVo.getUid()); smileOrganization.setAgentId(smileUserCheckVo.getUid());
...@@ -187,6 +208,100 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser ...@@ -187,6 +208,100 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
return AjaxResult.warn("参数错误"); return AjaxResult.warn("参数错误");
} }
@Override
public List<SmileUser> listByState(SmileUserStateParam smileUserStateParam) {
LambdaQueryWrapper<SmileUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if (!StringUtils.isEmpty(smileUserStateParam.getName())) {
lambdaQueryWrapper.like(SmileUser::getName, smileUserStateParam.getName());
}
if (!StringUtils.isEmpty(smileUserStateParam.getPhone())) {
lambdaQueryWrapper.eq(SmileUser::getPhone, smileUserStateParam.getPhone());
}
if (smileUserStateParam.getType() != null) {
lambdaQueryWrapper.eq(SmileUser::getType, smileUserStateParam.getType());
}
lambdaQueryWrapper.eq(SmileUser::getState, 1);
lambdaQueryWrapper.eq(SmileUser::getDelTag, 0);
lambdaQueryWrapper.orderByDesc(SmileUser::getUpdatedDate);
return smileUserMapper.selectList(lambdaQueryWrapper);
}
@Override
public AjaxResult saveInvitedAgent(SmileUserInvitedVo smileUserInvitedVo) {
//票提转换%-》0.00
BigDecimal ticket = smileUserInvitedVo.getTicket().divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN);
//生成uid
String uid = IDGenerator.nextMilliId2();
SmileUser smileUser = SmileUser.getNew();
smileUser.setUid(uid);
smileUser.setAgentId(uid);
smileUser.setName(smileUserInvitedVo.getName());
smileUser.setPhone(smileUserInvitedVo.getPhone());
smileUser.setIntroduce(smileUserInvitedVo.getDescribe());
smileUser.setDelTag(0);
smileUser.setType(5);
smileUser.setAgent(1);
smileUser.setCreatedDate(LocalDateTime.now());
smileUser.setUpdatedDate(LocalDateTime.now());
int insert = smileUserMapper.insert(smileUser);
//票提新增
SmileAgent smileAgent = SmileAgent.getNew();
smileAgent.setPerformanceId(smileUserInvitedVo.getPerformancesId());
smileAgent.setTicketId(uid);
smileAgent.setTotalCarry(ticket);
smileAgent.setOrdCarry(BigDecimal.ZERO);
smileAgent.setDelTag(0);
smileAgentMapper.insert(smileAgent);
if (insert > 0) {
//新增缓存
SmileUserVO smileUserVO = getSmileUserVO(uid, smileUser);
smileRedisUtils.setSmileUserVo(uid, smileUserVO);
SmileAgentVo smileAgentVo = SmileAgentVo.getNew();
BeanUtils.copyProperties(smileAgent, smileAgentVo);
smileRedisUtils.setAgent(smileAgent.getPerformanceId(), smileAgent.getTicketId(), smileAgentVo);
return AjaxResult.success();
}
return AjaxResult.warn("添加失败,请联系管理员!");
}
@Override
public List<SmileUserVo> getList(String phone) {
List<SmileUserVo> smileUserVoList = new ArrayList<>();
if (!StringUtils.isEmpty(phone) && phone.length() >= 6) {
LambdaQueryWrapper<SmileUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(SmileUser::getPhone, phone);
queryWrapper.eq(SmileUser::getDelTag, 0);
queryWrapper.eq(SmileUser::getState, 0);
queryWrapper.in(SmileUser::getType, 1, 2);
List<SmileUser> smileUsers = smileUserMapper.selectList(queryWrapper);
smileUserVoList = smileUsers.stream().map(smileUser -> {
SmileUserVo smileUserVo = SmileUserVo.getNew();
smileUserVo.setId(smileUser.getId());
smileUserVo.setUid(smileUser.getUid());
smileUserVo.setPhone(smileUser.getPhone());
smileUserVo.setName(smileUser.getName());
smileUserVo.setType(smileUser.getType());
return smileUserVo;
}).collect(Collectors.toList());
}
return smileUserVoList;
}
private SmileUserVO getSmileUserVO(String uid, SmileUser smileUser) {
SmileUserVO smileUserVO = new SmileUserVO();
smileUserVO.setUid(smileUser.getUid());
smileUserVO.setPhone(smileUser.getPhone());
smileUserVO.setDelTag(0);
smileUserVO.setState(0);
smileUserVO.setIntroduce(smileUser.getIntroduce());
smileUserVO.setType(5);
smileUserVO.setAgentId(uid);
smileUserVO.setAgent(1);
smileUserVO.setCreatedDate(smileUser.getCreatedDate());
smileUserVO.setUpdatedDate(smileUser.getUpdatedDate());
return smileUserVO;
}
private void updateUserVoRedis(SmileUserCheckVo smileUserCheckVo, SmileOrganization smileOrganization) { private void updateUserVoRedis(SmileUserCheckVo smileUserCheckVo, SmileOrganization smileOrganization) {
LambdaQueryWrapper<SmileUser> smileUserQueryWrapper = Wrappers.lambdaQuery(SmileUser.class); LambdaQueryWrapper<SmileUser> smileUserQueryWrapper = Wrappers.lambdaQuery(SmileUser.class);
smileUserQueryWrapper.eq(SmileUser::getOrgId, smileOrganization.getId()); smileUserQueryWrapper.eq(SmileUser::getOrgId, smileOrganization.getId());
...@@ -216,7 +331,7 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser ...@@ -216,7 +331,7 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
//根据uid查询用户 //根据uid查询用户
LambdaQueryWrapper<SmileUser> userQueryWrapper = Wrappers.lambdaQuery(SmileUser.class); LambdaQueryWrapper<SmileUser> userQueryWrapper = Wrappers.lambdaQuery(SmileUser.class);
userQueryWrapper.eq(SmileUser::getUid, uid); userQueryWrapper.eq(SmileUser::getUid, uid);
userQueryWrapper.eq(SmileUser::getDelTag,0); userQueryWrapper.eq(SmileUser::getDelTag, 0);
SmileUser smileUser = smileUserMapper.selectOne(userQueryWrapper); SmileUser smileUser = smileUserMapper.selectOne(userQueryWrapper);
SmileUserVO smileUserVO = new SmileUserVO(); SmileUserVO smileUserVO = new SmileUserVO();
BeanUtils.copyProperties(smileUser, smileUserVO); BeanUtils.copyProperties(smileUser, smileUserVO);
...@@ -244,15 +359,12 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser ...@@ -244,15 +359,12 @@ public class SmileUserServiceImpl extends ServiceImpl<SmileUserMapper, SmileUser
} }
//跟新redis中的用户 0:正常,1:黑名单 //跟新redis中的用户 0:正常,1:黑名单
private void updateRedisSetUser(SmileUserVO smileUserVO, String uid, Integer state) { private void updateRedisSetUser(SmileUserVO smileUserVO, String uid, Integer state, String reason) {
SmileUserVO userVO = smileRedisUtils.getSmileUserVO(uid); SmileUserVO userVO = smileRedisUtils.getSmileUserVO(uid);
if (StringUtils.isNotNull(userVO)) { if (StringUtils.isNotNull(userVO)) {
userVO.setState(state); userVO.setState(state);
} else { userVO.setUpdatedDate(LocalDateTime.now());
//状态 0:正常,1:黑名单 userVO.setErrorReason(reason != null && !reason.equals("") ? reason : userVO.getErrorReason());
if (StringUtils.isNotNull(state)) {
smileUserVO.setState(state);
}
} }
//存入黑白名单状态 //存入黑白名单状态
smileRedisUtils.setSmileUserVO(uid, userVO); smileRedisUtils.setSmileUserVO(uid, userVO);
......
package com.liquidnet.client.admin.zhengzai.smile.utils;
/*import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.liquidnet.commons.lang.util.FilesUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import javax.swing.filechooser.FileSystemView;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;*/
/**
* 二维码工具
**/
public class QRCodeUtil {
/*private static final Logger log= LoggerFactory.getLogger(QRCodeUtil.class);
//CODE_WIDTH:二维码宽度,单位像素
private static final int CODE_WIDTH = 400;
//CODE_HEIGHT:二维码高度,单位像素
private static final int CODE_HEIGHT = 400;
//FRONT_COLOR:二维码前景色,0x000000 表示黑色
private static final int FRONT_COLOR = 0x000000;
//BACKGROUND_COLOR:二维码背景色,0xFFFFFF 表示白色
//演示用 16 进制表示,和前端页面 CSS 的取色是一样的,注意前后景颜色应该对比明显,如常见的黑白
private static final int BACKGROUND_COLOR = 0xFFFFFF;
public static void createCodeToFile(String content, File codeImgFileSaveDir, String fileName) {
File codeImgFile = null;
try {
if (StringUtils.isBlank(content) || StringUtils.isBlank(fileName)) {
return;
}
content = content.trim();
if (codeImgFileSaveDir == null || codeImgFileSaveDir.isFile()) {
//二维码图片存在目录为空,默认放在桌面...
codeImgFileSaveDir = FileSystemView.getFileSystemView().getHomeDirectory();
}
if (!codeImgFileSaveDir.exists()) {
//二维码图片存在目录不存在,开始创建...
codeImgFileSaveDir.mkdirs();
}
//核心代码-生成二维码
BufferedImage bufferedImage = getBufferedImage(content);
codeImgFile = new File(codeImgFileSaveDir, fileName);
ImageIO.write(bufferedImage, "png", codeImgFile);
log.info("二维码图片生成成功:" + codeImgFile.getPath());
} catch (Exception e) {
e.printStackTrace();
} finally {
//删除生成的图片
FilesUtils.deleteTempFile(codeImgFile);
}
}
*//**
* 生成二维码并输出到输出流, 通常用于输出到网页上进行显示,输出到网页与输出到磁盘上的文件中,区别在于最后一句 ImageIO.write
* write(RenderedImage im,String formatName,File output):写到文件中
* write(RenderedImage im,String formatName,OutputStream output):输出到输出流中
* @param content :二维码内容
* @param outputStream :输出流,比如 HttpServletResponse 的 getOutputStream
*//*
public static void createCodeToOutputStream(String content, OutputStream outputStream) {
try {
if (StringUtils.isBlank(content)) {
return;
}
content = content.trim();
//核心代码-生成二维码
BufferedImage bufferedImage = getBufferedImage(content);
//区别就是这一句,输出到输出流中,如果第三个参数是 File,则输出到文件中
ImageIO.write(bufferedImage, "png", outputStream);
log.info("二维码图片生成到输出流成功...");
} catch (Exception e) {
e.printStackTrace();
}
}
//核心代码-生成二维码
private static BufferedImage getBufferedImage(String content) throws WriterException {
//com.google.zxing.EncodeHintType:编码提示类型,枚举类型
Map<EncodeHintType, Object> hints = new HashMap();
//EncodeHintType.CHARACTER_SET:设置字符编码类型
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
//EncodeHintType.ERROR_CORRECTION:设置误差校正
//ErrorCorrectionLevel:误差校正等级,L = ~7% correction、M = ~15% correction、Q = ~25% correction、H = ~30% correction
//不设置时,默认为 L 等级,等级不一样,生成的图案不同,但扫描的结果是一样的
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
//EncodeHintType.MARGIN:设置二维码边距,单位像素,值越小,二维码距离四周越近
hints.put(EncodeHintType.MARGIN, 1);
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, CODE_WIDTH, CODE_HEIGHT, hints);
BufferedImage bufferedImage = new BufferedImage(CODE_WIDTH, CODE_HEIGHT, BufferedImage.TYPE_INT_BGR);
for (int x = 0; x < CODE_WIDTH; x++) {
for (int y = 0; y < CODE_HEIGHT; y++) {
bufferedImage.setRGB(x, y, bitMatrix.get(x, y) ? FRONT_COLOR : BACKGROUND_COLOR);
}
}
return bufferedImage;
}
public static void main(String[] args) {
String content = "https://testm.zhengzai.tv/#/ticket/detail?id=1636396377417728005471027&agentId=22263112850549";
QRCodeUtil.createCodeToFile(content,null,"22263112850549.png");
}*/
}
\ No newline at end of file
...@@ -120,7 +120,6 @@ public class SmileRedisUtils { ...@@ -120,7 +120,6 @@ public class SmileRedisUtils {
/** /**
* 获取用户最新计算数据 * 获取用户最新计算数据
* @param userData
*/ */
public UserData getUserDataByUid(String perId,String uid) { public UserData getUserDataByUid(String perId,String uid) {
String key = SmileRedisConst.SELL_USER_DATA.concat(perId).concat(":").concat(uid); String key = SmileRedisConst.SELL_USER_DATA.concat(perId).concat(":").concat(uid);
...@@ -329,7 +328,6 @@ public class SmileRedisUtils { ...@@ -329,7 +328,6 @@ public class SmileRedisUtils {
} }
/** /**
* 获取演出列表vo * 获取演出列表vo
* @param vo
*/ */
public ShowVo getShowVoByPerId(String perId) { public ShowVo getShowVoByPerId(String perId) {
String key = SmileRedisConst.SELL_SHOW_SAVE.concat(perId); String key = SmileRedisConst.SELL_SHOW_SAVE.concat(perId);
...@@ -341,4 +339,13 @@ public class SmileRedisUtils { ...@@ -341,4 +339,13 @@ public class SmileRedisUtils {
} }
} }
/* ---------------------------------------- smileUser ---------------------------------------- */
public SmileUserVO getSmileUserVo(String userId) {
return (SmileUserVO) getRedis().get(SmileRedisConst.SMILE_USER.concat(userId));
}
public void setSmileUserVo(String userId, SmileUserVO smileUserVORedis) {
getRedis().set(SmileRedisConst.SMILE_USER.concat(userId), smileUserVORedis);
}
} }
...@@ -67,4 +67,9 @@ public class KylinPerformancesDto implements Serializable, Cloneable { ...@@ -67,4 +67,9 @@ public class KylinPerformancesDto implements Serializable, Cloneable {
* 演出状态 * 演出状态
*/ */
private int status; private int status;
/**
* 上下架标识【1:下架,0:上架】
*/
private int type;
} }
...@@ -83,4 +83,5 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> { ...@@ -83,4 +83,5 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
//商品订单信息 //商品订单信息
List<CommodityOrderExportDao> exportCommodityOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime); List<CommodityOrderExportDao> exportCommodityOrder(@Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
List<KylinPerformancesDto> getListAll(String title);
} }
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
FROM ( FROM (
SELECT kotr.mid, kotr.agent_id SELECT kotr.mid, kotr.agent_id
FROM kylin_order_ticket_relations as kotr FROM kylin_order_ticket_relations as kotr
LEFT JOIN kylin_order_ticket_status AS kots ON kotr.order_id = kots.order_id INNER 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 INNER JOIN smile_user AS su ON su.uid = kotr.agent_id
WHERE kots.status IN (1,6,3) WHERE kots.status IN (1,6,3)
AND kotr.agent_id != 0 AND kotr.agent_id != 0
......
...@@ -557,6 +557,7 @@ ...@@ -557,6 +557,7 @@
FROM FROM
kylin_order_ticket_relations AS kotr kylin_order_ticket_relations AS kotr
LEFT JOIN kylin_order_ticket_status AS kots ON kotr.order_id = kots.order_id LEFT JOIN kylin_order_ticket_status AS kots ON kotr.order_id = kots.order_id
WHERE kots.STATUS IN ( 1, 6 ,3 )
) AS kk ON kot.order_tickets_id = kk.order_id ) AS kk ON kot.order_tickets_id = kk.order_id
LEFT JOIN kylin_tickets AS kt ON kt.tickets_id = kk.ticket_id LEFT JOIN kylin_tickets AS kt ON kt.tickets_id = kk.ticket_id
WHERE WHERE
......
...@@ -105,11 +105,11 @@ ...@@ -105,11 +105,11 @@
<result column="refund_at" property="refundAt"/> <result column="refund_at" property="refundAt"/>
</resultMap> </resultMap>
<!-- <resultMap id="OrderExportDaoResult" type="com.liquidnet.service.kylin.dao.OrderExportDao">--> <!-- <resultMap id="OrderExportDaoResult" type="com.liquidnet.service.kylin.dao.OrderExportDao">-->
<!-- <result column="performance_title" property="performanceTitle"/>--> <!-- <result column="performance_title" property="performanceTitle"/>-->
<!-- <result column="user_mobile" property="userMobile"/>--> <!-- <result column="user_mobile" property="userMobile"/>-->
<!-- <result column="user_name" property="userName"/>--> <!-- <result column="user_name" property="userName"/>-->
<!-- </resultMap>--> <!-- </resultMap>-->
<resultMap id="PerformanceSimpleAllDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceSimpleAllDao"> <resultMap id="PerformanceSimpleAllDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceSimpleAllDao">
<result column="performances_id" property="performancesId"/> <result column="performances_id" property="performancesId"/>
...@@ -727,10 +727,12 @@ GROUP BY user_mobile,tickets_id; ...@@ -727,10 +727,12 @@ GROUP BY user_mobile,tickets_id;
kp.`comment`, kp.`comment`,
IFNULL( map.`open`, 0 ) AS OPEN, IFNULL( map.`open`, 0 ) AS OPEN,
IFNULL( map.price, 0 ) AS totalSalePrice, IFNULL( map.price, 0 ) AS totalSalePrice,
kps.`status` kps.`status`,
sa.type
FROM FROM
kylin_performances AS kp kylin_performances AS kp
LEFT JOIN kylin_performance_status AS kps ON kps.performance_id = kp.performances_id LEFT JOIN kylin_performance_status AS kps ON kps.performance_id = kp.performances_id
LEFT JOIN smile_agent AS sa ON sa.performance_id = kp.performances_id
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
kk.performance_id, kk.performance_id,
...@@ -761,9 +763,35 @@ GROUP BY user_mobile,tickets_id; ...@@ -761,9 +763,35 @@ GROUP BY user_mobile,tickets_id;
) AS map ON map.performance_id = kp.performances_id ) AS map ON map.performance_id = kp.performances_id
WHERE WHERE
kp.performances_id IN ( SELECT sa.performance_id FROM smile_agent AS sa WHERE sa.del_tag = 0 GROUP BY sa.performance_id ) kp.performances_id IN ( SELECT sa.performance_id FROM smile_agent AS sa WHERE sa.del_tag = 0 GROUP BY sa.performance_id )
GROUP BY
sa.performance_id
ORDER BY ORDER BY
kp.COMMENT DESC, kp.COMMENT DESC,
kp.time_start ASC kp.time_start DESC
</select>
<select id="getListAll" resultType="com.liquidnet.service.kylin.dao.report.KylinPerformancesDto">
SELECT
kp.performances_id AS performancesId,
kp.title,
kps.`status`,
sa.type
FROM
kylin_performances AS kp
LEFT JOIN kylin_performance_status AS kps ON kps.performance_id = kp.performances_id
LEFT JOIN smile_agent AS sa ON sa.performance_id = kp.performances_id
WHERE
kp.performances_id IN ( SELECT sa.performance_id FROM smile_agent AS sa WHERE sa.del_tag = 0 AND sa.type = 0
GROUP BY sa.performance_id )
AND sa.`type` = 0
<if test="title!=''">
AND kp.title LIKE concat('%', #{title}, '%')
</if>
GROUP BY
sa.performance_id
ORDER BY
kp.COMMENT DESC,
kp.time_start DESC
</select> </select>
<select id="selectTicketIdByPerId" resultType="com.liquidnet.service.kylin.dao.KylinPerformancesDao"> <select id="selectTicketIdByPerId" resultType="com.liquidnet.service.kylin.dao.KylinPerformancesDao">
......
...@@ -46,6 +46,11 @@ public class SmileAgent implements Serializable { ...@@ -46,6 +46,11 @@ public class SmileAgent implements Serializable {
*/ */
private BigDecimal ordCarry; private BigDecimal ordCarry;
/**
* 上下架 0:下架,1:上架
*/
private Integer type;
/** /**
* 删除标识 0未删除1已删除 * 删除标识 0未删除1已删除
*/ */
...@@ -58,4 +63,14 @@ public class SmileAgent implements Serializable { ...@@ -58,4 +63,14 @@ public class SmileAgent implements Serializable {
public BigDecimal getOrdCarry() { public BigDecimal getOrdCarry() {
return ordCarry; return ordCarry;
} }
private static final SmileAgent obj = new SmileAgent();
public static SmileAgent getNew() {
try {
return (SmileAgent) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileAgent();
}
}
} }
...@@ -96,7 +96,7 @@ public class SmileUser implements Serializable { ...@@ -96,7 +96,7 @@ public class SmileUser implements Serializable {
private String wechat; private String wechat;
/** /**
* 代理类型(0:未审核,1:总代,2:普代,3:未认证) * 代理类型(0:未审核,1:总代,2:普代,3:未认证,5:特邀代理
*/ */
private Integer type; private Integer type;
...@@ -184,4 +184,13 @@ public class SmileUser implements Serializable { ...@@ -184,4 +184,13 @@ public class SmileUser implements Serializable {
private LocalDateTime updatedDate; private LocalDateTime updatedDate;
private static final SmileUser obj = new SmileUser();
public static SmileUser getNew() {
try {
return (SmileUser) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileUser();
}
}
} }
...@@ -21,11 +21,23 @@ public class ShowBaseVoDto implements Serializable, Cloneable{ ...@@ -21,11 +21,23 @@ public class ShowBaseVoDto implements Serializable, Cloneable{
*/ */
private String city; private String city;
/**
* 手机号码
*/
private String phone;
private String idCard;
/** /**
* agentId * agentId
*/ */
private String agentId; private String agentId;
/**
* 总代姓名
*/
private String agentName;
/** /**
* 票提id * 票提id
*/ */
...@@ -37,6 +49,12 @@ public class ShowBaseVoDto implements Serializable, Cloneable{ ...@@ -37,6 +49,12 @@ public class ShowBaseVoDto implements Serializable, Cloneable{
*/ */
private BigDecimal price; private BigDecimal price;
/**
* 单价
*/
private Integer state;
/** /**
* 真实付款金额 * 真实付款金额
*/ */
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.smile.entity.SmileAgent; import com.liquidnet.service.smile.entity.SmileAgent;
import com.liquidnet.service.smile.entity.dao.SmileAgentDao; import com.liquidnet.service.smile.entity.dao.SmileAgentDao;
import com.liquidnet.service.smile.entity.dto.ShowBaseVoDto; import com.liquidnet.service.smile.entity.dto.ShowBaseVoDto;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -23,17 +24,13 @@ public interface SmileAgentMapper extends BaseMapper<SmileAgent> { ...@@ -23,17 +24,13 @@ public interface SmileAgentMapper extends BaseMapper<SmileAgent> {
void updateAgentById(@Param("id")Long id,@Param("totalCarry") BigDecimal totalCarry,@Param("ordCarry") BigDecimal ordCarry); void updateAgentById(@Param("id")Long id,@Param("totalCarry") BigDecimal totalCarry,@Param("ordCarry") BigDecimal ordCarry);
void insertAgent(@Param("performancesId") String performancesId, @Param("ticketId") String ticketId); List<Map<String,Object>> getUserOrgByPerIdAndUidAndAgentMaster(@Param("performancesId") String performancesId);
Map getUserDataByPerIdAndTicketsId(@Param("performancesId")String performancesId,@Param("uid") String uid,@Param("ticketId") String ticketId);
Map getUserOrgByPerIdAndUidAndAgentMaster(@Param("performancesId") String performancesId,@Param("uid") String uid,@Param("ticketId") String ticketId);
List<SmileAgentDao> selectAgentList(@Param("performancesId") String performancesId); List<SmileAgentDao> selectAgentList(@Param("performancesId") String performancesId);
List<SmileAgent> selectAgentCarryGtZeroByPerId(@Param("performancesId")String performancesId); List<SmileAgent> selectAgentCarryGtZeroByPerId(@Param("performancesId")String performancesId);
int selectCountPerId();
List<ShowBaseVoDto> selectMapByPerId(@Param("performancesId") String performancesId); List<ShowBaseVoDto> selectMapByPerId(@Param("performancesId") String performancesId);
void upTakeByPerId(@Param("perId") String perId,@Param("type") Integer type);
} }
...@@ -34,7 +34,7 @@ public interface SmileUserMapper extends BaseMapper<SmileUser> { ...@@ -34,7 +34,7 @@ public interface SmileUserMapper extends BaseMapper<SmileUser> {
void updateUserByUid(@Param("uid") String uid,@Param("orgId") Long orgId,@Param("type")Integer tag,@Param("agentId") String agentId); void updateUserByUid(@Param("uid") String uid,@Param("orgId") Long orgId,@Param("type")Integer tag,@Param("agentId") String agentId);
void updateUserStateById(@Param("uid") String uid,@Param("state") Integer state); void updateUserStateById(@Param("uid") String uid,@Param("state") Integer state,@Param("reason") String reason);
void updateUserCheckByUid(@Param("uid") String uid,@Param("type") Integer type,@Param("reason") String reason); void updateUserCheckByUid(@Param("uid") String uid,@Param("type") Integer type,@Param("reason") String reason);
int getCount(); int getCount();
......
...@@ -21,50 +21,10 @@ ...@@ -21,50 +21,10 @@
where id = #{id} where id = #{id}
</update> </update>
<insert id="insertAgent">
INSERT INTO `smile_agent`
VALUES (NULL, #{performancesId}, #{ticketId}, 0, 0, 0);
</insert>
<select id="getUserDataByPerIdAndTicketsId" resultType="java.util.Map">
SELECT *,
SUM(kk.number - kk.refund_number) num,
SUM(kk.price *kk.`use`* ( kk.number - kk.refund_number )) totalPrice
FROM (SELECT kote.mid,
kote.order_id,
kote.ticket_id tid,
kt.title,
kote.user_id,
kote.performance_id perId,
kote.is_payment,
kote.status,
kot.number,
kot.refund_number,
kot.price,
kotr.agent_id agentId,
kotr.agent_id_master,
kotr.agent_distributions `use`,
kotr.agent_distributions_master,
su.type
FROM kylin_order_ticket_entities kote
LEFT JOIN kylin_order_tickets kot ON kote.order_id = kot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations kotr ON kotr.order_id = kot.order_tickets_id
LEFT JOIN kylin_order_ticket_status kots ON kots.order_id = kotr.order_id
LEFT JOIN smile_user su ON su.uid = kotr.agent_id
LEFT JOIN kylin_tickets kt ON kote.ticket_id = kt.tickets_id
WHERE kote.performance_id = #{performancesId}
AND kote.ticket_id = #{ticketId}
AND kotr.agent_id = #{uid}
AND kotr.agent_status = 1
AND kots.status = 1
AND kots.pay_status = 1
GROUP BY kote.order_id) kk
</select>
<select id="getUserOrgByPerIdAndUidAndAgentMaster" resultType="java.util.Map"> <select id="getUserOrgByPerIdAndUidAndAgentMaster" resultType="java.util.Map">
SELECT SELECT
SUM( kotr.agent_id_master uid,
( kot.price_actual - kot.price_refund )* kotr.agent_distributions_master) totalPrice SUM( ( kot.price_actual - kot.price_refund )* kotr.agent_distributions_master ) totalPrice
FROM FROM
kylin_order_ticket_relations AS kotr kylin_order_ticket_relations AS kotr
INNER JOIN kylin_order_tickets AS kot ON kot.order_tickets_id = kotr.order_id INNER JOIN kylin_order_tickets AS kot ON kot.order_tickets_id = kotr.order_id
...@@ -76,9 +36,17 @@ ...@@ -76,9 +36,17 @@
kylin_order_ticket_relations AS kotr kylin_order_ticket_relations AS kotr
LEFT JOIN kylin_order_ticket_status AS kots ON kots.order_id = kotr.order_id LEFT JOIN kylin_order_ticket_status AS kots ON kots.order_id = kotr.order_id
WHERE WHERE
kotr.agent_id IN ( SELECT uid FROM smile_user WHERE agent_id = #{uid} ) kots.STATUS IN ( 1, 6, 3 ) )
AND kots.status IN (1,6,3) AND kotr.performance_id = #{performancesId}
) AND kotr.performance_id = #{performancesId} AND kotr.ticket_id = #{ticketId} AND kotr.ticket_id IN (
SELECT
sa.ticket_id
FROM
smile_agent AS sa
WHERE
sa.del_tag = 0
AND sa.performance_id = #{performancesId}
) AND kotr.agent_id_master >0 GROUP BY kotr.agent_id_master
</select> </select>
<select id="selectAgentList" resultType="com.liquidnet.service.smile.entity.dao.SmileAgentDao"> <select id="selectAgentList" resultType="com.liquidnet.service.smile.entity.dao.SmileAgentDao">
...@@ -89,7 +57,7 @@ ...@@ -89,7 +57,7 @@
sa.total_carry, sa.total_carry,
kt.title ticket_name kt.title ticket_name
FROM smile_agent sa FROM smile_agent sa
LEFT JOIN kylin_tickets kt ON kt.tickets_id = sa.ticket_id INNER JOIN kylin_tickets kt ON kt.tickets_id = sa.ticket_id
WHERE sa.performance_id = #{performancesId} WHERE sa.performance_id = #{performancesId}
AND sa.del_tag = 0 AND sa.del_tag = 0
</select> </select>
...@@ -103,17 +71,17 @@ ...@@ -103,17 +71,17 @@
AND del_tag = 0 AND del_tag = 0
</select> </select>
<select id="selectCountPerId" resultType="int">
SELECT COUNT(sa.id) FROM (SELECT id FROM smile_agent WHERE del_tag = 0 GROUP BY performance_id) sa;
</select>
<select id="selectMapByPerId" resultType="com.liquidnet.service.smile.entity.dto.ShowBaseVoDto"> <select id="selectMapByPerId" resultType="com.liquidnet.service.smile.entity.dto.ShowBaseVoDto">
SELECT SELECT
sukotr.`name`, sukotr.`name`,
sukotr.city, sukotr.city,
sukotr.uid AS agent_id, sukotr.uid AS agent_id,
sukotr.ticket_id AS tid, sukotr.ticket_id AS tid,
sukotr.id_card as idCard,
sukotr.type, sukotr.type,
sukotr.phone,
sukotr.state,
sukotr.agentName,
kot.price, kot.price,
SUM(kot.price_actual - kot.price_refund) price_real, SUM(kot.price_actual - kot.price_refund) price_real,
sukotr.agent_distributions AS `use`, sukotr.agent_distributions AS `use`,
...@@ -127,6 +95,10 @@ ...@@ -127,6 +95,10 @@
su.`name`, su.`name`,
su.city, su.city,
su.type, su.type,
su.phone,
su.state,
su.id_card,
agentSu.name agentName,
kotr.order_id, kotr.order_id,
kotr.performance_id, kotr.performance_id,
kotr.ticket_id, kotr.ticket_id,
...@@ -135,6 +107,7 @@ ...@@ -135,6 +107,7 @@
smile_user AS su smile_user AS su
INNER JOIN kylin_order_ticket_relations AS kotr ON kotr.agent_id = su.uid INNER JOIN kylin_order_ticket_relations AS kotr ON kotr.agent_id = su.uid
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
INNER JOIN smile_user AS agentSu ON agentSu.uid = su.agent_id
WHERE WHERE
su.uid IN ( su.uid IN (
SELECT kotr.agent_id SELECT kotr.agent_id
...@@ -154,4 +127,10 @@ ...@@ -154,4 +127,10 @@
sukotr.ticket_id sukotr.ticket_id
</select> </select>
<update id="upTakeByPerId">
update smile_agent
set type = #{type}
where performance_id = #{perId}
</update>
</mapper> </mapper>
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<select id="selectOrganizationList" parameterType="java.util.Map" resultType="com.liquidnet.service.smile.entity.SmileOrganization"> <select id="selectOrganizationList" parameterType="java.util.Map" resultType="com.liquidnet.service.smile.entity.SmileOrganization">
select * from smile_organization select * from smile_organization
<where> <where>
del_tag = 0
<if test="name!=''"> <if test="name!=''">
and `name` like concat('%',#{name},'%') and `name` like concat('%',#{name},'%')
</if> </if>
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<select id="selectUserList" parameterType="java.util.Map" resultType="com.liquidnet.service.smile.entity.SmileUser"> <select id="selectUserList" parameterType="java.util.Map" resultType="com.liquidnet.service.smile.entity.SmileUser">
select * from smile_user select * from smile_user
<where> <where>
del_tag = 0 AND type != 0 AND type != 3 AND type != 4 del_tag = 0 AND type in (1,2,5) and state = 0
<if test="phone!='' and phone !=null"> <if test="phone!='' and phone !=null">
AND phone Like concat('%',#{phone},'%') AND phone Like concat('%',#{phone},'%')
</if> </if>
...@@ -62,19 +62,18 @@ ...@@ -62,19 +62,18 @@
AND school_id = #{schoolId} AND school_id = #{schoolId}
</if> </if>
</where> </where>
ORDER BY id desc
</select> </select>
<select id="pageUser" parameterType="int" resultType="com.liquidnet.service.smile.entity.SmileUser"> <select id="pageUser" parameterType="int" resultType="com.liquidnet.service.smile.entity.SmileUser">
select * from smile_user select * from smile_user
<where> <where>
del_tag = 0 AND type != 0 AND type != 3 AND type != 4 del_tag = 0 AND type != 0 AND type != 3 AND type != 4 and type!=5
</where> </where>
limit #{offest},#{size} limit #{offest},#{size}
</select> </select>
<select id="getCount" resultType="int"> <select id="getCount" resultType="int">
select count(1) from smile_user select count(1) from smile_user
<where> <where>
del_tag = 0 AND type != 0 AND type != 3 AND type != 4 del_tag = 0 AND type != 0 AND type != 3 AND type != 4 and type!=5
</where> </where>
</select> </select>
...@@ -102,7 +101,7 @@ ...@@ -102,7 +101,7 @@
smile_user smile_user
<where> <where>
del_tag = 0 AND del_tag = 0 AND
`type` != 1 AND `type` != 2 `type` != 1 AND `type` != 2 AND `type` != 5
<if test="phone!=''"> <if test="phone!=''">
AND phone like concat('%',#{phone},'%') AND phone like concat('%',#{phone},'%')
</if> </if>
...@@ -136,6 +135,10 @@ ...@@ -136,6 +135,10 @@
<update id="updateUserStateById"> <update id="updateUserStateById">
update smile_user update smile_user
set `state` = #{state}, set `state` = #{state},
<if test="reason!=null and reason != ''">
error_reason = #{reason},
</if>
updated_date=NOW()
where `uid` = #{uid} where `uid` = #{uid}
</update> </update>
...@@ -149,8 +152,7 @@ ...@@ -149,8 +152,7 @@
<select id="getAllUidByPerId" parameterType="java.util.Map" <select id="getAllUidByPerId" parameterType="java.util.Map"
resultType="com.liquidnet.service.smile.entity.SmileUser"> resultType="com.liquidnet.service.smile.entity.SmileUser">
SELECT SELECT su.uid,
su.uid,
su.`name`, su.`name`,
su.`type`, su.`type`,
su.province_id, su.province_id,
...@@ -160,34 +162,41 @@ ...@@ -160,34 +162,41 @@
su.area_id, su.area_id,
su.area, su.area,
su.address su.address
FROM FROM smile_user AS su
smile_user AS su INNER JOIN (SELECT mid, agent_id, agent_id_master
INNER JOIN ( SELECT mid, agent_id, agent_id_master FROM kylin_order_ticket_relations WHERE performance_id = #{performancesId} AND agent_id != 0 GROUP BY agent_id ) kk ON kk.agent_id = su.uid FROM kylin_order_ticket_relations
WHERE performance_id = #{performancesId}
AND agent_id != 0
GROUP BY agent_id) kk ON kk.agent_id = su.uid
OR kk.agent_id_master = su.uid OR kk.agent_id_master = su.uid
GROUP BY GROUP BY su.uid
su.uid
</select> </select>
<select id="selectUidByPerId" resultType="com.liquidnet.service.smile.entity.SmileUser"> <select id="selectUidByPerId" resultType="com.liquidnet.service.smile.entity.SmileUser">
SELECT SELECT su.uid,
su.uid,
su.name, su.name,
su.type, su.type,
su.city su.city,
FROM su.phone,
smile_user AS su su.agent_id,
INNER JOIN ( SELECT kotr.agent_id, kotr.agent_id_master FROM kylin_order_ticket_relations AS kotr WHERE kotr.performance_id = #{performancesId} AND kotr.agent_id != 0 ) kk ON su.uid = kk.agent_id su.id_card,
OR su.uid = kk.agent_id_master su.state
WHERE su.type = 1 FROM smile_user AS su
INNER JOIN (SELECT kotr.agent_id, kotr.agent_id_master
FROM kylin_order_ticket_relations AS kotr
INNER JOIN kylin_order_ticket_status AS kots ON kots.order_id = kotr.order_id
WHERE kotr.performance_id = #{performancesId}
AND kotr.agent_id != 0 AND kots.status IN (1,6,3)) kk ON su.uid = kk.agent_id_master
GROUP BY su.uid GROUP BY su.uid
</select> </select>
<select id="selectUidByPerIdNotType" resultType="com.liquidnet.service.smile.entity.SmileUser"> <select id="selectUidByPerIdNotType" resultType="com.liquidnet.service.smile.entity.SmileUser">
SELECT SELECT su.uid
su.uid FROM smile_user AS su
FROM INNER JOIN (SELECT kotr.agent_id, kotr.agent_id_master
smile_user AS su FROM kylin_order_ticket_relations AS kotr
INNER JOIN ( SELECT kotr.agent_id, kotr.agent_id_master FROM kylin_order_ticket_relations AS kotr WHERE kotr.performance_id = #{performancesId} AND kotr.agent_id != 0 ) kk ON su.uid = kk.agent_id WHERE kotr.performance_id = #{performancesId}
AND kotr.agent_id != 0) kk ON su.uid = kk.agent_id
OR su.uid = kk.agent_id_master OR su.uid = kk.agent_id_master
GROUP BY su.uid GROUP BY su.uid
</select> </select>
......
...@@ -175,10 +175,10 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -175,10 +175,10 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
HashMap<String, Object> newList = CollectionUtil.mapStringObject(); HashMap<String, Object> newList = CollectionUtil.mapStringObject();
newList.put("toDayList", toDayList); newList.put("toDayList", toDayList);
newList.put("threeDaysList", threeDaysList); newList.put("threeDaysList", threeDaysList);
newList.put("toDaysNftList",toDaysNftList); newList.put("toDaysNftList", toDaysNftList);
newList.put("threeDayNftList",threeDayNftList); newList.put("threeDayNftList", threeDayNftList);
newList.put("toDayCombinationList",toDayCombinationList); newList.put("toDayCombinationList", toDayCombinationList);
newList.put("threeDayCombinationList",threeDayCombinationList); newList.put("threeDayCombinationList", threeDayCombinationList);
return newList; return newList;
} }
...@@ -204,14 +204,14 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -204,14 +204,14 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
HashMap<String, Object> newList = CollectionUtil.mapStringObject(); HashMap<String, Object> newList = CollectionUtil.mapStringObject();
newList.put("toDayList", toDayList); newList.put("toDayList", toDayList);
newList.put("threeDaysList", threeDaysList); newList.put("threeDaysList", threeDaysList);
newList.put("toDaysNftList",toDaysNftList); newList.put("toDaysNftList", toDaysNftList);
newList.put("threeDayNftList",threeDayNftList); newList.put("threeDayNftList", threeDayNftList);
newList.put("toDayCombinationList",toDayCombinationList); newList.put("toDayCombinationList", toDayCombinationList);
newList.put("threeDayCombinationList",threeDayCombinationList); newList.put("threeDayCombinationList", threeDayCombinationList);
return newList; return newList;
} }
public HashMap<String,Object> setNoticeIds() { public HashMap<String, Object> setNoticeIds() {
return dataUtils.setNoticeIds(); return dataUtils.setNoticeIds();
} }
...@@ -261,6 +261,8 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -261,6 +261,8 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
}); });
String agentName = responseDto.getData().getName(); String agentName = responseDto.getData().getName();
performancesInfo.setAgentName(agentName); performancesInfo.setAgentName(agentName);
Integer state = responseDto.getData().getState();
performancesInfo.setState(state);
} catch (Exception e) { } catch (Exception e) {
log.error("演出详情 获取小家伙名称异常 eMsg:{}", e.getMessage()); log.error("演出详情 获取小家伙名称异常 eMsg:{}", e.getMessage());
performancesInfo.setAgentName(""); performancesInfo.setAgentName("");
...@@ -291,6 +293,9 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -291,6 +293,9 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
public List<KylinPerformanceVo> roadList(String roadShowId) { public List<KylinPerformanceVo> roadList(String roadShowId) {
List<KylinPerformanceVo> performancesList = dataUtils.getRoadList(roadShowId); List<KylinPerformanceVo> performancesList = dataUtils.getRoadList(roadShowId);
performancesList = checkAppStatusRoad(performancesList); performancesList = checkAppStatusRoad(performancesList);
for (KylinPerformanceVo item : performancesList) {
item.setPIsAgent();
}
return performancesList; return performancesList;
} }
...@@ -491,7 +496,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -491,7 +496,7 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus())); performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus()));
PayDetailVo payDetailVo = new PayDetailVo(); PayDetailVo payDetailVo = new PayDetailVo();
if (ticketVo!=null && ticketVo.getIsExpress() == 1) { if (ticketVo != null && ticketVo.getIsExpress() == 1) {
KylinTicketExpressModuleVo expressModuleVo = dataUtils.getTEMVo(ticketsId); KylinTicketExpressModuleVo expressModuleVo = dataUtils.getTEMVo(ticketsId);
payDetailVo.setExpressModuleList(expressModuleVo == null ? null : expressModuleVo.getProduceCodeList()); payDetailVo.setExpressModuleList(expressModuleVo == null ? null : expressModuleVo.getProduceCodeList());
} else { } else {
......
...@@ -208,7 +208,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -208,7 +208,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
int memberType; //会员状态 不需要判断会员 1判断会员逻辑 2会员专属 int memberType; //会员状态 不需要判断会员 1判断会员逻辑 2会员专属
if (DateUtil.compareStrDay(DateUtil.getNowTime(), memberTimeStart) == 1 && DateUtil.compareStrDay(DateUtil.getNowTime(), timeStart) == -1) {//优先时间 if (DateUtil.compareStrDay(DateUtil.getNowTime(), memberTimeStart) == 1 && DateUtil.compareStrDay(DateUtil.getNowTime(), timeStart) == -1) {//优先时间
if (payOrderParam.getNumber() > ticketData.getCounts()) { if (payOrderParam.getNumber() > ticketData.getCounts()) {
return ResponseDto.failure("优先购时段内,本场演出限购"+ticketData.getCounts()+"张"); return ResponseDto.failure("优先购时段内,本场演出限购" + ticketData.getCounts() + "张");
} }
int advanceCount = dataUtils.incrUseMemberCount(uid, performanceData.getPerformancesId()); int advanceCount = dataUtils.incrUseMemberCount(uid, performanceData.getPerformancesId());
if (advanceCount > 1) {//todo if (advanceCount > 1) {//todo
...@@ -563,11 +563,18 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -563,11 +563,18 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTicketRelations.setAgentStatus(0); orderTicketRelations.setAgentStatus(0);
orderTicketRelations.setAgentIdMaster("0"); orderTicketRelations.setAgentIdMaster("0");
orderTicketRelations.setAgentDistributionsMaster(BigDecimal.ZERO); orderTicketRelations.setAgentDistributionsMaster(BigDecimal.ZERO);
} else { } else if (agentVo != null && ticketData.getIsAgent() == 1) {
if (dataUtils.getShowIds().contains(performanceData.getPerformancesId())) {
orderTicketRelations.setAgentDistributions(agentVo.getCarry()); orderTicketRelations.setAgentDistributions(agentVo.getCarry());
orderTicketRelations.setAgentStatus(agentVo.getIsBlack() == 1 ? 2 : 1); orderTicketRelations.setAgentStatus(agentVo.getIsBlack() == 1 ? 2 : 1);
orderTicketRelations.setAgentIdMaster(agentVo.getAgentMasterId()); orderTicketRelations.setAgentIdMaster(agentVo.getAgentMasterId());
orderTicketRelations.setAgentDistributionsMaster(agentVo.getExCarry()); orderTicketRelations.setAgentDistributionsMaster(agentVo.getExCarry());
}else{
orderTicketRelations.setAgentDistributions(BigDecimal.ZERO);
orderTicketRelations.setAgentStatus(0);
orderTicketRelations.setAgentIdMaster("0");
orderTicketRelations.setAgentDistributionsMaster(BigDecimal.ZERO);
}
} }
orderTicketRelations.setIsMember(isMember ? 1 : 0); orderTicketRelations.setIsMember(isMember ? 1 : 0);
...@@ -1094,7 +1101,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -1094,7 +1101,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
} }
@Override @Override
public ResponseDto<HashMap<String,Object>> checkOrderResult(String orderId) { public ResponseDto<HashMap<String, Object>> checkOrderResult(String orderId) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketData = dataUtils.getOrderTicketVo(orderId); KylinOrderTicketVo orderTicketData = dataUtils.getOrderTicketVo(orderId);
if (orderTicketData == null) { if (orderTicketData == null) {
......
...@@ -5,6 +5,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -5,6 +5,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IPUtil; import com.liquidnet.commons.lang.util.IPUtil;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo; import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.KylinFreightChargeDao; import com.liquidnet.service.kylin.dao.KylinFreightChargeDao;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
...@@ -372,4 +373,20 @@ public class DataUtils { ...@@ -372,4 +373,20 @@ public class DataUtils {
return (int) obj; return (int) obj;
} }
} }
/**
* 保存演出ids smile 小家伙可分销演出
*/
/**
* 获取演出ids
*/
public List<String> getShowIds(){
String rdk = SmileRedisConst.SMILE_SHOW;
Object obj = redisUtil.get(rdk);
if (obj == null) {
return CollectionUtil.arrayListString();
} else {
return (List<String>) obj;
}
}
} }
...@@ -10,6 +10,7 @@ import com.liquidnet.service.adam.dto.vo.*; ...@@ -10,6 +10,7 @@ import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.param.BackCouponParam; import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.vo.CandyUseResultVo; import com.liquidnet.service.candy.vo.CandyUseResultVo;
import com.liquidnet.service.goblin.constant.SmileRedisConst;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO; import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.KylinFreightChargeDao; import com.liquidnet.service.kylin.dao.KylinFreightChargeDao;
...@@ -61,7 +62,7 @@ public class OrderUtils { ...@@ -61,7 +62,7 @@ public class OrderUtils {
) { ) {
Integer[] integers = orderLimit(userId, idCard, performanceId, ticketId, isTrueName); Integer[] integers = orderLimit(userId, idCard, performanceId, ticketId, isTrueName);
return judgeMemberType(performanceLimitCount, performanceMemberLimitCount, performanceLimitIdCard, return judgeMemberType(performanceLimitCount, performanceMemberLimitCount, performanceLimitIdCard,
ticketLimitCount, ticketMemberLimitCount,ticketLimitIdCard, ticketLimitCount, ticketMemberLimitCount, ticketLimitIdCard,
memberType, integers[0], integers[1], integers[2], integers[3], isTrueName); memberType, integers[0], integers[1], integers[2], integers[3], isTrueName);
} }
...@@ -100,14 +101,14 @@ public class OrderUtils { ...@@ -100,14 +101,14 @@ public class OrderUtils {
int performanceBuyCountUid, int ticketBuyCountUid, int performanceBuyCountIdCard, int ticketBuyCountIdCard, int isTrueName) { int performanceBuyCountUid, int ticketBuyCountUid, int performanceBuyCountIdCard, int ticketBuyCountIdCard, int isTrueName) {
if (memberType == 1 || memberType == 2) { if (memberType == 1 || memberType == 2) {
if(isTrueName==1){ if (isTrueName == 1) {
if (performanceBuyCountIdCard > performanceMemberLimitCount && performanceMemberLimitCount != 0) { if (performanceBuyCountIdCard > performanceMemberLimitCount && performanceMemberLimitCount != 0) {
return "实名制演出限购" + performanceMemberLimitCount + "张,已超出";//超过演出维度购买量 return "实名制演出限购" + performanceMemberLimitCount + "张,已超出";//超过演出维度购买量
} }
if (ticketBuyCountIdCard > ticketMemberLimitCount && ticketMemberLimitCount != 0) { if (ticketBuyCountIdCard > ticketMemberLimitCount && ticketMemberLimitCount != 0) {
return "实名制票种限购" + ticketMemberLimitCount + "张,已超出";//超过票维度购买量 return "实名制票种限购" + ticketMemberLimitCount + "张,已超出";//超过票维度购买量
} }
}else{ } else {
if (performanceBuyCountUid > performanceMemberLimitCount && performanceMemberLimitCount != 0) { if (performanceBuyCountUid > performanceMemberLimitCount && performanceMemberLimitCount != 0) {
return "本场演出限购" + performanceMemberLimitCount + "张,已超出";//超过演出维度购买量 return "本场演出限购" + performanceMemberLimitCount + "张,已超出";//超过演出维度购买量
} }
...@@ -116,7 +117,7 @@ public class OrderUtils { ...@@ -116,7 +117,7 @@ public class OrderUtils {
} }
} }
} else {//非会员区间 } else {//非会员区间
if(isTrueName==1){ if (isTrueName == 1) {
if (performanceBuyCountIdCard > performanceLimitIdCard && performanceLimitIdCard != 0) { if (performanceBuyCountIdCard > performanceLimitIdCard && performanceLimitIdCard != 0) {
return "实名制演出限购" + performanceLimitIdCard + "张,已超出";//超过演出维度购买量 return "实名制演出限购" + performanceLimitIdCard + "张,已超出";//超过演出维度购买量
} }
...@@ -129,7 +130,7 @@ public class OrderUtils { ...@@ -129,7 +130,7 @@ public class OrderUtils {
if (ticketBuyCountUid > ticketLimitCount && ticketLimitCount != 0) { if (ticketBuyCountUid > ticketLimitCount && ticketLimitCount != 0) {
return "该票种限购" + ticketLimitCount + "张,已超出";//超过演出维度购买量 return "该票种限购" + ticketLimitCount + "张,已超出";//超过演出维度购买量
} }
}else{ } else {
if (performanceBuyCountUid > performanceLimitCount && performanceLimitCount != 0) { if (performanceBuyCountUid > performanceLimitCount && performanceLimitCount != 0) {
return "本场演出限购" + performanceLimitCount + "张,已超出";//超过演出维度购买量 return "本场演出限购" + performanceLimitCount + "张,已超出";//超过演出维度购买量
} }
...@@ -411,6 +412,22 @@ public class OrderUtils { ...@@ -411,6 +412,22 @@ public class OrderUtils {
agentVo.setIdentity(identity); agentVo.setIdentity(identity);
agentVo.setIsBlack(isBlack); agentVo.setIsBlack(isBlack);
agentVo.setAgentId(agentId); agentVo.setAgentId(agentId);
/*if (isBlack == 1) {
agentVo.setAgentMasterId("0");
agentVo.setCarry(BigDecimal.ZERO);
agentVo.setExCarry(BigDecimal.ZERO);
agentVo.setAgentId("0");
} else {
if (agentId.equals(masterId)) {
agentVo.setAgentMasterId("0");
agentVo.setCarry(totalCarry);
agentVo.setExCarry(BigDecimal.ZERO);
} else {
agentVo.setAgentMasterId(masterId);
agentVo.setCarry(ordCarry);
agentVo.setExCarry(totalCarry.subtract(ordCarry));
}
}*/
if (agentId.equals(masterId)) { if (agentId.equals(masterId)) {
agentVo.setAgentMasterId("0"); agentVo.setAgentMasterId("0");
agentVo.setCarry(totalCarry); agentVo.setCarry(totalCarry);
......
...@@ -38,7 +38,12 @@ public class SmileNoLoginController { ...@@ -38,7 +38,12 @@ public class SmileNoLoginController {
public ResponseDto<SmileUserVO> getUser(String userId, String performanceId, String ticketId) { public ResponseDto<SmileUserVO> getUser(String userId, String performanceId, String ticketId) {
SmileUserVO smileUserVO = (SmileUserVO) redisUtil.get(SmileRedisConst.SMILE_USER.concat(userId)); SmileUserVO smileUserVO = (SmileUserVO) redisUtil.get(SmileRedisConst.SMILE_USER.concat(userId));
if(null!=smileUserVO){ if(null!=smileUserVO){
SmileAgentVo smileAgentVo = (SmileAgentVo) redisUtil.get(SmileRedisConst.SMILE_AGENT.concat(performanceId).concat(":").concat(ticketId)); SmileAgentVo smileAgentVo=null;
if(smileUserVO.getType()==5){
smileAgentVo = (SmileAgentVo) redisUtil.get(SmileRedisConst.SMILE_AGENT.concat(performanceId).concat(":").concat(userId));
}else{
smileAgentVo = (SmileAgentVo) redisUtil.get(SmileRedisConst.SMILE_AGENT.concat(performanceId).concat(":").concat(ticketId));
}
smileUserVO.setSmileAgentVo(smileAgentVo); smileUserVO.setSmileAgentVo(smileAgentVo);
} }
return ResponseDto.success(smileUserVO); return ResponseDto.success(smileUserVO);
......
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