Commit 450e98dd authored by daniel's avatar daniel

feat(bagDelivery): 存取包开发

parent 78e37ed6
package com.dlbridge.jadp.plugins.partner.bean;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
......@@ -9,4 +10,6 @@ public class BagDropPoints {
private Integer id;
private Integer cmptId;
private String pointName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String createDate;
}
......@@ -19,4 +19,6 @@ public class BagParam {
private String markNo;
@ApiModelProperty(value = "业务类型(1:赛包邮寄,2:赛包寄存)", notes = "业务类型(1:赛包邮寄,2:赛包寄存)")
private String serviceType;
@ApiModelProperty(value = "寄存点ID", notes = "寄存点ID")
private Integer pointId;
}
package com.dlbridge.jadp.plugins.partner.bean.vo;
import com.dlbridge.jadp.plugins.partner.bean.BagDropPoints;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.validation.constraints.NotBlank;
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "赛包存取点VO")
public class BagDropPointsVO extends BagDropPoints {
@ApiModelProperty(value = "保存次数")
private Integer saveCount;
@ApiModelProperty(value = "取件次数")
private Integer takeCount;
}
......@@ -7,12 +7,13 @@ import com.dlbridge.jadp.plugins.cmpt.utils.Page;
import com.dlbridge.jadp.plugins.partner.bean.BagDelivery;
import com.dlbridge.jadp.plugins.partner.bean.BagDropPoints;
import com.dlbridge.jadp.plugins.partner.bean.BagParam;
import com.dlbridge.jadp.plugins.partner.bean.vo.BagDropPointsVO;
import com.dlbridge.jadp.plugins.partner.service.BagDeliveryService;
import com.neusoft.www.utils.web.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import springfox.documentation.annotations.ApiIgnore;
......@@ -21,8 +22,9 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@Controller
@RestController
@RequestMapping("gk/bag/")
@Api(tags = "赛包邮寄",value = "赛包邮寄")
public class BagDeliveryController {
@Resource
......@@ -44,7 +46,7 @@ public class BagDeliveryController {
* 赛包邮寄申请列表
* @param page 分页参数
* @param param 查询参数
* @return
* @return 赛包邮寄申请列表
*/
@ResponseBody
@RequestMapping(value = "/delivery/list")
......@@ -60,30 +62,30 @@ public class BagDeliveryController {
@ResponseBody
@RequestMapping(value = "/apply", method = RequestMethod.POST)
public Result applyBagDelivery(@RequestBody BagDelivery bagDelivery) {
public Result<?> applyBagDelivery(@RequestBody BagDelivery bagDelivery) {
return bagDeliveryService.applyBagDelivery(bagDelivery);
}
@ResponseBody
@RequestMapping(value = "/update", method = RequestMethod.POST)
public Result updateBagDelivery(@RequestBody BagDelivery bagDelivery) {
public Result<?> updateBagDelivery(@RequestBody BagDelivery bagDelivery) {
return bagDeliveryService.updateBagDelivery(bagDelivery);
}
/**
* 赛包归还
* @param bagDelivery
* @return
* @param bagDelivery 赛包归还信息
* @return 赛包归还结果
*/
@ResponseBody
@RequestMapping(value = "/bag-return", method = RequestMethod.POST)
public Result bagReturn(@RequestBody BagDelivery bagDelivery) {
public Result<?> bagReturn(@RequestBody BagDelivery bagDelivery) {
return bagDeliveryService.bagReturn(bagDelivery);
}
@ResponseBody
@RequestMapping(value = "/delete", method = RequestMethod.GET)
public Result delBagDelivery(@RequestParam("id") Integer id) {
public Result<?> delBagDelivery(@RequestParam("id") Integer id) {
return bagDeliveryService.delBagDelivery(id);
}
......@@ -97,25 +99,38 @@ public class BagDeliveryController {
/**
* 查询存包点列表
* @param cmptId
* @return
* @param cmptId 赛事id
* @return 存包点列表
*/
@RequestMapping("storage-points/{cmptId}")
@ResponseBody
public List<BagDropPoints> queryBagDropPoints(@PathVariable("cmptId") Integer cmptId) {
return bagDeliveryService.queryBagDropPoints(cmptId);
public Result<List<BagDropPointsVO>> queryBagDropPoints(@PathVariable("cmptId") Integer cmptId) {
return new Result<List<BagDropPointsVO>>().setContent(bagDeliveryService.queryBagDropPoints(cmptId));
}
@ResponseBody
@RequestMapping(value = "/delete-points", method = RequestMethod.GET)
public Result delBagDropPoints(@RequestParam("cmptId") Integer cmptId) {
public Result<?> delBagDropPoints(@RequestParam("cmptId") Integer cmptId) {
return bagDeliveryService.delBagDropPoints(cmptId);
}
@ResponseBody
@RequestMapping(value = "/save_points", method = RequestMethod.POST)
public Result saveBagDropPoints(@RequestBody List<BagDropPoints> bagDropPoints) {
public Result<?> saveBagDropPoints(@RequestBody List<BagDropPoints> bagDropPoints) {
return bagDeliveryService.saveBagDropPoints(bagDropPoints);
}
@PostMapping( "/save-or-update-points")
@ApiOperation(value = "新增/更新 存包点", notes = "新增/更新 存包点")
public Result<?> saveOrUpdateBagDropPoints(@RequestBody BagDropPoints bagDropPoints) {
return bagDeliveryService.saveOrUpdateBagDropPoints(bagDropPoints);
}
@DeleteMapping( "/bag-points/{id}")
@ApiOperation(value = "删除存包点", notes = "删除存包点")
public Result<?> delBagDropPointsById(@PathVariable("id") Integer id) {
bagDeliveryService.delBagDropPoint(id);
return Result.success();
}
}
package com.dlbridge.jadp.plugins.partner.controller;
import com.dlbridge.jadp.common.interceptor.PageView;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
import com.dlbridge.jadp.plugins.cmpt.service.CmptService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
@RestController
@Api(tags = "寄存包",value = "寄存包")
@RequestMapping("gk/dropPoint")
public class DropPointController {
@Resource
private CmptService cmptService;
@RequestMapping("index/{cmptId}")
@PageView
public ModelAndView index(@PathVariable("cmptId") Integer cmptId, ModelAndView mv) {
Cmpt cmpt = cmptService.queryCmptBycmptId(cmptId);
mv.addObject("cmpt", cmpt);
mv.setViewName("cmpt/dropPoint");
return mv;
}
}
......@@ -27,4 +27,27 @@ public interface BagDeliveryMapper {
int insertBagDropPoints(@Param("list") List<BagDropPoints> list);
int delBagDropPoints(@Param("cmptId") Integer cmptId);
void insertBagDropPoint(BagDropPoints bagDropPoints);
/**
* 根据ID删除存包点
* @param id 存包点ID
*/
void delBagDropPointsById(Integer id);
/**
* 更新存包点
* @param bagDropPoints 存包点对象
*/
void updateBagDropPoint(BagDropPoints bagDropPoints);
/**
* 根据状态和存包点ID查询存包数量
* @param status 状态
* @param id 存包点ID
* @return 存包数量
*/
Integer selectBagCountByPId(Integer status, Integer id);
}
......@@ -160,6 +160,9 @@
<if test="@org.apache.commons.lang3.StringUtils@isNotBlank(param.serviceType)">
and a.service_type=#{param.serviceType}
</if>
<if test="param.pointId != null">
and a.storage_point=#{param.pointId}
</if>
</sql>
<select id="enrollCheck" resultType="Integer">
......@@ -177,13 +180,34 @@
(#{item.cmptId},#{item.pointName},now())
</foreach>
</insert>
<insert id="insertBagDropPoint">
insert into bag_drop_points(cmpt_id,point_name,create_date)
values(#{cmptId},#{pointName},now())
</insert>
<update id="delBagDropPoints">
update bag_drop_points set del_flag = 1 where cmpt_id = #{cmptId}
</update>
<select id="queryBagDropPoints" resultType="com.dlbridge.jadp.plugins.partner.bean.BagDropPoints">
select id, point_name pointName from bag_drop_points a where a.del_flag=0 and cmpt_id = #{cmptId}
<select id="queryBagDropPoints" resultType="com.dlbridge.jadp.plugins.partner.bean.BagDropPoints">
select id,cmpt_id cmptId,point_name pointName,create_date createDate from bag_drop_points a where a.del_flag=0 and cmpt_id = #{cmptId}
</select>
<update id="delBagDropPointsById">
update bag_drop_points set del_flag = 1 where id = #{id}
</update>
<update id="updateBagDropPoint">
update bag_drop_points set point_name = #{pointName} where id = #{id}
</update>
<select id="selectBagCountByPId" resultType="java.lang.Integer">
SELECT count(1)
FROM bag_delivery a
WHERE a.del_flag = 0
AND a.status = #{status}
AND a.storage_point = #{id}
AND a.service_type = 2
</select>
</mapper>
\ No newline at end of file
package com.dlbridge.jadp.plugins.partner.service;
import cn.hutool.core.bean.BeanUtil;
import com.dlbridge.jadp.common.utils.DateUtils;
import com.dlbridge.jadp.common.utils.excel.ExportExcel;
import com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt;
......@@ -9,6 +10,7 @@ import com.dlbridge.jadp.plugins.cmpt.utils.PageFactory;
import com.dlbridge.jadp.plugins.partner.bean.BagDelivery;
import com.dlbridge.jadp.plugins.partner.bean.BagDropPoints;
import com.dlbridge.jadp.plugins.partner.bean.BagParam;
import com.dlbridge.jadp.plugins.partner.bean.vo.BagDropPointsVO;
import com.dlbridge.jadp.plugins.partner.mapper.BagDeliveryMapper;
import com.neusoft.www.utils.web.Result;
import lombok.extern.log4j.Log4j2;
......@@ -17,7 +19,6 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
......@@ -237,8 +238,22 @@ public class BagDeliveryService {
return deliveries;
}
public List<BagDropPoints> queryBagDropPoints(Integer cmptId){
return bagDeliveryMapper.queryBagDropPoints(cmptId);
public List<BagDropPointsVO> queryBagDropPoints(Integer cmptId){
List<BagDropPoints> bagDropPointsList = bagDeliveryMapper.queryBagDropPoints(cmptId);
List<BagDropPointsVO> bagDropPointsVOLiSt = new ArrayList<>();
// for 循环
for(BagDropPoints bagDropPoints : bagDropPointsList){
BagDropPointsVO bagDropPointsVO = new BagDropPointsVO();
BeanUtil.copyProperties(bagDropPoints, bagDropPointsVO);
// 获取存的数量
Integer saveCount = bagDeliveryMapper.selectBagCountByPId(0, bagDropPoints.getId());
// 获取去的数量
Integer takeCount = bagDeliveryMapper.selectBagCountByPId(3, bagDropPoints.getId());
bagDropPointsVO.setSaveCount(saveCount);
bagDropPointsVO.setTakeCount(takeCount);
bagDropPointsVOLiSt.add(bagDropPointsVO);
}
return bagDropPointsVOLiSt;
}
public Result delBagDropPoints(Integer cmptId) {
......@@ -250,4 +265,41 @@ public class BagDeliveryService {
bagDeliveryMapper.insertBagDropPoints(bagDropPoints);
return Result.success();
}
/**
* 保存存包点
* @param bagDropPoints 存包点对象
* @return 操作结果
*/
public Result<?> saveOrUpdateBagDropPoints(BagDropPoints bagDropPoints) {
if(bagDropPoints.getCmptId() == null){
return Result.fail().setMsg("赛事ID不能为空");
}
if(StringUtils.isBlank(bagDropPoints.getPointName())){
return Result.fail().setMsg("点位名不能为空");
}
// 判断点位名是否存在
List<BagDropPoints> points = bagDeliveryMapper.queryBagDropPoints(bagDropPoints.getCmptId());
Set<String> pointSet = points.stream().map(BagDropPoints::getPointName).collect(Collectors.toSet());
if(pointSet.contains(bagDropPoints.getPointName())){
return Result.fail().setMsg("点位名已存在");
}
if(bagDropPoints.getId() != null){
// 更新
bagDeliveryMapper.updateBagDropPoint(bagDropPoints);
return Result.success();
}
bagDeliveryMapper.insertBagDropPoint(bagDropPoints);
return Result.success();
}
/**
* 删除存包点
* @param id 存包点ID
* @return 操作结果
*/
public Result<?> delBagDropPoint(Integer id) {
bagDeliveryMapper.delBagDropPointsById(id);
return Result.success();
}
}
......@@ -459,6 +459,8 @@
// 查询的参数
const query = reactive({
status: '',
// 业务类型(1:赛包邮寄,2:赛包寄存)
serviceType: 1
})
const keyword = ref('')
// 结果列表
......
......@@ -418,6 +418,13 @@
<span class="menu-txt">信息收集(ing)</span>
</a>
</li>
<li class="dropPoint menu-sub-item">
<a
href="/gk/dropPoint/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
<span class="left-arrow"></span>
<span class="menu-txt">存取包管理</span>
</a>
</li>
<li class="wechat menu-sub-item">
<a
href="/gk/wechatMini/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}&timestamp=${timestamp}&sign=${sign}">
......@@ -484,11 +491,14 @@
</nav>
<script>
var classes = ['cmptSetting', 'nameList', 'manual', 'contact', 'manage',
let classes = ['cmptSetting', 'nameList', 'manual', 'contact', 'manage',
'route', 'road', 'equip', 'photo', 'news', 'cert', 'data',
'banner', 'score', 'auto', 'scan', 'review', 'customer', 'rule',
'outter-link', 'sure-letter', 'rankSetting', 'service', "module", "swiper", "bag", "invoice", "markNoSelect", "feedback", "markNoRule", "gunRule", "disClaimer", "location", "wechat", "gpsDeposit", "information"];
'outter-link', 'sure-letter', 'rankSetting', 'service', "module", "swiper", "bag", "invoice", "markNoSelect", "feedback", "markNoRule", "gunRule", "disClaimer", "location", "wechat", "gpsDeposit", "information", "dropPoint"];
// 按长度从大到小排序
classes.sort((a, b) => b.length - a.length);
let url = document.location.href;
let urlPath = location.pathname;
var done = false;
for (var i in classes) {
if (url.indexOf(classes[i]) > -1) {
......
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