|
@@ -0,0 +1,121 @@
|
|
|
+package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.yonge.cooleshow.biz.dal.entity.CooperateTenant;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.mapper.CooperateTenantMapper;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.CooperateTenantService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.SysConfigService;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.SysMessageService;
|
|
|
+import com.yonge.cooleshow.biz.dal.wrapper.CooperateTenantWrapper;
|
|
|
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
|
|
|
+import com.yonge.toolset.base.exception.BizException;
|
|
|
+import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 合作机构
|
|
|
+ * 2023-11-06 14:05:19
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class CooperateTenantServiceImpl extends ServiceImpl<CooperateTenantMapper, CooperateTenant> implements CooperateTenantService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysMessageService sysMessageService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysConfigService sysConfigService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询详情
|
|
|
+ *
|
|
|
+ * @param id 详情ID
|
|
|
+ * @return CooperateTenant
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public CooperateTenant detail(Long id) {
|
|
|
+
|
|
|
+ return baseMapper.selectById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页查询
|
|
|
+ *
|
|
|
+ * @param page IPage<CooperateTenant>
|
|
|
+ * @param query CooperateTenantWrapper.CooperateTenantQuery
|
|
|
+ * @return IPage<CooperateTenant>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public IPage<CooperateTenant> selectPage(IPage<CooperateTenant> page,
|
|
|
+ CooperateTenantWrapper.CooperateTenantQuery query) {
|
|
|
+
|
|
|
+ return page.setRecords(baseMapper.selectPage(page, query));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加
|
|
|
+ *
|
|
|
+ * @param cooperateTenant CooperateTenantWrapper.CooperateTenant
|
|
|
+ * @return Boolean
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public Boolean add(CooperateTenantWrapper.CooperateTenant cooperateTenant) {
|
|
|
+ String phone = cooperateTenant.getPhone();
|
|
|
+ CooperateTenant one = this.lambdaQuery().eq(CooperateTenant::getPhone, phone).last("limit 1").one();
|
|
|
+ if (one != null) {
|
|
|
+ one.setCooperateTenantName(cooperateTenant.getCooperateTenantName());
|
|
|
+ one.setCooperateTenantNature(cooperateTenant.getCooperateTenantNature());
|
|
|
+ one.setContacts(cooperateTenant.getContacts());
|
|
|
+ one.setUpdateTime(new Date());
|
|
|
+ this.updateById(one);
|
|
|
+ } else {
|
|
|
+ this.save(JSON.parseObject(cooperateTenant.jsonString(), CooperateTenant.class));
|
|
|
+ }
|
|
|
+ // 发送短信
|
|
|
+ String configValue = sysConfigService.findConfigValue(SysConfigConstant.ADD_COOPERATE_TENANT_SEND_MSG_PHONE);
|
|
|
+ if (StringUtils.isNotEmpty(configValue)) {
|
|
|
+ try {
|
|
|
+ Map<Long, String> receivers = new HashMap<>();
|
|
|
+ receivers.put(0L, configValue);
|
|
|
+ sysMessageService.batchSendMessage(
|
|
|
+ MessageSenderPluginContext.MessageSender.AWSMS,
|
|
|
+ MessageTypeEnum.ADD_COOPERATE_TENANT,
|
|
|
+ receivers, null, 0, null, null,
|
|
|
+ cooperateTenant.getCooperateTenantName(),
|
|
|
+ cooperateTenant.getContacts(),
|
|
|
+ cooperateTenant.getCooperateTenantNature(),
|
|
|
+ cooperateTenant.getPhone()
|
|
|
+ );
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("添加合作机构失败,发送短信失败,{}", e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新
|
|
|
+ *
|
|
|
+ * @param cooperateTenant CooperateTenantWrapper.CooperateTenant
|
|
|
+ * @return Boolean
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean update(CooperateTenantWrapper.CooperateTenant cooperateTenant) {
|
|
|
+
|
|
|
+ return this.updateById(JSON.parseObject(cooperateTenant.jsonString(), CooperateTenant.class));
|
|
|
+ }
|
|
|
+}
|