|
|
@@ -16,35 +16,28 @@
|
|
|
*/
|
|
|
package org.springblade.mocha.service.impl;
|
|
|
|
|
|
-import com.alibaba.druid.sql.ast.expr.SQLCaseExpr;
|
|
|
-import com.alibaba.fastjson.JSONArray;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.client.entity.GoodsDesc;
|
|
|
import org.springblade.client.entity.GoodsType;
|
|
|
import org.springblade.client.feign.ICorpsDescClient;
|
|
|
import org.springblade.client.feign.IGoodsDescClient;
|
|
|
-import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
-import org.springblade.core.tool.utils.BeanUtil;
|
|
|
-import org.springblade.mocha.entity.PriceItem;
|
|
|
import org.springblade.mocha.entity.SalesPolicy;
|
|
|
import org.springblade.mocha.entity.SalesPolicyItem;
|
|
|
-import org.springblade.mocha.excel.PriceItemExcel;
|
|
|
import org.springblade.mocha.excel.SalesItemExcel;
|
|
|
import org.springblade.mocha.mapper.SalesPolicyItemMapper;
|
|
|
-import org.springblade.mocha.vo.SalesPolicyVO;
|
|
|
import org.springblade.mocha.mapper.SalesPolicyMapper;
|
|
|
import org.springblade.mocha.service.ISalesPolicyService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springblade.mocha.vo.SalesPolicyVO;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
@@ -59,10 +52,23 @@ import java.util.*;
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, SalesPolicy> implements ISalesPolicyService {
|
|
|
- private SalesPolicyItemMapper salesPolicyItemMapper;//销售政策明细表
|
|
|
- private final IUserClient userClient;//用户
|
|
|
- private final ICorpsDescClient corpsDescClient;//客户信息
|
|
|
- private final IGoodsDescClient goodsDescClient;//商品信息
|
|
|
+ /**
|
|
|
+ * 销售政策明细表
|
|
|
+ */
|
|
|
+ private SalesPolicyItemMapper salesPolicyItemMapper;
|
|
|
+ /**
|
|
|
+ * 用户
|
|
|
+ */
|
|
|
+ private final IUserClient userClient;
|
|
|
+ /**
|
|
|
+ * 客户信息
|
|
|
+ */
|
|
|
+ private final ICorpsDescClient corpsDescClient;
|
|
|
+ /**
|
|
|
+ * 商品信息
|
|
|
+ */
|
|
|
+ private final IGoodsDescClient goodsDescClient;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<SalesPolicy> selectSalesPolicyPage(IPage<SalesPolicy> page, SalesPolicy salesPolicy) {
|
|
|
return page.setRecords(baseMapper.selectSalesPolicyPage(page, salesPolicy));
|
|
|
@@ -70,27 +76,27 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
|
|
|
@Override
|
|
|
public R saveSalesPolicy(SalesPolicy salesPolicy) {
|
|
|
- if (salesPolicy.getId() == null){
|
|
|
+ if (salesPolicy.getId() == null) {
|
|
|
salesPolicy.setTenantId(SecureUtil.getTenantId());
|
|
|
salesPolicy.setCreateTime(new Date());
|
|
|
salesPolicy.setCreateUser(SecureUtil.getUserId());
|
|
|
baseMapper.insert(salesPolicy);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
salesPolicy.setTenantId(SecureUtil.getTenantId());
|
|
|
salesPolicy.setUpdateTime(new Date());
|
|
|
salesPolicy.setUpdateUser(SecureUtil.getUserId());
|
|
|
baseMapper.updateById(salesPolicy);
|
|
|
}
|
|
|
- if (CollectionUtils.isNotEmpty(salesPolicy.getSpecialItemList())){
|
|
|
- salesPolicy.getSpecialItemList().stream().forEach(item ->{
|
|
|
+ if (CollectionUtils.isNotEmpty(salesPolicy.getSpecialItemList())) {
|
|
|
+ salesPolicy.getSpecialItemList().forEach(item -> {
|
|
|
item.setPid(salesPolicy.getId());
|
|
|
item.setTenantId(SecureUtil.getTenantId());
|
|
|
- if (item.getId() == null){
|
|
|
+ if (item.getId() == null) {
|
|
|
item.setSalesType("1");
|
|
|
item.setCreateTime(new Date());
|
|
|
item.setCreateUser(SecureUtil.getUserId());
|
|
|
salesPolicyItemMapper.insert(item);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
item.setSalesType("1");
|
|
|
item.setUpdateTime(new Date());
|
|
|
item.setUpdateUser(SecureUtil.getUserId());
|
|
|
@@ -98,16 +104,16 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- if (CollectionUtils.isNotEmpty(salesPolicy.getPresentItemList())){
|
|
|
- salesPolicy.getPresentItemList().stream().forEach(item ->{
|
|
|
+ if (CollectionUtils.isNotEmpty(salesPolicy.getPresentItemList())) {
|
|
|
+ salesPolicy.getPresentItemList().forEach(item -> {
|
|
|
item.setPid(salesPolicy.getId());
|
|
|
item.setTenantId(SecureUtil.getTenantId());
|
|
|
- if (item.getId() == null){
|
|
|
+ if (item.getId() == null) {
|
|
|
item.setSalesType("2");
|
|
|
item.setCreateTime(new Date());
|
|
|
item.setCreateUser(SecureUtil.getUserId());
|
|
|
salesPolicyItemMapper.insert(item);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
item.setSalesType("2");
|
|
|
item.setUpdateTime(new Date());
|
|
|
item.setUpdateUser(SecureUtil.getUserId());
|
|
|
@@ -122,21 +128,21 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
public SalesPolicy getSalesPolicy(SalesPolicy salesPolicy) {
|
|
|
SalesPolicy policy = baseMapper.selectById(salesPolicy);
|
|
|
String createUserName = this.getUserName(policy.getCreateUser());
|
|
|
- if (StringUtils.isNotBlank(createUserName)){
|
|
|
+ if (StringUtils.isNotBlank(createUserName)) {
|
|
|
policy.setCreateUserName(createUserName);
|
|
|
}
|
|
|
String updateUserName = this.getUserName(policy.getUpdateUser());
|
|
|
- if (StringUtils.isNotBlank(updateUserName)){
|
|
|
+ if (StringUtils.isNotBlank(updateUserName)) {
|
|
|
policy.setUpdateUserName(updateUserName);
|
|
|
}
|
|
|
//回显代理商中文名
|
|
|
- if(StringUtils.isNotBlank(policy.getCorps())){
|
|
|
+ if (StringUtils.isNotBlank(policy.getCorps())) {
|
|
|
List<String> list = Arrays.asList(policy.getCorps().split(","));
|
|
|
- List<Map<String,Object>> corpList = new ArrayList<>();
|
|
|
- if (CollectionUtils.isNotEmpty(list)){
|
|
|
- list.stream().forEach(item ->{
|
|
|
+ List<Map<String, Object>> corpList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ list.forEach(item -> {
|
|
|
R<List<Map<String, Object>>> corpsMessage = corpsDescClient.getCorpsMessage(item);
|
|
|
- if (corpsMessage.isSuccess() && corpsMessage.getData() != null){
|
|
|
+ if (corpsMessage.isSuccess() && corpsMessage.getData() != null) {
|
|
|
corpList.addAll(corpsMessage.getData());
|
|
|
}
|
|
|
});
|
|
|
@@ -144,30 +150,30 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
policy.setCorpNameList(corpList);
|
|
|
}
|
|
|
List<SalesPolicyItem> specialItemList = salesPolicyItemMapper.selectList(new QueryWrapper<SalesPolicyItem>().eq("pid", salesPolicy.getId())
|
|
|
- .eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0).eq("sales_type",1));
|
|
|
- if (CollectionUtils.isNotEmpty(specialItemList)){
|
|
|
- specialItemList.stream().forEach(item ->{
|
|
|
+ .eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0).eq("sales_type", 1));
|
|
|
+ if (CollectionUtils.isNotEmpty(specialItemList)) {
|
|
|
+ specialItemList.forEach(item -> {
|
|
|
String createName = this.getUserName(item.getCreateUser());
|
|
|
- if (StringUtils.isNotBlank(createName)){
|
|
|
+ if (StringUtils.isNotBlank(createName)) {
|
|
|
item.setCreateUserName(createName);
|
|
|
}
|
|
|
String updateName = this.getUserName(item.getUpdateUser());
|
|
|
- if (StringUtils.isNotBlank(updateName)){
|
|
|
+ if (StringUtils.isNotBlank(updateName)) {
|
|
|
item.setUpdateUserName(updateName);
|
|
|
}
|
|
|
});
|
|
|
policy.setSpecialItemList(specialItemList);
|
|
|
}
|
|
|
List<SalesPolicyItem> presentItemList = salesPolicyItemMapper.selectList(new QueryWrapper<SalesPolicyItem>().eq("pid", salesPolicy.getId())
|
|
|
- .eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0).eq("sales_type",2));
|
|
|
- if (CollectionUtils.isNotEmpty(presentItemList)){
|
|
|
- presentItemList.stream().forEach(item ->{
|
|
|
+ .eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted", 0).eq("sales_type", 2));
|
|
|
+ if (CollectionUtils.isNotEmpty(presentItemList)) {
|
|
|
+ presentItemList.forEach(item -> {
|
|
|
String createName = this.getUserName(item.getCreateUser());
|
|
|
- if (StringUtils.isNotBlank(createName)){
|
|
|
+ if (StringUtils.isNotBlank(createName)) {
|
|
|
item.setCreateUserName(createName);
|
|
|
}
|
|
|
String updateName = this.getUserName(item.getUpdateUser());
|
|
|
- if (StringUtils.isNotBlank(updateName)){
|
|
|
+ if (StringUtils.isNotBlank(updateName)) {
|
|
|
item.setUpdateUserName(updateName);
|
|
|
}
|
|
|
});
|
|
|
@@ -178,7 +184,7 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
|
|
|
@Override
|
|
|
public List<SalesPolicyVO> lazyTree(SalesPolicy salesPolicy) {
|
|
|
- if (StringUtils.isBlank(salesPolicy.getTenantId())){
|
|
|
+ if (StringUtils.isBlank(salesPolicy.getTenantId())) {
|
|
|
salesPolicy.setTenantId(SecureUtil.getTenantId());
|
|
|
}
|
|
|
return baseMapper.lazyTree(salesPolicy);
|
|
|
@@ -186,25 +192,23 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public R importSalesPolicy(List<SalesItemExcel> data, Boolean isCovered)
|
|
|
- {
|
|
|
- List<SalesPolicyItem> list=new ArrayList<>();
|
|
|
- for(int i=0;i<data.size();i++)
|
|
|
- {
|
|
|
+ public R importSalesPolicy(List<SalesItemExcel> data, Boolean isCovered) {
|
|
|
+ List<SalesPolicyItem> list = new ArrayList<>();
|
|
|
+ for (int i = 0; i < data.size(); i++) {
|
|
|
SalesItemExcel goodsExcel = data.get(i);
|
|
|
- SalesPolicyItem salesPolicyItem=new SalesPolicyItem();
|
|
|
+ SalesPolicyItem salesPolicyItem = new SalesPolicyItem();
|
|
|
salesPolicyItem.setCode(goodsExcel.getCode());
|
|
|
- if(StringUtils.isBlank(goodsExcel.getCode()))
|
|
|
- {
|
|
|
- throw new SecurityException("第"+(i+1)+"行商品未填写,");
|
|
|
+ if (StringUtils.isBlank(goodsExcel.getCode())) {
|
|
|
+ throw new SecurityException("第" + (i + 1) + "行商品未填写,");
|
|
|
}
|
|
|
R<GoodsDesc> goodsDescR = goodsDescClient.GoodsByCode(salesPolicyItem.getCode());
|
|
|
- if(!goodsDescR.isSuccess()||goodsDescR.getData()==null)
|
|
|
- {
|
|
|
- throw new SecurityException("第"+(i+1)+"行,请填写真实正确的商品编码");
|
|
|
+ if (!goodsDescR.isSuccess() || goodsDescR.getData() == null) {
|
|
|
+ throw new SecurityException("第" + (i + 1) + "行,请填写真实正确的商品编码");
|
|
|
}
|
|
|
- //查询itemId
|
|
|
+ //查询itemId
|
|
|
GoodsDesc goodsDesc = goodsDescR.getData();
|
|
|
+ salesPolicyItem.setPurchasePrice(new BigDecimal(goodsExcel.getPurchasePrice()));
|
|
|
+ salesPolicyItem.setSalesPrice(new BigDecimal(goodsExcel.getSalesPrice()));
|
|
|
salesPolicyItem.setSpecialOffer(new BigDecimal(goodsExcel.getSpecialOffer()));
|
|
|
salesPolicyItem.setBrandItem(goodsDesc.getBrandItem());
|
|
|
salesPolicyItem.setItemId(goodsDesc.getId());
|
|
|
@@ -215,9 +219,8 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
salesPolicyItem.setSalesType("1");
|
|
|
//产品分类
|
|
|
GoodsType goodsType = goodsDescClient.goodTypeId(goodsDesc.getId());
|
|
|
- if(goodsType==null)
|
|
|
- {
|
|
|
- throw new SecurityException("第"+(i+1)+"行,根据此编码获取分类失败");
|
|
|
+ if (goodsType == null) {
|
|
|
+ throw new SecurityException("第" + (i + 1) + "行,根据此编码获取分类失败");
|
|
|
}
|
|
|
salesPolicyItem.setProductCategory(goodsType.getCname());
|
|
|
list.add(salesPolicyItem);
|
|
|
@@ -225,10 +228,10 @@ public class SalesPolicyServiceImpl extends ServiceImpl<SalesPolicyMapper, Sales
|
|
|
return R.data(list);
|
|
|
}
|
|
|
|
|
|
- private String getUserName(Long user){
|
|
|
+ private String getUserName(Long user) {
|
|
|
String userName = null;
|
|
|
R<User> create = userClient.userInfoById(user);
|
|
|
- if (create.isSuccess() && create.getData() != null){
|
|
|
+ if (create.isSuccess() && create.getData() != null) {
|
|
|
userName = create.getData().getName();
|
|
|
}
|
|
|
return userName;
|