|
@@ -2,9 +2,7 @@ package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
-import com.ym.mec.biz.dal.dao.CooperationOrganDao;
|
|
|
|
-import com.ym.mec.biz.dal.dao.ReplacementInstrumentDao;
|
|
|
|
-import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
|
|
|
|
+import com.ym.mec.biz.dal.dao.*;
|
|
import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
|
|
import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
|
|
import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatHead;
|
|
import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatHead;
|
|
import com.ym.mec.biz.dal.dto.ReplacementPayDto;
|
|
import com.ym.mec.biz.dal.dto.ReplacementPayDto;
|
|
@@ -23,13 +21,13 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
|
|
|
|
|
+import com.ym.mec.util.http.HttpUtil;
|
|
import org.apache.poi.ss.formula.functions.T;
|
|
import org.apache.poi.ss.formula.functions.T;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
-import com.ym.mec.biz.dal.dao.ReplacementInstrumentActivityDao;
|
|
|
|
-
|
|
|
|
|
|
+import org.springframework.http.HttpStatus;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
@@ -66,9 +64,11 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
|
|
private SysUserCashAccountDetailService sysUserCashAccountDetailService;
|
|
private SysUserCashAccountDetailService sysUserCashAccountDetailService;
|
|
@Autowired
|
|
@Autowired
|
|
private SysMessageService sysMessageService;
|
|
private SysMessageService sysMessageService;
|
|
-
|
|
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private CooperationOrganService cooperationOrganService;
|
|
private CooperationOrganService cooperationOrganService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ReplacementInstrumentCooperationDao replacementInstrumentCooperationDao;
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
|
@@ -86,23 +86,46 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
|
|
}
|
|
}
|
|
replacementInstrumentActivity.setUserId(sysUser.getId());
|
|
replacementInstrumentActivity.setUserId(sysUser.getId());
|
|
//如果用户是43分部,那么修改用户信息
|
|
//如果用户是43分部,那么修改用户信息
|
|
- if(sysUser.getOrganId() == 43){
|
|
|
|
- CooperationOrgan cooperationOrgan = cooperationOrganService.get(replacementInstrumentActivity.getCooperationOrganId());
|
|
|
|
|
|
+ if (sysUser.getOrganId() == 43) {
|
|
|
|
+ CooperationOrgan cooperationOrgan = cooperationOrganService.get(replacementInstrumentActivity.getCooperationOrganId());
|
|
if (cooperationOrgan != null) {
|
|
if (cooperationOrgan != null) {
|
|
- sysUser.setOrganId(cooperationOrgan.getOrganId());
|
|
|
|
- sysUser.setUpdateTime(new Date());
|
|
|
|
- sysUserFeignService.updateSysUser(sysUser);
|
|
|
|
|
|
+ sysUser.setOrganId(cooperationOrgan.getOrganId());
|
|
|
|
+ sysUser.setUpdateTime(new Date());
|
|
|
|
+ sysUserFeignService.updateSysUser(sysUser);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.getByCooperationId(replacementInstrumentActivity.getCooperationOrganId());
|
|
//如果提交过调查问卷,那么覆盖之前的记录
|
|
//如果提交过调查问卷,那么覆盖之前的记录
|
|
ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId());
|
|
ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId());
|
|
|
|
+ if (replacementInstrumentCooperation != null && replacementInstrumentCooperation.getOpenPay().equals(YesOrNoEnum.YES)) {
|
|
|
|
+ replacementInstrumentActivity.setOpenFlag(1);
|
|
|
|
+ }
|
|
if (activity != null) {
|
|
if (activity != null) {
|
|
|
|
+ if (!activity.getPayStatus().equals(0)) {
|
|
|
|
+ throw new BizException("您已参与调查,谢谢参与!");
|
|
|
|
+ }
|
|
//覆盖之前的数据
|
|
//覆盖之前的数据
|
|
replacementInstrumentActivity.setId(activity.getId());
|
|
replacementInstrumentActivity.setId(activity.getId());
|
|
replacementInstrumentActivityDao.update(replacementInstrumentActivity);
|
|
replacementInstrumentActivityDao.update(replacementInstrumentActivity);
|
|
} else {
|
|
} else {
|
|
replacementInstrumentActivityDao.insert(replacementInstrumentActivity);
|
|
replacementInstrumentActivityDao.insert(replacementInstrumentActivity);
|
|
}
|
|
}
|
|
|
|
+ //已开启缴费推送购买链接
|
|
|
|
+ if (replacementInstrumentActivity.getOpenFlag().equals(1) && replacementInstrumentActivity.getInstrumentsId() != null) {
|
|
|
|
+ ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
|
|
|
|
+ Map<Integer, String> userMap = new HashMap<>();
|
|
|
|
+ Map<Integer, String> userPhoneMap = new HashMap<>();
|
|
|
|
+ Integer userId = replacementInstrumentActivity.getUserId();
|
|
|
|
+ String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
|
|
+ String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
|
|
|
|
+ userMap.put(userId, userId.toString());
|
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
|
|
|
|
+ userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", replacementInstrument.getBrand(), "");
|
|
|
|
+
|
|
|
|
+ userPhoneMap.put(replacementInstrumentActivity.getUserId(), replacementInstrumentActivity.getMobileNo());
|
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
|
|
|
|
+ userPhoneMap, null, 0, null, "STUDENT", replacementInstrument.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
|
|
|
|
+ }
|
|
return replacementInstrumentActivity;
|
|
return replacementInstrumentActivity;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -141,15 +164,21 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public Map pay(ReplacementPayDto replacementPayDto) throws Exception {
|
|
public Map pay(ReplacementPayDto replacementPayDto) throws Exception {
|
|
ReplacementInstrumentActivity replacementInstrumentActivity = replacementInstrumentActivityDao.getLock(replacementPayDto.getId());
|
|
ReplacementInstrumentActivity replacementInstrumentActivity = replacementInstrumentActivityDao.getLock(replacementPayDto.getId());
|
|
- if (replacementInstrumentActivity == null) {
|
|
|
|
- throw new BizException("乐器置换不存在,请核查");
|
|
|
|
- }
|
|
|
|
- if (replacementInstrumentActivity.getInstrumentsId() == null || replacementInstrumentActivity.getInstrumentsId() == 0) {
|
|
|
|
- throw new BizException("没有置换的乐器,请核查");
|
|
|
|
- }
|
|
|
|
Integer userId = replacementInstrumentActivity.getUserId();
|
|
Integer userId = replacementInstrumentActivity.getUserId();
|
|
|
|
+
|
|
|
|
+ //处理关闭订单
|
|
|
|
+ if (replacementInstrumentActivity.getPayStatus().equals(1) && replacementPayDto.getRePay()) {
|
|
|
|
+ StudentPaymentOrder oldOrder = studentPaymentOrderService.getUserReplacementIngOrder(userId, replacementInstrumentActivity.getId());
|
|
|
|
+ if (oldOrder != null) {
|
|
|
|
+ oldOrder.setStatus(DealStatusEnum.FAILED);
|
|
|
|
+ oldOrder.setMemo("用户手动关闭");
|
|
|
|
+ studentPaymentOrderService.callOrderCallBack(oldOrder);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
|
|
ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
|
|
BigDecimal orderAmount = replacementInstrument.getSalePrice();
|
|
BigDecimal orderAmount = replacementInstrument.getSalePrice();
|
|
BigDecimal amount = replacementPayDto.getAmount(); //扣除余额之前的金额
|
|
BigDecimal amount = replacementPayDto.getAmount(); //扣除余额之前的金额
|
|
@@ -326,4 +355,34 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
|
|
}
|
|
}
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ReplacementInstrumentActivityStatDto getInfo(Integer id) {
|
|
|
|
+ ReplacementInstrumentActivityStatDto info = replacementInstrumentActivityDao.getInfo(id);
|
|
|
|
+ if (info != null && info.getOpenFlag().equals(0)) {
|
|
|
|
+ ReplacementInstrumentCooperation byCooperationId = replacementInstrumentCooperationDao.getByCooperationId(info.getCooperationOrganId());
|
|
|
|
+ if (byCooperationId != null && byCooperationId.getOpenPay().equals(YesOrNoEnum.YES)) {
|
|
|
|
+ info.setOpenFlag(1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return info;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public PageInfo<ReplacementInstrumentActivityStatDto> getPageList(ReplacementInstrumentActivityQueryInfo queryInfo) {
|
|
|
|
+ PageInfo<ReplacementInstrumentActivityStatDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
|
+
|
|
|
|
+ List<ReplacementInstrumentActivityStatDto> dataList = new ArrayList<>();
|
|
|
|
+ int count = replacementInstrumentActivityDao.getCount(params);
|
|
|
|
+
|
|
|
|
+ if (count > 0) {
|
|
|
|
+ pageInfo.setTotal(count);
|
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
|
+ dataList = replacementInstrumentActivityDao.getPageList(params);
|
|
|
|
+ }
|
|
|
|
+ pageInfo.setRows(dataList);
|
|
|
|
+ return pageInfo;
|
|
|
|
+ }
|
|
}
|
|
}
|