|
|
@@ -1,23 +1,25 @@
|
|
|
package jp.yamoto.farm.crm.biz.bss.service.impl;
|
|
|
|
|
|
import jp.yamoto.farm.common.core.domain.model.LoginUser;
|
|
|
-import jp.yamoto.farm.common.core.enums.DelFlgEnum;
|
|
|
import jp.yamoto.farm.common.exception.ServiceException;
|
|
|
import jp.yamoto.farm.common.utils.*;
|
|
|
import jp.yamoto.farm.common.utils.uuid.IdUtils;
|
|
|
import jp.yamoto.farm.crm.biz.bss.domain.bo.BssAskBo;
|
|
|
+import jp.yamoto.farm.crm.biz.bss.domain.bo.BssAskSearchBo;
|
|
|
import jp.yamoto.farm.crm.biz.bss.domain.entity.BssAsk;
|
|
|
import jp.yamoto.farm.crm.biz.bss.domain.entity.BssAskHistory;
|
|
|
+import jp.yamoto.farm.crm.biz.bss.domain.vo.BssAskListVo;
|
|
|
import jp.yamoto.farm.crm.biz.bss.domain.vo.BssAskVo;
|
|
|
+import jp.yamoto.farm.crm.biz.bss.domain.vo.BssOrderDetailVo;
|
|
|
import jp.yamoto.farm.crm.biz.bss.mapper.BssAskHistoryMapper;
|
|
|
import jp.yamoto.farm.crm.biz.bss.mapper.BssAskMapper;
|
|
|
import jp.yamoto.farm.crm.biz.bss.service.IBssAskService;
|
|
|
import jp.yamoto.farm.crm.biz.master.domain.bo.MastCustomerBo;
|
|
|
import jp.yamoto.farm.crm.biz.master.domain.bo.MastFarmerBo;
|
|
|
-import jp.yamoto.farm.crm.biz.master.domain.entity.MastFarmer;
|
|
|
import jp.yamoto.farm.crm.biz.master.domain.vo.MastFarmerVo;
|
|
|
import jp.yamoto.farm.crm.biz.master.service.IMastCustomerService;
|
|
|
import jp.yamoto.farm.crm.biz.master.service.IMastFarmerService;
|
|
|
+import jp.yamoto.farm.crm.biz.bss.service.IBssOrderService;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -46,6 +48,9 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
@Autowired
|
|
|
private IMastFarmerService mastFarmerService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IBssOrderService orderService;
|
|
|
+
|
|
|
/**
|
|
|
* お問い合わせの検索
|
|
|
*
|
|
|
@@ -70,7 +75,8 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
|
|
|
// 注文情報
|
|
|
if (ValueUtils.isNotEmpty(bssAskVo.getOrderId())) {
|
|
|
-
|
|
|
+ BssOrderDetailVo detailVo= orderService.selectByOrderId(bssAskVo.getOrderId());
|
|
|
+ bssAskVo.setOrderDetailVo(detailVo);
|
|
|
}
|
|
|
|
|
|
// 対応履歴
|
|
|
@@ -84,15 +90,13 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
/**
|
|
|
* お問い合わせのリストを検索
|
|
|
*
|
|
|
- * @param bssAskBo お問い合わせパラメータ対象
|
|
|
+ * @param bssAskSearchBo お問い合わせパラメータ対象
|
|
|
* @return お問い合わせリスト
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<BssAskVo> selectList(BssAskBo bssAskBo) {
|
|
|
+ public List<BssAskListVo> selectList(BssAskSearchBo bssAskSearchBo) {
|
|
|
|
|
|
- BssAsk bssAsk = new BssAsk();
|
|
|
- BeanUtils.copyProperties(bssAskBo, bssAsk);
|
|
|
- return bssAskMapper.selectList(bssAsk);
|
|
|
+ return bssAskMapper.selectList(bssAskSearchBo);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -120,7 +124,7 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
int result = bssAskMapper.insert(bssAsk);
|
|
|
if (result > 0) {
|
|
|
// お問い合わせ情報対応履歴登録
|
|
|
- result = this.insertAskHistory(bssAsk);
|
|
|
+ result = this.insertAskHistory(bssAsk,false);
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
@@ -139,7 +143,7 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
BeanUtils.copyProperties(bssAskBo, bssAsk);
|
|
|
|
|
|
// 保存前にデータを構築
|
|
|
- BssAsk bssAskOld = this.buildAskInfo4Save(bssAsk);
|
|
|
+ this.buildAskInfo4Save(bssAsk);
|
|
|
|
|
|
int result = bssAskMapper.update(bssAsk);
|
|
|
if (result < 1) {
|
|
|
@@ -147,8 +151,8 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
}
|
|
|
|
|
|
// お問い合わせ情報対応履歴登録
|
|
|
- if (ValueUtils.isNotEmpty(bssAskOld)) {
|
|
|
- result = this.insertAskHistory(bssAskOld);
|
|
|
+ if (ValueUtils.isNotEmpty(bssAsk)) {
|
|
|
+ result = this.insertAskHistory(bssAsk,true);
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
@@ -183,12 +187,15 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
* @param bssAsk お問い合わせ情報
|
|
|
* @return 更新前にデータ
|
|
|
*/
|
|
|
- private BssAsk buildAskInfo4Save(BssAsk bssAsk) {
|
|
|
+ private void buildAskInfo4Save(BssAsk bssAsk) {
|
|
|
// ログインユーザー情報を取得します
|
|
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
|
|
|
// ユーザーID
|
|
|
bssAsk.setUserCd(loginUser.getUserCode());
|
|
|
+ // 最終更新情報
|
|
|
+ bssAsk.setFinalAnswerUser(loginUser.getUserCode());
|
|
|
+ bssAsk.setFinalUpdateTime(DateUtils.getTime());
|
|
|
|
|
|
// ID が空の場合は、ID を設定します。
|
|
|
if (ValueUtils.isEmpty(bssAsk.getId())) {
|
|
|
@@ -206,16 +213,11 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
|
|
|
// 問合せ受付日
|
|
|
bssAsk.setAskDate(DateUtils.getDate());
|
|
|
-
|
|
|
- return null;
|
|
|
} else {
|
|
|
- // 更新前にデータを取得
|
|
|
- BssAskVo bssAskVo = this.bssAskMapper.selectById(bssAsk.getId());
|
|
|
- bssAsk.setAskNo(bssAskVo.getAskNo());
|
|
|
- bssAsk.setAskDate(bssAskVo.getAskDate());
|
|
|
- BssAsk bssAskOld = new BssAsk();
|
|
|
- BeanUtils.copyProperties(bssAskVo, bssAskOld);
|
|
|
- return bssAskOld;
|
|
|
+ // 顧客名
|
|
|
+ if (ValueUtils.isEmpty(bssAsk.getAskNo())) {
|
|
|
+ throw new ServiceException(MessageUtils.message("E0003", MessageUtils.message("label.askNo")));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -224,22 +226,25 @@ public class BssAskServiceImpl implements IBssAskService {
|
|
|
* お問い合わせ情報対応履歴登録
|
|
|
*
|
|
|
* @param bssAsk お問い合わせ情報
|
|
|
+ * @param isAskUpdate 更新フラグ
|
|
|
* @return 結果
|
|
|
*/
|
|
|
- private int insertAskHistory(BssAsk bssAsk) {
|
|
|
+ private int insertAskHistory(BssAsk bssAsk,boolean isAskUpdate) {
|
|
|
|
|
|
BssAskHistory bssAskHistory = new BssAskHistory();
|
|
|
bssAskHistory.setId(IdUtils.nextIdStr());
|
|
|
// 問合せ番号
|
|
|
bssAskHistory.setAskNo(bssAsk.getAskNo());
|
|
|
// シリアルナンバー
|
|
|
- bssAskHistory.setSeqNo(bssAsk.getVersion() + 1);
|
|
|
+ bssAskHistory.setSeqNo(isAskUpdate ? bssAsk.getVersion() + 1 : 0);
|
|
|
// お問い合わせ・対応内容
|
|
|
bssAskHistory.setAskAnswerRemark(bssAsk.getAskAnswerRemark());
|
|
|
// 対応者
|
|
|
bssAskHistory.setAnswerUser(bssAsk.getUserCd());
|
|
|
// 対応時間
|
|
|
bssAskHistory.setAnswerTime(DateUtils.getTime());
|
|
|
+ bssAskHistory.setCategory1(bssAsk.getCategory1());
|
|
|
+ bssAskHistory.setCategory2(bssAsk.getCategory2());
|
|
|
|
|
|
return bssAskHistoryMapper.insert(bssAskHistory);
|
|
|
}
|