package com.sinata.modular.member.service.impl;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.sinata.common.enums.EnumNoticeMessageType;
|
import com.sinata.core.shiro.ShiroKit;
|
import com.sinata.modular.member.dao.MemMerchantMapper;
|
import com.sinata.modular.member.model.MemMerchant;
|
import com.sinata.modular.member.model.MemMerchantBank;
|
import com.sinata.modular.member.model.MemUser;
|
import com.sinata.modular.member.model.MerchantSysUser;
|
import com.sinata.modular.member.service.IMemMerchantBankService;
|
import com.sinata.modular.member.service.IMemMerchantService;
|
import com.sinata.modular.member.service.IMemUserService;
|
import com.sinata.modular.member.service.IMerchantSysUserService;
|
import com.sinata.modular.system.model.TNoticeMessage;
|
import com.sinata.modular.system.service.ITNoticeMessageService;
|
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.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 商家信息 服务实现类
|
* </p>
|
*
|
* @author goku
|
* @since 2023-03-23
|
*/
|
@Service
|
@Transactional
|
public class MemMerchantServiceImpl extends ServiceImpl<MemMerchantMapper, MemMerchant> implements IMemMerchantService {
|
|
@Autowired
|
private IMemUserService memUserService;
|
|
@Autowired
|
private IMerchantSysUserService merchantSysUserService;
|
|
@Autowired
|
private IMemMerchantBankService memMerchantBankService;
|
|
@Autowired
|
private ITNoticeMessageService itNoticeMessageService;
|
|
@Override
|
public void wrapperMapMerchant(List<Map<String, Object>> list, String userKey) {
|
// 用户ID串
|
Object[] merchantIds = list.stream().map(o -> o.get(userKey)).collect(Collectors.toList()).toArray();
|
// 用户列表
|
List<MemMerchant> merchantList = baseMapper.selectList(
|
new EntityWrapper<MemMerchant>()
|
.setSqlSelect("id,merchant_name merchantName")
|
.in("id", merchantIds)
|
);
|
|
// 封装数据
|
for (Map<String, Object> map : list) {
|
for (MemMerchant u : merchantList) {
|
if (u.getId().toString().equals(map.get(userKey) + "")) {
|
map.put(userKey + "_merchantName", u.getMerchantName());
|
|
}
|
}
|
}
|
}
|
|
@Override
|
public int findMerchantGoodsCount(Long merchantId) {
|
return this.baseMapper.findMerchantGoodsCount(merchantId);
|
}
|
|
@Override
|
public void auditMerchant(Integer memMerchantId, Integer state, String auditMark, String classMerchantJson) {
|
this.updateForSet("state = " + state + ",audit_mark='" + auditMark + "',audit_state=" + state, new EntityWrapper<MemMerchant>().eq("id", memMerchantId));
|
|
MemMerchant memMerchant = this.selectById(memMerchantId);
|
TNoticeMessage tNoticeMessage = new TNoticeMessage();
|
|
tNoticeMessage.setCreateTime(new Date());
|
tNoticeMessage.setIsDelete(0);
|
tNoticeMessage.setIsRead(0);
|
tNoticeMessage.setOtherId(memMerchantId.toString());
|
tNoticeMessage.setUserId(new Integer(memMerchant.getUserId()));
|
tNoticeMessage.setType(EnumNoticeMessageType.MERCHANT_REMIND.index);
|
tNoticeMessage.setUserType(1);
|
//审核通过
|
if (state.intValue() == 1) {
|
tNoticeMessage.setContent("您申请的商家信息已通过平台审核,可前往经营店铺信息。");
|
MemUser memUser = memUserService.selectById(memMerchant.getUserId());
|
//默认设置123456密码
|
if (memUser != null) {
|
MerchantSysUser merchantSysUser = new MerchantSysUser();
|
merchantSysUser.setId(memMerchantId);
|
merchantSysUser.setAccount(memUser.getPhone());
|
merchantSysUser.setRoleid("1");
|
merchantSysUser.setSalt(ShiroKit.getRandomSalt(5));
|
merchantSysUser.setPassword(ShiroKit.md5("123456", merchantSysUser.getSalt()));
|
merchantSysUser.setStatus(1);
|
merchantSysUser.setPhone(memUser.getPhone());
|
merchantSysUser.setName(memUser.getNickName());
|
this.merchantSysUserService.insert(merchantSysUser);
|
//添加商家账号表
|
MemMerchantBank memMerchantBank = new MemMerchantBank();
|
memMerchantBank.setId(memMerchantId);
|
memMerchantBankService.insert(memMerchantBank);
|
}
|
} else {
|
tNoticeMessage.setContent("您申请的商家信息未通过平台审核,原因:" + auditMark);
|
}
|
this.itNoticeMessageService.insert(tNoticeMessage);
|
}
|
|
@Override
|
public List<MemMerchant> queryMerchantList(Page<MemMerchant> page, String beginTime, String endTime, String merchantName, Integer cityCode1, Integer cityCode2, Integer cityCode3) {
|
return baseMapper.queryMerchantList(page, beginTime, endTime, merchantName, cityCode1, cityCode2, cityCode3);
|
}
|
}
|