更新自动生成工单的修改
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 '领取次数',
|
||||
`auto_receive` 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表示全部)',
|
||||
`com_user_list` text COMMENT '社区用户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',
|
||||
`template_name` varchar(100) DEFAULT NULL COMMENT '模板名称',
|
||||
`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 '开始时间',
|
||||
`end_time` datetime DEFAULT NULL 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',
|
||||
`start_time` time DEFAULT NULL COMMENT '开始时间',
|
||||
`end_time` time DEFAULT NULL COMMENT '结束时间',
|
||||
`power_price` decimal(10, 2) DEFAULT NULL COMMENT '电费',
|
||||
`service_price` decimal(10, 2) DEFAULT null COMMENT '服务费',
|
||||
`power_price` decimal(10, 4) DEFAULT NULL COMMENT '电费',
|
||||
`service_price` decimal(10, 4) DEFAULT null COMMENT '服务费',
|
||||
`compute_formula` varchar(200) DEFAULT NULL COMMENT '计算公式',
|
||||
`create_time` datetime 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 '流量方名称',
|
||||
`compute_type` smallint(4) DEFAULT NULL COMMENT '计算类型(1-总金额,2-服务费,3-电量)',
|
||||
`compute_formula` varchar(200) DEFAULT NULL COMMENT '默认计算公式',
|
||||
`power_price` decimal(10, 2) DEFAULT NULL COMMENT '默认电费',
|
||||
`service_price` decimal(10, 2) DEFAULT NULL COMMENT '默认服务费',
|
||||
`power_price` decimal(10, 4) DEFAULT NULL COMMENT '默认电费',
|
||||
`service_price` decimal(10, 4) DEFAULT NULL COMMENT '默认服务费',
|
||||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||||
`station_list` text COMMENT '参与场站列表',
|
||||
@ -954,7 +954,7 @@ CREATE TABLE `xhpc_activity_record`
|
||||
`activity_id` int(11) DEFAULT NULL COMMENT '活动ID',
|
||||
`source` smallint(4) DEFAULT NULL COMMENT '人员类型(0 C端用户 1 流量方用户 2社区用户 3B端用户)',
|
||||
`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 '领取时间',
|
||||
PRIMARY KEY (`activity_record_id`)
|
||||
) 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);
|
||||
|
||||
int deleteByImageIds(List<Long> imageIds);
|
||||
int deleteByImageIds(@Param("imageIds") List<Long> imageIds);
|
||||
|
||||
int deleteByPrimaryKey(Long orderImageId);
|
||||
|
||||
|
||||
@ -29,5 +29,6 @@ public interface XhpcWorkUserMapper {
|
||||
|
||||
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);
|
||||
|
||||
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.core.domain.R;
|
||||
import com.xhpc.common.core.exception.CustomException;
|
||||
import com.xhpc.common.core.utils.StringUtils;
|
||||
import com.xhpc.activity.domain.*;
|
||||
import com.xhpc.activity.mapper.*;
|
||||
@ -54,75 +55,7 @@ public class WorkOrderServiceImpl implements WorkOrderService {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
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){
|
||||
|
||||
private Boolean insertDomain(XhpcWorkOrderDomain domain){
|
||||
List<XhpcWorkUserDomain> userDomains = new ArrayList<>();
|
||||
if(domain.getUserList() != null){
|
||||
for(XhpcWorkUserDomain userDomain: domain.getUserList()){
|
||||
@ -151,25 +84,108 @@ public class WorkOrderServiceImpl implements WorkOrderService {
|
||||
|
||||
// 绑定人员
|
||||
List<XhpcWorkOrderUserDomain> orderUserDomainList = new ArrayList<>();
|
||||
String phoneList = "";
|
||||
StringBuilder userIdList = new StringBuilder();
|
||||
for (XhpcWorkUserDomain userDomain: domain.getUserList()){
|
||||
XhpcWorkOrderUserDomain orderUserDomain = new XhpcWorkOrderUserDomain();
|
||||
orderUserDomain.setOrderId(domain.getWorkOrderId());
|
||||
orderUserDomain.setUserId(userDomain.getWorkUserId());
|
||||
orderUserDomainList.add(orderUserDomain);
|
||||
phoneList = userDomain.getPhone() + "," + phoneList;
|
||||
userIdList.insert(0, userDomain.getWorkUserId() + ",");
|
||||
}
|
||||
|
||||
if(orderUserDomainList.size() > 0){
|
||||
orderMapper.insertOrderUser(orderUserDomainList);
|
||||
}
|
||||
// todo 发送多人短信
|
||||
if(StringUtils.isNotEmpty(phoneList) && domain.getStatus() != null && domain.getStatus()==1){
|
||||
sendSms(phoneList, domain.getWorkOrderId().toString());
|
||||
if(StringUtils.isNotEmpty(userIdList.toString()) && domain.getStatus() != null && domain.getStatus()==1){
|
||||
sendSms(userIdList.toString(), domain.getWorkOrderId().toString());
|
||||
}
|
||||
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
|
||||
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<>();
|
||||
paramMap.put("orderNo", orderId);
|
||||
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){
|
||||
user.setUserName(domain.getLoginName());
|
||||
user.setNickName(domain.getUserName());
|
||||
|
||||
@ -154,4 +154,9 @@
|
||||
</if>
|
||||
|
||||
</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>
|
||||
Loading…
x
Reference in New Issue
Block a user