123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- package com.kmall.admin.service.impl;
- import com.google.common.collect.ImmutableBiMap;
- import com.kmall.admin.dao.SysCusNationCodeDao;
- import com.kmall.admin.entity.SysCusNationCodeEntity;
- import com.kmall.admin.fromcomm.entity.SysUserEntity;
- import com.kmall.admin.service.SysCusNationCodeService;
- import com.kmall.admin.utils.ShiroUtils;
- import com.kmall.admin.utils.ValidateUtils;
- import com.kmall.common.constant.TablePrimaryKeyPrefix;
- import com.kmall.common.utils.*;
- import com.kmall.manager.manager.express.sf.ServiceException;
- import org.apache.commons.lang.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.List;
- import java.util.Map;
- import java.util.Random;
- /**
- * 国别地区代码Service实现类
- *
- * @author huangyq
- * @email admin@qhdswl.com
- * @date 2018-11-10 15:26:44
- */
- @Service("sysCusNationCodeService")
- public class SysCusNationCodeServiceImpl
- implements SysCusNationCodeService {
- @Autowired
- private SysCusNationCodeDao sysCusNationCodeDao;
- @Override
- public SysCusNationCodeEntity queryObject(String sn) {
- return sysCusNationCodeDao.queryObject(sn);
- }
- @Override
- public List<SysCusNationCodeEntity> queryList(Map<String, Object> map) {
- return sysCusNationCodeDao.queryList(map);
- }
- @Override
- public int queryTotal(Map<String, Object> map) {
- return sysCusNationCodeDao.queryTotal(map);
- }
- @Override
- public int save(SysCusNationCodeEntity sysCusNationCode) {
- SysCusNationCodeEntity SysCusNationCodeTemp = sysCusNationCodeDao.queryObjectByName(sysCusNationCode.getName());
- if (SysCusNationCodeTemp != null) {
- throw new RRException("名称已经存在");
- }
- if (sysCusNationCode.getCode().length() > 3) {
- throw new RRException("代码长度有误");
- }
- SysCusNationCodeTemp = sysCusNationCodeDao.queryObjectByCode(sysCusNationCode.getCode());
- if (SysCusNationCodeTemp != null) {
- throw new RRException("代码已经存在");
- }
- if (StringUtils.isNotEmpty(sysCusNationCode.getDiscountsTaxType()) &&
- sysCusNationCode.getDiscountsTaxType().length() > 1) {
- throw new RRException("优普税率类型有误");
- }
- sysCusNationCode.setSn(TablePrimaryKeyPrefix.sys_cus_nation_code + RandomUtils.getNum(18));
- return sysCusNationCodeDao.save(sysCusNationCode);
- }
- @Override
- public int update(SysCusNationCodeEntity sysCusNationCode) {
- SysCusNationCodeEntity SysCusNationCodeTemp = sysCusNationCodeDao.queryObjectByName(sysCusNationCode.getName());
- if (SysCusNationCodeTemp != null && !SysCusNationCodeTemp.getSn().equals(sysCusNationCode.getSn())) {
- throw new RRException("名称已经存在");
- }
- if (sysCusNationCode.getCode().length() > 3) {
- throw new RRException("代码长度有误");
- }
- SysCusNationCodeTemp = sysCusNationCodeDao.queryObjectByCode(sysCusNationCode.getCode());
- if (SysCusNationCodeTemp != null && !SysCusNationCodeTemp.getSn().equals(sysCusNationCode.getSn())) {
- throw new RRException("代码已经存在");
- }
- if (StringUtils.isNotEmpty(sysCusNationCode.getDiscountsTaxType()) &&
- sysCusNationCode.getDiscountsTaxType().length() > 1) {
- throw new RRException("优普税率类型有误");
- }
- return sysCusNationCodeDao.update(sysCusNationCode);
- }
- @Override
- public int delete(String sn) {
- return sysCusNationCodeDao.delete(sn);
- }
- @Override
- public int deleteBatch(String[] sns) {
- return sysCusNationCodeDao.deleteBatch(sns);
- }
- @Override
- public SysCusNationCodeEntity getCusNationByName(String name) {
- return sysCusNationCodeDao.queryObjectByName(name);
- }
- @Override
- public SysCusNationCodeEntity getCusNationByCode(String code) {
- return sysCusNationCodeDao.queryObjectByCode(code);
- }
- @Override
- public List<SysCusNationCodeEntity> findCusNationByAll() {
- return sysCusNationCodeDao.queryAll();
- }
- @Override
- @Transactional
- public void uploadExcel(List<SysCusNationCodeEntity> sysCusNationCodeEntityList) {
- for (SysCusNationCodeEntity sysCusNationCodeEntity : sysCusNationCodeEntityList) {
- String code = sysCusNationCodeEntity.getCode();
- String name = sysCusNationCodeEntity.getName();
- String ename = sysCusNationCodeEntity.getEname();
- String discountsTaxType = sysCusNationCodeEntity.getDiscountsTaxType();
- String isValid = sysCusNationCodeEntity.getIsValid();
- String remark = sysCusNationCodeEntity.getRemark();
- if (!ValidateUtils.validateStrIsInteger(code)) {
- throw new ServiceException("请输入正确的代码,有问题的代码:" + code);
- }
- if (!ValidateUtils.validateChinese(name)) {
- throw new ServiceException("请输入正确的名称,有问题的名称:" + name);
- }
- if (!ValidateUtils.validateEName(ename)) {
- throw new ServiceException("请输入正确的英文名,有问题的英文名:" + ename);
- }
- if (!ValidateUtils.validateEnglishChar(discountsTaxType)) {
- throw new ServiceException("请输入正确的优普税率类型,有问题的优普税率类型:" + discountsTaxType);
- }
- if (!"0".equals(isValid) && !"1".equals(isValid)) {
- throw new ServiceException("请输入正确的是否有效,有问题的是否有效:" + isValid);
- }
- if (remark != null && !ValidateUtils.validateSpecialAllowChinese(remark)) {
- throw new ServiceException("请输入正确的备注,有问题的备注:" + remark);
- }
- SysUserEntity user = ShiroUtils.getUserEntity();
- // 查询代码是否存在
- SysCusNationCodeEntity temp = this.getCusNationByCode(code);
- if (temp == null) {
- // 不存在则新增
- sysCusNationCodeEntity.setCreaterSn(user.getUserId() + "");
- sysCusNationCodeEntity.setCreateTime(new Date());
- this.save(sysCusNationCodeEntity);
- } else {
- // 存在修改对应代码的数据
- SysCusNationCodeEntity SysCusNationCodeTemp = sysCusNationCodeDao.queryObjectByName(sysCusNationCodeEntity.getName());
- if (SysCusNationCodeTemp != null && !SysCusNationCodeTemp.getSn().equals(temp.getSn())) {
- throw new RRException("名称已经存在");
- }
- if (StringUtils.isNotEmpty(sysCusNationCodeEntity.getDiscountsTaxType()) &&
- sysCusNationCodeEntity.getDiscountsTaxType().length() > 1) {
- throw new RRException("优普税率类型有误");
- }
- sysCusNationCodeEntity.setSn(temp.getSn());
- sysCusNationCodeEntity.setModerSn(user.getUserId() + "");
- sysCusNationCodeEntity.setModTime(new Date());
- sysCusNationCodeDao.update(sysCusNationCodeEntity);
- }
- }
- }
- }
|