更新自动生成工单的修改
This commit is contained in:
parent
9eb7162561
commit
7dce8aa986
14
sql/v2.1.sql
14
sql/v2.1.sql
@ -826,7 +826,7 @@ CREATE TABLE `xhpc_activity_cash`
|
|||||||
`receive_count` int(9) DEFAULT '0' COMMENT '领取次数',
|
`receive_count` int(9) DEFAULT '0' COMMENT '领取次数',
|
||||||
`auto_receive` smallint(2) DEFAULT '0' COMMENT '是否自动领取(0-否,1-是)',
|
`auto_receive` smallint(2) DEFAULT '0' COMMENT '是否自动领取(0-否,1-是)',
|
||||||
`auto_status` smallint(2) DEFAULT '0' COMMENT '是否自动发送完成(0-未完成,1-已完成)',
|
`auto_status` smallint(2) DEFAULT '0' COMMENT '是否自动发送完成(0-未完成,1-已完成)',
|
||||||
`amount` decimal(4, 2) DEFAULT '0' COMMENT '红包金额',
|
`amount` decimal(10, 4) DEFAULT '0' COMMENT '红包金额',
|
||||||
`app_user_list` text COMMENT 'C端用户ID(-1表示全部)',
|
`app_user_list` text COMMENT 'C端用户ID(-1表示全部)',
|
||||||
`com_user_list` text COMMENT '社区用户ID列表(-1表示全部)',
|
`com_user_list` text COMMENT '社区用户ID列表(-1表示全部)',
|
||||||
`cus_user_list` text COMMENT 'B端用户ID列表(-1表示全部)',
|
`cus_user_list` text COMMENT 'B端用户ID列表(-1表示全部)',
|
||||||
@ -850,7 +850,7 @@ CREATE TABLE `xhpc_activity_template`
|
|||||||
`activity_template_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '模板ID',
|
`activity_template_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '模板ID',
|
||||||
`template_name` varchar(100) DEFAULT NULL COMMENT '模板名称',
|
`template_name` varchar(100) DEFAULT NULL COMMENT '模板名称',
|
||||||
`discount_type` smallint(2) DEFAULT NULL COMMENT '优惠类型(1-总金额,2-服务费,3-电量)',
|
`discount_type` smallint(2) DEFAULT NULL COMMENT '优惠类型(1-总金额,2-服务费,3-电量)',
|
||||||
`discount_rate` decimal(10, 2) DEFAULT NULL COMMENT '优惠比率',
|
`discount_rate` decimal(10, 4) DEFAULT NULL COMMENT '优惠比率',
|
||||||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||||||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||||||
`discount_count` smallint(4) DEFAULT '0' COMMENT '折扣次数',
|
`discount_count` smallint(4) DEFAULT '0' COMMENT '折扣次数',
|
||||||
@ -897,8 +897,8 @@ CREATE TABLE `xhpc_activity_formula`
|
|||||||
`activity_id` int(11) DEFAULT NULL COMMENT '活动ID',
|
`activity_id` int(11) DEFAULT NULL COMMENT '活动ID',
|
||||||
`start_time` time DEFAULT NULL COMMENT '开始时间',
|
`start_time` time DEFAULT NULL COMMENT '开始时间',
|
||||||
`end_time` time DEFAULT NULL COMMENT '结束时间',
|
`end_time` time DEFAULT NULL COMMENT '结束时间',
|
||||||
`power_price` decimal(10, 2) DEFAULT NULL COMMENT '电费',
|
`power_price` decimal(10, 4) DEFAULT NULL COMMENT '电费',
|
||||||
`service_price` decimal(10, 2) DEFAULT null COMMENT '服务费',
|
`service_price` decimal(10, 4) DEFAULT null COMMENT '服务费',
|
||||||
`compute_formula` varchar(200) DEFAULT NULL COMMENT '计算公式',
|
`compute_formula` varchar(200) DEFAULT NULL COMMENT '计算公式',
|
||||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
|
||||||
@ -929,8 +929,8 @@ CREATE TABLE `xhpc_activity_internet`
|
|||||||
`internet_name` varchar(64) DEFAULT NULL COMMENT '流量方名称',
|
`internet_name` varchar(64) DEFAULT NULL COMMENT '流量方名称',
|
||||||
`compute_type` smallint(4) DEFAULT NULL COMMENT '计算类型(1-总金额,2-服务费,3-电量)',
|
`compute_type` smallint(4) DEFAULT NULL COMMENT '计算类型(1-总金额,2-服务费,3-电量)',
|
||||||
`compute_formula` varchar(200) DEFAULT NULL COMMENT '默认计算公式',
|
`compute_formula` varchar(200) DEFAULT NULL COMMENT '默认计算公式',
|
||||||
`power_price` decimal(10, 2) DEFAULT NULL COMMENT '默认电费',
|
`power_price` decimal(10, 4) DEFAULT NULL COMMENT '默认电费',
|
||||||
`service_price` decimal(10, 2) DEFAULT NULL COMMENT '默认服务费',
|
`service_price` decimal(10, 4) DEFAULT NULL COMMENT '默认服务费',
|
||||||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||||||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||||||
`station_list` text COMMENT '参与场站列表',
|
`station_list` text COMMENT '参与场站列表',
|
||||||
@ -954,7 +954,7 @@ CREATE TABLE `xhpc_activity_record`
|
|||||||
`activity_id` int(11) DEFAULT NULL COMMENT '活动ID',
|
`activity_id` int(11) DEFAULT NULL COMMENT '活动ID',
|
||||||
`source` smallint(4) DEFAULT NULL COMMENT '人员类型(0 C端用户 1 流量方用户 2社区用户 3B端用户)',
|
`source` smallint(4) DEFAULT NULL COMMENT '人员类型(0 C端用户 1 流量方用户 2社区用户 3B端用户)',
|
||||||
`user_id` varchar(16) DEFAULT NULL COMMENT '用户ID',
|
`user_id` varchar(16) DEFAULT NULL COMMENT '用户ID',
|
||||||
`amount` decimal(4, 2) DEFAULT NULL COMMENT '红包金额',
|
`amount` decimal(10, 4) DEFAULT NULL COMMENT '红包金额',
|
||||||
`create_time` datetime DEFAULT NULL COMMENT '领取时间',
|
`create_time` datetime DEFAULT NULL COMMENT '领取时间',
|
||||||
PRIMARY KEY (`activity_record_id`)
|
PRIMARY KEY (`activity_record_id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COMMENT='活动参与领取表';
|
) ENGINE=InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8mb4 COMMENT='活动参与领取表';
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public interface XhpcWorkOrderImageMapper {
|
|||||||
|
|
||||||
List<Long> selectImageIdByOrderIdAndType(@Param("orderId") Long orderId, @Param("type") Integer type);
|
List<Long> selectImageIdByOrderIdAndType(@Param("orderId") Long orderId, @Param("type") Integer type);
|
||||||
|
|
||||||
int deleteByImageIds(List<Long> imageIds);
|
int deleteByImageIds(@Param("imageIds") List<Long> imageIds);
|
||||||
|
|
||||||
int deleteByPrimaryKey(Long orderImageId);
|
int deleteByPrimaryKey(Long orderImageId);
|
||||||
|
|
||||||
|
|||||||
@ -29,5 +29,6 @@ public interface XhpcWorkUserMapper {
|
|||||||
|
|
||||||
List<Map<String, Object>> selectMapList(@Param("params") Map<String, Object> params);
|
List<Map<String, Object>> selectMapList(@Param("params") Map<String, Object> params);
|
||||||
|
|
||||||
|
String selectPhoneListByIds(@Param("userIds")String userIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -34,4 +34,6 @@ public interface WorkUserService {
|
|||||||
Boolean resetPassword(SysUserResetPasswordVo vo);
|
Boolean resetPassword(SysUserResetPasswordVo vo);
|
||||||
|
|
||||||
Object updateDomainStatus(XhpcWorkUserDomain domain);
|
Object updateDomainStatus(XhpcWorkUserDomain domain);
|
||||||
|
|
||||||
|
String getPhoneListByUserIds(String userIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.xhpc.activity.service.impl;
|
|||||||
|
|
||||||
import com.xhpc.common.api.SmsService;
|
import com.xhpc.common.api.SmsService;
|
||||||
import com.xhpc.common.core.domain.R;
|
import com.xhpc.common.core.domain.R;
|
||||||
|
import com.xhpc.common.core.exception.CustomException;
|
||||||
import com.xhpc.common.core.utils.StringUtils;
|
import com.xhpc.common.core.utils.StringUtils;
|
||||||
import com.xhpc.activity.domain.*;
|
import com.xhpc.activity.domain.*;
|
||||||
import com.xhpc.activity.mapper.*;
|
import com.xhpc.activity.mapper.*;
|
||||||
@ -54,75 +55,7 @@ public class WorkOrderServiceImpl implements WorkOrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
private Boolean insertDomain(XhpcWorkOrderDomain domain){
|
||||||
public Boolean updateOrder(XhpcWorkOrderDomain domain){
|
|
||||||
orderMapper.updateByPrimaryKeySelective(domain);
|
|
||||||
|
|
||||||
List<Long> imageIds = imageMapper.selectImageIdByOrderIdAndType(domain.getWorkOrderId(), 1);
|
|
||||||
|
|
||||||
for (XhpcWorkOrderImageDomain imageDomain: domain.getQuestionImgList()){
|
|
||||||
if(StringUtils.isEmpty(imageDomain.getOrderImageId().toString())){
|
|
||||||
imageDomain.setOrderId(domain.getWorkOrderId());
|
|
||||||
imageDomain.setType(Short.valueOf("1"));
|
|
||||||
imageDomain.setDelFlag(Short.valueOf("0"));
|
|
||||||
imageMapper.insertSelective(imageDomain);
|
|
||||||
} else {
|
|
||||||
if(imageIds.contains(imageDomain.getOrderImageId())){
|
|
||||||
imageIds.remove(imageDomain.getOrderImageId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(imageIds.size() > 0){
|
|
||||||
imageMapper.deleteByImageIds(imageIds);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新处理人
|
|
||||||
String phoneList = "";
|
|
||||||
orderMapper.deleteOrderUserByOrderId(domain.getWorkOrderId());
|
|
||||||
List<XhpcWorkOrderUserDomain> orderUserDomainList = new ArrayList<>();
|
|
||||||
for(XhpcWorkUserDomain userDomain: domain.getUserList()){
|
|
||||||
XhpcWorkOrderUserDomain orderUserDomain = new XhpcWorkOrderUserDomain();
|
|
||||||
orderUserDomain.setOrderId(domain.getWorkOrderId());
|
|
||||||
orderUserDomain.setUserId(userDomain.getWorkUserId());
|
|
||||||
orderUserDomainList.add(orderUserDomain);
|
|
||||||
|
|
||||||
phoneList = userDomain.getPhone() + "," + phoneList;
|
|
||||||
}
|
|
||||||
orderMapper.insertOrderUser(orderUserDomainList);
|
|
||||||
|
|
||||||
if(StringUtils.isNotEmpty(phoneList) && domain.getStatus() != null && domain.getStatus()==1){
|
|
||||||
sendSms(phoneList, domain.getWorkOrderId().toString());
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean replyOrder(XhpcWorkOrderDomain domain){
|
|
||||||
XhpcWorkOrderDomain orderDomain = orderMapper.selectByPrimaryKey(domain.getWorkOrderId());
|
|
||||||
if(orderDomain == null){
|
|
||||||
throw new RuntimeException("订单不存在");
|
|
||||||
}
|
|
||||||
|
|
||||||
orderDomain.setReason(domain.getReason());
|
|
||||||
orderDomain.setDisposalMethod(domain.getDisposalMethod());
|
|
||||||
orderDomain.setStatus(Short.valueOf("2"));
|
|
||||||
orderDomain.setRemark(domain.getRemark());
|
|
||||||
orderMapper.updateByPrimaryKeySelective(orderDomain);
|
|
||||||
|
|
||||||
for(XhpcWorkOrderImageDomain imageDomain: domain.getReplyImgList()){
|
|
||||||
imageDomain.setOrderId(domain.getWorkOrderId());
|
|
||||||
imageDomain.setType(Short.valueOf("2"));
|
|
||||||
imageDomain.setDelFlag(Short.valueOf("0"));
|
|
||||||
imageMapper.insertSelective(imageDomain);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Boolean insertOrder(XhpcWorkOrderDomain domain){
|
|
||||||
|
|
||||||
List<XhpcWorkUserDomain> userDomains = new ArrayList<>();
|
List<XhpcWorkUserDomain> userDomains = new ArrayList<>();
|
||||||
if(domain.getUserList() != null){
|
if(domain.getUserList() != null){
|
||||||
for(XhpcWorkUserDomain userDomain: domain.getUserList()){
|
for(XhpcWorkUserDomain userDomain: domain.getUserList()){
|
||||||
@ -151,25 +84,108 @@ public class WorkOrderServiceImpl implements WorkOrderService {
|
|||||||
|
|
||||||
// 绑定人员
|
// 绑定人员
|
||||||
List<XhpcWorkOrderUserDomain> orderUserDomainList = new ArrayList<>();
|
List<XhpcWorkOrderUserDomain> orderUserDomainList = new ArrayList<>();
|
||||||
String phoneList = "";
|
StringBuilder userIdList = new StringBuilder();
|
||||||
for (XhpcWorkUserDomain userDomain: domain.getUserList()){
|
for (XhpcWorkUserDomain userDomain: domain.getUserList()){
|
||||||
XhpcWorkOrderUserDomain orderUserDomain = new XhpcWorkOrderUserDomain();
|
XhpcWorkOrderUserDomain orderUserDomain = new XhpcWorkOrderUserDomain();
|
||||||
orderUserDomain.setOrderId(domain.getWorkOrderId());
|
orderUserDomain.setOrderId(domain.getWorkOrderId());
|
||||||
orderUserDomain.setUserId(userDomain.getWorkUserId());
|
orderUserDomain.setUserId(userDomain.getWorkUserId());
|
||||||
orderUserDomainList.add(orderUserDomain);
|
orderUserDomainList.add(orderUserDomain);
|
||||||
phoneList = userDomain.getPhone() + "," + phoneList;
|
userIdList.insert(0, userDomain.getWorkUserId() + ",");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(orderUserDomainList.size() > 0){
|
if(orderUserDomainList.size() > 0){
|
||||||
orderMapper.insertOrderUser(orderUserDomainList);
|
orderMapper.insertOrderUser(orderUserDomainList);
|
||||||
}
|
}
|
||||||
// todo 发送多人短信
|
if(StringUtils.isNotEmpty(userIdList.toString()) && domain.getStatus() != null && domain.getStatus()==1){
|
||||||
if(StringUtils.isNotEmpty(phoneList) && domain.getStatus() != null && domain.getStatus()==1){
|
sendSms(userIdList.toString(), domain.getWorkOrderId().toString());
|
||||||
sendSms(phoneList, domain.getWorkOrderId().toString());
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Boolean updateDomain(XhpcWorkOrderDomain domain){
|
||||||
|
orderMapper.updateByPrimaryKeySelective(domain);
|
||||||
|
|
||||||
|
List<Long> imageIds = imageMapper.selectImageIdByOrderIdAndType(domain.getWorkOrderId(), 1);
|
||||||
|
|
||||||
|
for (XhpcWorkOrderImageDomain imageDomain: domain.getQuestionImgList()){
|
||||||
|
if( imageDomain.getOrderImageId() == null || StringUtils.isEmpty(imageDomain.getOrderImageId().toString())){
|
||||||
|
imageDomain.setOrderId(domain.getWorkOrderId());
|
||||||
|
imageDomain.setType(Short.valueOf("1"));
|
||||||
|
imageDomain.setDelFlag(Short.valueOf("0"));
|
||||||
|
imageMapper.insertSelective(imageDomain);
|
||||||
|
} else {
|
||||||
|
if(imageIds.contains(imageDomain.getOrderImageId())){
|
||||||
|
imageIds.remove(imageDomain.getOrderImageId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(imageIds.size() > 0){
|
||||||
|
imageMapper.deleteByImageIds(imageIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新处理人
|
||||||
|
StringBuilder userIdList = new StringBuilder();
|
||||||
|
orderMapper.deleteOrderUserByOrderId(domain.getWorkOrderId());
|
||||||
|
List<XhpcWorkOrderUserDomain> orderUserDomainList = new ArrayList<>();
|
||||||
|
for(XhpcWorkUserDomain userDomain: domain.getUserList()){
|
||||||
|
XhpcWorkOrderUserDomain orderUserDomain = new XhpcWorkOrderUserDomain();
|
||||||
|
orderUserDomain.setOrderId(domain.getWorkOrderId());
|
||||||
|
orderUserDomain.setUserId(userDomain.getWorkUserId());
|
||||||
|
orderUserDomainList.add(orderUserDomain);
|
||||||
|
|
||||||
|
userIdList.insert(0, userDomain.getWorkUserId() + ",");
|
||||||
|
}
|
||||||
|
orderMapper.insertOrderUser(orderUserDomainList);
|
||||||
|
|
||||||
|
if(StringUtils.isNotEmpty(userIdList.toString()) && domain.getStatus() != null && domain.getStatus()==1){
|
||||||
|
sendSms(userIdList.toString(), domain.getWorkOrderId().toString());
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean updateOrder(XhpcWorkOrderDomain domain){
|
||||||
|
if(domain.getWorkOrderId() == null || domain.getWorkOrderId() < 1L){
|
||||||
|
return insertDomain(domain);
|
||||||
|
} else {
|
||||||
|
return updateDomain(domain);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean replyOrder(XhpcWorkOrderDomain domain){
|
||||||
|
XhpcWorkOrderDomain orderDomain = orderMapper.selectByPrimaryKey(domain.getWorkOrderId());
|
||||||
|
if(orderDomain == null){
|
||||||
|
throw new RuntimeException("订单不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
orderDomain.setReason(domain.getReason());
|
||||||
|
orderDomain.setDisposalMethod(domain.getDisposalMethod());
|
||||||
|
orderDomain.setStatus(Short.valueOf("2"));
|
||||||
|
orderDomain.setRemark(domain.getRemark());
|
||||||
|
orderMapper.updateByPrimaryKeySelective(orderDomain);
|
||||||
|
|
||||||
|
for(XhpcWorkOrderImageDomain imageDomain: domain.getReplyImgList()){
|
||||||
|
imageDomain.setOrderId(domain.getWorkOrderId());
|
||||||
|
imageDomain.setType(Short.valueOf("2"));
|
||||||
|
imageDomain.setDelFlag(Short.valueOf("0"));
|
||||||
|
imageMapper.insertSelective(imageDomain);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean insertOrder(XhpcWorkOrderDomain domain){
|
||||||
|
if(domain.getWorkOrderId() == null || domain.getWorkOrderId() < 1L){
|
||||||
|
return insertDomain(domain);
|
||||||
|
} else {
|
||||||
|
return updateDomain(domain);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteOrder(Long orderId) throws Exception {
|
public Boolean deleteOrder(Long orderId) throws Exception {
|
||||||
@ -214,7 +230,13 @@ public class WorkOrderServiceImpl implements WorkOrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void sendSms(String phoneList, String orderId){
|
private void sendSms(String userIds, String orderId){
|
||||||
|
|
||||||
|
String phoneList = workUserService.getPhoneListByUserIds(userIds);
|
||||||
|
if(StringUtils.isEmpty(phoneList)){
|
||||||
|
throw new CustomException("没有待发送短信");
|
||||||
|
}
|
||||||
|
|
||||||
HashMap<String, String> paramMap = new HashMap<>();
|
HashMap<String, String> paramMap = new HashMap<>();
|
||||||
paramMap.put("orderNo", orderId);
|
paramMap.put("orderNo", orderId);
|
||||||
paramMap.put("phone", phoneList);
|
paramMap.put("phone", phoneList);
|
||||||
|
|||||||
@ -209,6 +209,16 @@ public class WorkUserServiceImpl implements WorkUserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPhoneListByUserIds(String userIds){
|
||||||
|
if(StringUtils.isEmpty(userIds)){
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return workUserMapper.selectPhoneListByIds(userIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void getUserConvert(SysUser user, XhpcWorkUserDomain domain){
|
private void getUserConvert(SysUser user, XhpcWorkUserDomain domain){
|
||||||
user.setUserName(domain.getLoginName());
|
user.setUserName(domain.getLoginName());
|
||||||
user.setNickName(domain.getUserName());
|
user.setNickName(domain.getUserName());
|
||||||
|
|||||||
@ -154,4 +154,9 @@
|
|||||||
</if>
|
</if>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectPhoneListByIds" resultType="java.lang.String">
|
||||||
|
SELECT GROUP_CONCAT(phone) from xhpc_work_user where find_in_set(work_user_id, #{userIds})
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
x
Reference in New Issue
Block a user