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

Commit 46c8de7d authored by 胡佳晨's avatar 胡佳晨

admin 工具类增加修改 订单入场人

parent 041ee44f
......@@ -2,15 +2,19 @@ package com.liquidnet.client.admin.web.controller.zhengzai.tools;
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.page.TableDataInfo;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IExportService;
import com.liquidnet.client.admin.zhengzai.kylin.service.IToolService;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@Controller
......@@ -20,22 +24,42 @@ public class ToolsBaseController extends BaseController {
private String prefix = "zhengzai/tools";
@Autowired
private IExportService exportService;
@Autowired
private IToolService toolService;
@GetMapping()
public String tools() {
return prefix + "/tools";
}
/**
* 路径跳转
*
* @param id
* @param mmap
* @return
*/
@GetMapping(value = "/details/{id}")
public String detailsRoadShow(@PathVariable("id") Integer id, ModelMap mmap) {
if (id == 1) {
mmap.put("url", "/tools/export/mobile");
return prefix + "/fun1";
return prefix + "/fun1";//导出手机号
} else if (id == 2) {
mmap.put("url_info", "/tools/order/enter");
mmap.put("url_single", "/tools/order/getSingleEnter");
return prefix + "/fun2";//订单修改入场人
} else {
return prefix + "/edit";
}
}
/**
* 导出手机号
*
* @param mobileType
* @param performanceId
* @return
*/
@PostMapping("/export/mobile")
@ResponseBody
public AjaxResult exportMobile(Integer mobileType, String performanceId) {
......@@ -57,4 +81,52 @@ public class ToolsBaseController extends BaseController {
ExcelUtil<OrderExportVo> util = new ExcelUtil(OrderExportVo.class);
return util.exportExcel(list, list.get(0).getPerformanceTitle() + "-" + mobileType);
}
/**
* 根据订单号获取入场人信息
*
* @param orderCode
* @return
*/
@PostMapping("/order/enter")
@ResponseBody
public TableDataInfo getOrderTicketEnterByOrderCode(String orderCode, ModelMap mmap) {
List<KylinOrderTicketEntities> data = toolService.getOrderTicketEnterByOrderCode(orderCode);
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(0);
if (data != null) {
rspData.setRows(data);
rspData.setTotal(data.size());
} else {
rspData.setRows(new ArrayList<>());
rspData.setTotal(0);
}
return rspData;
}
/**
* 根据票单id查询票单入场人
*
* @param orderTicketEntitiesId
* @return
*/
@GetMapping("/order/getSingleEnter/{orderTicketEntitiesId}")
public String getSingleEnter(@PathVariable("orderTicketEntitiesId") String orderTicketEntitiesId, ModelMap mmap) {
KylinOrderTicketEntities data = toolService.getSingleEnter(orderTicketEntitiesId);
mmap.put("dataInfo", data);
mmap.put("url_change", "/tools/order/enterChange");
return prefix + "/fun2Details";
}
/**
* 根据订单号获取入场人信息
*
* @param orderId
* @return
*/
@PostMapping("/order/enterChange")
@ResponseBody
public AjaxResult getOrderTicketEnterByOrderCode(String orderTicketEntitiesId, String enterName, String enterMobile, String enterIdCode, Integer enterType, String orderId) {
return AjaxResult.success(toolService.supplementEnter(orderTicketEntitiesId, enterName, enterMobile, enterIdCode, enterType, orderId));
}
}
<!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('工具库')"/>
</head>
<body class="white-bg">
<div class="form-horizontal m wrapper wrapper-content animated fadeInRight ibox-content">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>订单号:</label>
<input type="text" name="orderCode"/>
</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>重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="form-group">
<table id="bootstrap-table"></table>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var certificateType = [[${@dict.getType('zhengzai_certificate_type')}]];
var options = {
url: [[${url_info}]],
modalName: "入场人信息",
orderSc: "desc",
orderItem: "created_at",
updateUrl: [[${url_single}]] + "/{id}",
columns: [
{
field: 'orderTicketEntitiesId',
title: '票单id'
}, {
field: 'enterName',
title: '入场人姓名'
}, {
field: 'enterMobile',
title: '入场人手机号'
}, {
field: 'enterIdCode',
title: '入场人证件号'
}, {
field: 'enterType',
title: '证件类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(certificateType, value);
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="$.operate.edit(\'' + row.orderTicketEntitiesId + '\')"><i class="fa fa-edit"></i>修改</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
// }
</script>
</body>
</html>
<!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('工具库')"/>
</head>
<body class="white-bg">
<div class="form-horizontal m wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-fun2Details-edit"
th:object="${dataInfo}">
<div class="form-group">
<label class="col-sm-3 control-label is-required">入场人姓名:</label>
<div class="col-sm-8">
<input name="enterName" th:field="*{enterName}" class="form-control" type="text" ly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">入场人电话:</label>
<div class="col-sm-8">
<input name="enterMobile" th:field="*{enterMobile}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">入场人证件号:</label>
<div class="col-sm-8">
<input name="enterIdCode" th:field="*{enterIdCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">入场人证件类型:</label>
<div class="col-sm-8">
<!-- <input name="enterType" th:value="${@dict.getLabel('zhengzai_certificate_type',dataInfo.enterType)}"-->
<!-- class="form-control" type="text" required>-->
<select name="enterType" th:with="type=${@dict.getType('zhengzai_certificate_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:selected="${dict.dictValue} == ${dataInfo.enterType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">入场人票单id:</label>
<div class="col-sm-8">
<input name="orderTicketEntitiesId" th:field="*{orderTicketEntitiesId}" class="form-control" type="text"
required readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">订单id:</label>
<div class="col-sm-8">
<input name="orderId" th:field="*{orderId}" class="form-control" type="text"
required readonly>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
$("#form-fun2Details-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save([[${url_change}]], $('#form-fun2Details-edit').serialize());
}
}
</script>
</body>
</html>
......@@ -23,6 +23,11 @@
导出演出订单手机号
</button>
<button id="fun2" type="button" class="btn btn-w-m btn-success" href="javascript:void(0)"
onclick="$.operate.detail(2)">
修改订单入场人
</button>
</div>
</form>
</div>
......@@ -32,13 +37,18 @@
var options = {
url: prefix,
modalName: "",
updateUrl: prefix + "details/{id}"
updateUrl: prefix + "details/{id}",
detailUrl: prefix + "details/{id}"
};
$.table.init(options);
var fun1Flag = [[${@permission.hasPermi('tools:fun1')}]];
var fun2Flag = [[${@permission.hasPermi('tools:fun2')}]];
if (fun1Flag == "hidden") {
document.getElementById("fun1").style.display = "none";
}
if (fun2Flag == "hidden") {
document.getElementById("fun2").style.display = "none";
}
</script>
</body>
</html>
package com.liquidnet.client.admin.zhengzai.kylin.dto;
import lombok.Data;
import java.util.List;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @class: PerformanceCalendarReq
* @Package com.liquidnet.client.admin.zhengzai.kylin.dto
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/6/1 15:47
*/
@Data
public class ChangeOrderEnterResp {
private String orderTicketEntitiesId;
private Integer enterType;
private String enterName;
private String enterMobile;
private String enterIdCard;
}
package com.liquidnet.client.admin.zhengzai.kylin.service;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import java.util.List;
public interface IToolService {
/**
* 修改订单入场人
*
* @param enterIdCard
* @param enterMobile
* @param enterName
* @param enterType
* @param orderTicketEntitiesId
* @return
*/
Boolean supplementEnter(String orderTicketEntitiesId, String enterName, String enterMobile, String enterIdCard, Integer enterType,String orderId);
/**
* 根据入场人id
*
* @param orderTicketEntitiesId
* @return
*/
KylinOrderTicketEntities getSingleEnter(String orderTicketEntitiesId);
/**
* 根据订单号查询 订单入场人信息
*
* @param orderCode
* @return
*/
List<KylinOrderTicketEntities> getOrderTicketEnterByOrderCode(String orderCode);
}
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.client.admin.zhengzai.kylin.dto.ChangeOrderEnterResp;
import com.liquidnet.client.admin.zhengzai.kylin.service.IToolService;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.entity.KylinOrderTicketEntities;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketEntitiesMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
@Slf4j
public class ToolServiceImpl implements IToolService {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private DataUtils dataUtils;
@Autowired
private KylinOrderTicketEntitiesMapper kylinOrderTicketEntitiesMapper;
@Autowired
private KylinOrderTicketsMapper kylinOrderTicketsMapper;
@Override
public Boolean supplementEnter(String orderTicketEntitiesId, String enterName, String enterMobile, String enterIdCode, Integer enterType, String orderId) {
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderTicketEntitiesId").is(orderTicketEntitiesId)).getQueryObject(),
new Document("$set", new Document("enterType", enterType)
.append("enterName", enterName)
.append("enterMobile", enterMobile)
.append("enterIdCode", enterIdCode)
.append("updatedAt", DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDateTime.now())))
);
KylinOrderTicketEntities orderTicketEntities = KylinOrderTicketEntities.getNew();
orderTicketEntities.setEnterType(enterType);
orderTicketEntities.setEnterName(enterName);
orderTicketEntities.setEnterMobile(enterMobile);
orderTicketEntities.setEnterIdCode(enterIdCode);
orderTicketEntities.setUpdatedAt(LocalDateTime.now());
kylinOrderTicketEntitiesMapper.update(orderTicketEntities, Wrappers.lambdaUpdate(KylinOrderTicketEntities.class).eq(KylinOrderTicketEntities::getOrderTicketEntitiesId, orderTicketEntitiesId));
dataUtils.delOrderTicketRedis(orderId);
return true;
}
@Override
public KylinOrderTicketEntities getSingleEnter(String orderTicketEntitiesId) {
KylinOrderTicketEntities entitiesList = kylinOrderTicketEntitiesMapper.selectOne(Wrappers.lambdaUpdate(KylinOrderTicketEntities.class).eq(KylinOrderTicketEntities::getOrderTicketEntitiesId, orderTicketEntitiesId));
return entitiesList;
}
@Override
public List<KylinOrderTicketEntities> getOrderTicketEnterByOrderCode(String orderCode) {
KylinOrderTickets orderTickets = kylinOrderTicketsMapper.selectOne(Wrappers.lambdaUpdate(KylinOrderTickets.class).eq(KylinOrderTickets::getOrderCode, orderCode));
if (orderTickets == null) {
return null;
}
String orderId = orderTickets.getOrderTicketsId();
List<KylinOrderTicketEntities> entitiesList = kylinOrderTicketEntitiesMapper.selectList(Wrappers.lambdaUpdate(KylinOrderTicketEntities.class).eq(KylinOrderTicketEntities::getOrderId, orderId));
return entitiesList;
}
}
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