|
|
@@ -2,7 +2,12 @@ package com.muchinfo.mtp3century.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.muchinfo.mtp.proto.Common;
|
|
|
+import com.muchinfo.mtp.proto.NotifyMI1;
|
|
|
+import com.muchinfo.mtp3common.vo.ProtoHelper;
|
|
|
+import com.muchinfo.mtp3common.enumtype.FunCodeConstants;
|
|
|
import com.muchinfo.mtp3century.service.ICommonService;
|
|
|
import com.muchinfo.mtp3century.service.IGoodsSetUpService;
|
|
|
import com.muchinfo.mtp3century.utils.AjaxResult;
|
|
|
@@ -11,13 +16,18 @@ import com.muchinfo.mtp3common.enumtype.Constants;
|
|
|
import com.muchinfo.mtp3common.enumtype.MessageType;
|
|
|
import com.muchinfo.mtp3common.enumtype.SysConstants;
|
|
|
import com.muchinfo.mtp3common.enumtype.SysEnums;
|
|
|
+import com.muchinfo.mtp3common.utils.DateTimeUtils;
|
|
|
import com.muchinfo.mtp3common.vo.PageResult;
|
|
|
import com.muchinfo.mtp3interface.mapper.*;
|
|
|
import com.muchinfo.mtp3pojos.entity.*;
|
|
|
import com.muchinfo.mtp3pojos.vo.tradingmarket.goodssetup.*;
|
|
|
-import org.apache.catalina.User;
|
|
|
import org.apache.commons.beanutils.ConvertUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.amqp.core.Message;
|
|
|
+import org.springframework.amqp.core.MessageProperties;
|
|
|
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -25,11 +35,13 @@ import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.text.ParseException;
|
|
|
import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class GoodsSetUpServiceImpl implements IGoodsSetUpService {
|
|
|
|
|
|
+ private final Logger log = LoggerFactory.getLogger(this.getClass());
|
|
|
@Resource
|
|
|
private ISystemmanagerMapper iSystemmanagerMapper;
|
|
|
@Resource
|
|
|
@@ -66,7 +78,30 @@ public class GoodsSetUpServiceImpl implements IGoodsSetUpService {
|
|
|
private IArearoleMapper iArearoleMapper;
|
|
|
@Resource
|
|
|
private IArearolemarketMapper iArearolemarketMapper;
|
|
|
-
|
|
|
+ @Resource
|
|
|
+ private IGoodsmarginconfigMapper iGoodsmarginconfigMapper;
|
|
|
+ @Resource
|
|
|
+ private IDeliveryrelationMapper iDeliveryrelationMapper;
|
|
|
+ @Resource
|
|
|
+ private IGoodsoptionpropertyMapper iGoodsoptionpropertyMapper;
|
|
|
+ @Resource
|
|
|
+ private IGoodsexMapper iGoodsexMapper;
|
|
|
+ @Resource
|
|
|
+ private IHsbyGoodsexMapper iHsbyGoodsexMapper;
|
|
|
+ @Resource
|
|
|
+ private IWrcategoryMapper iWrcategoryMapper;
|
|
|
+ @Resource
|
|
|
+ private IDgfactoryitemtypeMapper iDgfactoryitemtypeMapper;
|
|
|
+ @Resource
|
|
|
+ private IDgfactoryitemMapper iDgfactoryitemMapper;
|
|
|
+ @Resource
|
|
|
+ private IDeliveryrelationdetailMapper iDeliveryrelationdetailMapper;
|
|
|
+ @Resource
|
|
|
+ private IWskhUserinfoMapper IWskhUserinfoMapper;
|
|
|
+ @Resource
|
|
|
+ private IGoodscloseplanMapper iGoodscloseplanMapper;
|
|
|
+ @Resource
|
|
|
+ private RabbitTemplate rabbitTemplate;
|
|
|
|
|
|
@Override
|
|
|
public PageResult<GoodsGroupSetQueryResult> groupSetQuery(GoodsGroupSetQueryParam param, HttpServletRequest request) {
|
|
|
@@ -200,7 +235,7 @@ public class GoodsSetUpServiceImpl implements IGoodsSetUpService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public AjaxResult<Market> listAllInit(HttpServletRequest request, String orgztypes) {
|
|
|
+ public AjaxResult<Market> listAllInit(HttpServletRequest request, String orgztypes, String filterTrademodeList) {
|
|
|
//如果即运营机构又是经纪会员会或者金融机构 确实是没办法在一个方法里处理
|
|
|
Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
|
|
|
List<Long> markets = null;
|
|
|
@@ -257,26 +292,19 @@ public class GoodsSetUpServiceImpl implements IGoodsSetUpService {
|
|
|
tradeModes.add(SysEnums.TradeMode.JFSC.getCode());
|
|
|
|
|
|
List<Market> marketList = iMarketMapper.selectList(new QueryWrapper<Market>()
|
|
|
- .eq("markettype",2)
|
|
|
- .eq("marketStatus",SysEnums.EnumMarketStatus.NORMAL.getType())
|
|
|
- .in("tradeMode",tradeModes));
|
|
|
+ .eq("markettype", 2)
|
|
|
+ .eq("marketStatus", SysEnums.EnumMarketStatus.NORMAL.getType())
|
|
|
+ .in("tradeMode", tradeModes));
|
|
|
|
|
|
//排除交易模式
|
|
|
- List<Integer> filterTrademodeList = new ArrayList<>();
|
|
|
- filterTrademodeList.add(69);
|
|
|
- filterTrademodeList.add(40);
|
|
|
- filterTrademodeList.add(41);
|
|
|
- filterTrademodeList.add(71);
|
|
|
- filterTrademodeList.add(48);
|
|
|
- filterTrademodeList.add(51);
|
|
|
-
|
|
|
- for (Iterator<Market> it = marketList.iterator(); it.hasNext(); ) {
|
|
|
- Market market = it.next();
|
|
|
- if (filterTrademodeList.contains(market.getTrademode())) {
|
|
|
- it.remove();
|
|
|
- }
|
|
|
+ String[] split = filterTrademodeList.split(",");
|
|
|
+ List<Integer> list = new ArrayList<>();
|
|
|
+ for (String trademode : split) {
|
|
|
+ list.add(Integer.valueOf(trademode));
|
|
|
}
|
|
|
|
|
|
+ marketList.removeIf(market -> list.contains(market.getTrademode()));
|
|
|
+
|
|
|
return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), marketList);
|
|
|
}
|
|
|
|
|
|
@@ -317,8 +345,327 @@ public class GoodsSetUpServiceImpl implements IGoodsSetUpService {
|
|
|
|
|
|
@Override
|
|
|
public AjaxResult<GoodsQueryDetailResult> goodsview(Long goodsid, HttpServletRequest request) {
|
|
|
+ GoodsQueryDetailResult result = new GoodsQueryDetailResult();
|
|
|
+ Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("GOODSID", goodsid));
|
|
|
+ result.setGoods(goods);
|
|
|
+ // 查询商品保证金
|
|
|
+ List<Goodsmarginconfig> margins = iGoodsmarginconfigMapper.selectList(new QueryWrapper<Goodsmarginconfig>()
|
|
|
+ .eq("GOODSID", goodsid));
|
|
|
+ // 如果保证金计算方式是比率,则值需要乘以100再展示(同时将积的标度设为0)
|
|
|
+ for (Goodsmarginconfig gmc : margins) {
|
|
|
+ setGoodsMarginConfig(gmc);
|
|
|
+ }
|
|
|
+ result.setMargins(margins);
|
|
|
+ // 查询商品规则
|
|
|
+
|
|
|
+ Object o = redisServiceUtil.getCacheMapValue(Constants.REDIS_HEADER_SYSPARAM, "007");
|
|
|
+ Integer de = null;
|
|
|
+ BigDecimal Cude = null;
|
|
|
+ if (o != null && "1".equals(o.toString())) {
|
|
|
+ Enumdicitem item = iEnumdicitemMapper.selectOne(new QueryWrapper<Enumdicitem>()
|
|
|
+ .eq("enumdiccode", "currency")
|
|
|
+ .eq("enumitemname", goods.getCurrencyid()));
|
|
|
+ if (item != null && StringUtils.isNotBlank(item.getParam1())) {
|
|
|
+ de = Integer.valueOf(item.getParam1());
|
|
|
+ Cude = BigDecimal.valueOf(Math.pow(10, de));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Goodstraderule> traderuleList = iGoodsMapper.getTradeRuleByGoodsId(goodsid);
|
|
|
+ traderuleList.sort((p1, p2) -> p1.getRuleid() > p2.getRuleid() ? 1 : -1);
|
|
|
+ for (Goodstraderule trd : traderuleList) {
|
|
|
+ if (trd.getRuleid() == 107 || trd.getRuleid() == 108 || trd.getRuleid() == 110 || trd.getRuleid() == 111) {
|
|
|
+ trd.setParamvalue(trd.getParamvalue().multiply(new BigDecimal(100)).setScale(0, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ if (o != null && "1".equals(o.toString())) {
|
|
|
+ if (trd.getRuleid() >= 101 && trd.getRuleid() <= 104) {
|
|
|
+ trd.setParamvalue(trd.getParamvalue().divide(BigDecimal.valueOf(Math.pow(10, trd.getQtydecimalplace()))));
|
|
|
+ }
|
|
|
+ if (trd.getRuleid() == 109) {
|
|
|
+ trd.setParamvalue(trd.getParamvalue().divide(BigDecimal.valueOf(Math.pow(10, goods.getDecimalplace()))));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ result.setTraderule(traderuleList);
|
|
|
+ // 查询商品费用
|
|
|
+ List<Goodstradefee> tradeFeeList = iGoodsMapper.getTradeFeeByGoodsId(goodsid);
|
|
|
+ // 如果费用算法是比率,则值需要乘以10000再展示(同时将积的标度设为0)
|
|
|
+ for (Goodstradefee fee : tradeFeeList) {
|
|
|
+ if (fee.getFeealgorithm() == 1) {
|
|
|
+ // #6388 商品组、商品:费用比率时支持2位小数
|
|
|
+ fee.setExchangevalue(fee.getExchangevalue().multiply(new BigDecimal(10000)).setScale(2));
|
|
|
+ fee.setMemberdefaultvalue(fee.getMemberdefaultvalue().multiply(new BigDecimal(10000)).setScale(2));
|
|
|
+ fee.setMembermaxvalue(fee.getMembermaxvalue().multiply(new BigDecimal(10000)).setScale(2));
|
|
|
+ fee.setMemberminvalue(fee.getMemberminvalue().multiply(new BigDecimal(10000)).setScale(2));
|
|
|
+ } else if (fee.getFeealgorithm() == 2 && de != null) {
|
|
|
+ fee.setExchangevalue(fee.getExchangevalue().divide(Cude));
|
|
|
+ fee.setMemberdefaultvalue(fee.getMemberdefaultvalue().divide(Cude));
|
|
|
+ fee.setMembermaxvalue(fee.getMembermaxvalue().divide(Cude));
|
|
|
+ fee.setMemberminvalue(fee.getMemberminvalue().divide(Cude));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ result.setTradefee(tradeFeeList);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("goodsid", goodsid);
|
|
|
+ // 查询商品交割相关配置
|
|
|
+ if (goods.getDeliveryflag() != null && goods.getDeliveryflag() == 1) {
|
|
|
+ // 交割配置
|
|
|
+ Deliveryrelation dr = iDeliveryrelationMapper.selectOne(new QueryWrapper<Deliveryrelation>()
|
|
|
+ .eq("GOODSID", goodsid));
|
|
|
+ result.setDrelation(dr);
|
|
|
+
|
|
|
+ // 4:线下交收无交收品种
|
|
|
+ if (dr != null && dr.getDeliverygoodsid() != null) {
|
|
|
+ // 交割升贴水 仓库
|
|
|
+ List<WarehouseInfoParam> whlist = IWskhUserinfoMapper.queryWareHouse(dr.getDeliverygoodsid());
|
|
|
+ for (WarehouseInfoParam wh : whlist) {
|
|
|
+ Deliveryrelationdetail drd = iDeliveryrelationdetailMapper.selectOne(new QueryWrapper<Deliveryrelationdetail>()
|
|
|
+ .eq("goodsid", goodsid)
|
|
|
+ .eq("dgfactoryitemtypeid", 1L)
|
|
|
+ .eq("dgfactoryitemid", wh.getDgfactoryitemid()));
|
|
|
+ if (drd == null) {
|
|
|
+ wh.setIschecked(0);
|
|
|
+ } else {
|
|
|
+ wh.setIschecked(1);
|
|
|
+ wh.setPremiumvalue(drd.getPremiumvalue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ result.setWhlist(whlist);
|
|
|
+
|
|
|
+ // 交割升贴水 其他选择项
|
|
|
+ result.setItemtypemode(1);
|
|
|
+ List<Dgfactoryitemtype> dgfitlist = iDgfactoryitemtypeMapper.selectList(new QueryWrapper<Dgfactoryitemtype>()
|
|
|
+ .eq("deliverygoodsid", dr.getDeliverygoodsid())
|
|
|
+ .eq("itemtypemode", 1));
|
|
|
+ for (Dgfactoryitemtype dgfit : dgfitlist) {
|
|
|
+ if (dgfit.getDgfactoryitemtypeid() != 1) {
|
|
|
+ // 品种选择项定义
|
|
|
+ List<Dgfactoryitem> dgfilist = iDgfactoryitemMapper.selectList(new QueryWrapper<Dgfactoryitem>()
|
|
|
+ .eq("deliverygoodsid", dr.getDeliverygoodsid())
|
|
|
+ .eq("dgfactoryitemtypeid", dgfit.getDgfactoryitemtypeid()));
|
|
|
+ for (int j = 0; j < dgfilist.size(); j++) {
|
|
|
+ Dgfactoryitem dgfi = dgfilist.get(j);
|
|
|
+ Deliveryrelationdetail drd = iDeliveryrelationdetailMapper.selectOne(new QueryWrapper<Deliveryrelationdetail>()
|
|
|
+ .eq("goodsid", goodsid)
|
|
|
+ .eq("dgfactoryitemtypeid", dgfit.getDgfactoryitemtypeid())
|
|
|
+ .eq("dgfactoryitemid", dgfi.getDgfactoryitemid()));
|
|
|
+
|
|
|
+ if (drd == null) {
|
|
|
+ dgfi.setIschecked(0);
|
|
|
+ dgfilist.remove(j);
|
|
|
+ } else {
|
|
|
+ dgfi.setIschecked(1);
|
|
|
+ dgfi.setPremiumvalue(drd.getPremiumvalue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dgfit.setDgfilist(dgfilist);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ result.setDgfitlist(dgfitlist);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 商品期权属性
|
|
|
+ Goodsoptionproperty goodsOptionProperty = iGoodsoptionpropertyMapper.selectOne(new QueryWrapper<Goodsoptionproperty>().eq("goodsid", goodsid));
|
|
|
+ if (goodsOptionProperty != null) {
|
|
|
+ result.setProperty(goodsOptionProperty);
|
|
|
+ }
|
|
|
+ HsbyGoodsex hge = iHsbyGoodsexMapper.selectOne(new QueryWrapper<HsbyGoodsex>().eq("goodsid", goodsid));
|
|
|
+ if (hge != null) {
|
|
|
+ if (hge.getMemberratio() != null) {
|
|
|
+ hge.setMemberratio(hge.getMemberratio().multiply(new BigDecimal(100)));
|
|
|
+ }
|
|
|
+ result.setHsbyGoodsex(hge);
|
|
|
+ if (hge.getCategoryid() != null) {
|
|
|
+ Wrcategory wr = iWrcategoryMapper.selectOne(new QueryWrapper<Wrcategory>().eq("CATEGORYID", hge.getCategoryid()));
|
|
|
+ result.setCategoryname(wr.getCategoryname());
|
|
|
+ if (wr.getParentcategoryid() != null) {
|
|
|
+ Wrcategory wr2 = iWrcategoryMapper.selectOne(new QueryWrapper<Wrcategory>().eq("CATEGORYID", wr.getParentcategoryid()));
|
|
|
+ result.setIschild(1);
|
|
|
+ result.setPcategoryname(wr2.getCategoryname());
|
|
|
+ } else {
|
|
|
+ result.setIschild(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取发售方名称
|
|
|
+ if (goods.getProvideruserid() != null) {
|
|
|
+ Useraccount ua = iUseraccountMapper.selectOne(new QueryWrapper<Useraccount>().eq("userid", goods.getProvideruserid()));
|
|
|
+ if (ua != null) {
|
|
|
+ result.setProviderusername(ua.getAccountname());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Goodsex goodsEx = iGoodsexMapper.selectOne(new QueryWrapper<Goodsex>().eq("GOODSID", goodsid));
|
|
|
+ if (goodsEx != null) {
|
|
|
+ result.setGoodsorder(goodsEx.getGoodsorder());
|
|
|
+
|
|
|
+ // 20241118 TCE 添加字段 #6408
|
|
|
+ result.setGoodsnameen(goodsEx.getGoodsnameen());
|
|
|
+ result.setGoodsnametw(goodsEx.getGoodsnametw());
|
|
|
+ result.setGoodsnameth(goodsEx.getGoodsnameth());
|
|
|
+ result.setGoodsnamevi(goodsEx.getGoodsnamevi());
|
|
|
+ }
|
|
|
+
|
|
|
+ return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult<GoodsUspendedQueryResult> goodsuspended(GoodsUspendedQueryParam param, HttpServletRequest request) {
|
|
|
+ Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
|
|
|
+ //如果不是平台管理员
|
|
|
+ if (!SysConstants.SYS_TYPE_MANAGE.equals(systemmanager.getReletype())) {
|
|
|
+ param.setExchareaid(systemmanager.getAreauserid());
|
|
|
+ }
|
|
|
+ List<GoodsUspendedQueryResult> results = iGoodsMapper.goodsuspended(param);
|
|
|
+ return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), results);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageResult<GoodsSearchQueryResult> sreach(GoodsSearchQueryParam param, HttpServletRequest request) {
|
|
|
+ Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
|
|
|
+ //如果不是平台管理员
|
|
|
+ if (!SysConstants.SYS_TYPE_MANAGE.equals(systemmanager.getReletype())) {
|
|
|
+ param.setExchareaid(systemmanager.getAreauserid());
|
|
|
+ }
|
|
|
+ PageResult<GoodsSearchQueryResult> pageResult = new PageResult<>();
|
|
|
+ IPage<GoodsSearchQueryResult> page = new Page<>(param.getPageNum(), param.getPageSize());
|
|
|
+ IPage<GoodsSearchQueryResult> resultIPage = iGoodsMapper.sreach(page, param);
|
|
|
+ pageResult.setCode(Constants.Success_Code_Design);
|
|
|
+ pageResult.setMessage(AjaxResult.dealMsg(MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language")));
|
|
|
+ pageResult.setPages(resultIPage.getPages());
|
|
|
+ pageResult.setCurrent(resultIPage.getCurrent());
|
|
|
+ pageResult.setTotal(resultIPage.getTotal());
|
|
|
+ pageResult.setPageSize(resultIPage.getSize());
|
|
|
+ pageResult.setData(resultIPage.getRecords());
|
|
|
+ return pageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult<Goodsgroup> goodsGroupList(Long goodsgroupstatus, Long marketid, HttpServletRequest request) {
|
|
|
+ List<Goodsgroup> gglist = iGoodsgroupMapper.selectList(new QueryWrapper<Goodsgroup>()
|
|
|
+ .eq(marketid != null, "marketid", marketid)
|
|
|
+ .eq(goodsgroupstatus != null, "goodsgroupstatus", goodsgroupstatus));
|
|
|
+ return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), gglist);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult<Goods> queryByGoodsgroupId(Long goodsgroupid, Integer goodsstatus, Long marketid, HttpServletRequest request) {
|
|
|
+ List<Goods> goodsList = iGoodsMapper.selectList(new QueryWrapper<Goods>()
|
|
|
+ .eq(goodsgroupid != null, "goodsgroupid", goodsgroupid)
|
|
|
+ .eq(goodsstatus != null, "goodsstatus", goodsstatus)
|
|
|
+ .eq(marketid != null, "marketid", marketid));
|
|
|
+ return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"), goodsList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult goodsuspendedadd(GoodsUspendedAddQueryParam param, HttpServletRequest request) {
|
|
|
+ Systemmanager systemmanager = iSystemmanagerMapper.selectOne(new QueryWrapper<Systemmanager>().eq("LOGINCODE", iCommonService.getUserLoginCode(request)));
|
|
|
+ List<Goodscloseplan> gdrList = iGoodscloseplanMapper.selectList(new QueryWrapper<Goodscloseplan>()
|
|
|
+ .eq("goodsid", param.getGoodsid()));
|
|
|
+ if (CollectionUtils.isNotEmpty(param.getDayRestDto())) {
|
|
|
+ return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM070.getCode(), request.getHeader("Accept-Language"));
|
|
|
+ }
|
|
|
+ for (Goodscloseplan goodscloseplan : gdrList) {
|
|
|
+ Boolean mark = false;
|
|
|
+ Date start = goodscloseplan.getStarttime();
|
|
|
+ Date end = goodscloseplan.getEndtime();
|
|
|
+ for (DayRestDto drd : param.getDayRestDto()) {
|
|
|
+ mark = DateTimeUtils.isOverLaps(start, end, parseDate(drd.getStartdate()),
|
|
|
+ parseDate(drd.getEnddate()));
|
|
|
+ if (mark) {
|
|
|
+ return AjaxResult.error(Constants.Error_Code_Design, MessageType.MESSAGE_ERROR_CODE_SYSTEM071.getCode(), request.getHeader("Accept-Language"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (DayRestDto drd : param.getDayRestDto()) {
|
|
|
+ Goodscloseplan goodsDayRest = new Goodscloseplan();
|
|
|
+ goodsDayRest.setGoodsid(param.getGoodsid());
|
|
|
+ try {
|
|
|
+ goodsDayRest.setClosedate(getRunDate(drd.getStartdate()));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ log.error("goodsDayRest 时间格式转换失败");
|
|
|
+ }
|
|
|
+ goodsDayRest.setStarttime(parseDate(drd.getStartdate()));
|
|
|
+ goodsDayRest.setEndtime(parseDate(drd.getEnddate()));
|
|
|
+ goodsDayRest.setModifierid(systemmanager.getAutoid());
|
|
|
+ goodsDayRest.setModifytime(new Date());
|
|
|
+ iGoodscloseplanMapper.insert(goodsDayRest);
|
|
|
+ }
|
|
|
+
|
|
|
+ //交易服务需要市场id,先查下
|
|
|
+ Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid", param.getGoodsid()));
|
|
|
+ //再构建消息体
|
|
|
+ NotifyMI1.GoodsClosePlanChangeNtf.Builder builder = NotifyMI1.GoodsClosePlanChangeNtf.newBuilder();
|
|
|
+ Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
|
|
|
+ hd.setFunCode(FunCodeConstants.FunCode_Trade_GoodsClosePlanChangeNtf);
|
|
|
+ hd.setMarketID(goods.getMarketid().intValue());
|
|
|
+ builder.setGoodsID(param.getGoodsid().intValue());
|
|
|
+ builder.setMarketID(goods.getMarketid().intValue());
|
|
|
+ builder.setHeader(hd);
|
|
|
+ byte[] body = ProtoHelper.getNTAS(builder.build().toByteArray(), FunCodeConstants.FunCode_Trade_GoodsClosePlanChangeNtf);
|
|
|
+ rabbitTemplate.send(SysConstants.RabbitNtfKey, new Message(body, new MessageProperties()));
|
|
|
+
|
|
|
+ return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult goodsuspendeddel(Long autoid, HttpServletRequest request) {
|
|
|
+ Goodscloseplan goodscloseplan = iGoodscloseplanMapper.selectOne(new QueryWrapper<Goodscloseplan>().eq("autoid", autoid));
|
|
|
+ iGoodscloseplanMapper.deleteById(autoid);
|
|
|
+
|
|
|
+ //交易服务需要市场id,先查下
|
|
|
+ Goods goods = iGoodsMapper.selectOne(new QueryWrapper<Goods>().eq("goodsid", goodscloseplan.getGoodsid()));
|
|
|
+ //再构建消息体
|
|
|
+ NotifyMI1.GoodsClosePlanChangeNtf.Builder builder = NotifyMI1.GoodsClosePlanChangeNtf.newBuilder();
|
|
|
+ Common.MessageHead.Builder hd = Common.MessageHead.newBuilder();
|
|
|
+ hd.setFunCode(FunCodeConstants.FunCode_Trade_GoodsClosePlanChangeNtf);
|
|
|
+ hd.setMarketID(goods.getMarketid().intValue());
|
|
|
+ builder.setGoodsID(goodscloseplan.getGoodsid().intValue());
|
|
|
+ builder.setMarketID(goods.getMarketid().intValue());
|
|
|
+ builder.setHeader(hd);
|
|
|
+ byte[] body = ProtoHelper.getNTAS(builder.build().toByteArray(), FunCodeConstants.FunCode_Trade_GoodsClosePlanChangeNtf);
|
|
|
+ rabbitTemplate.send(SysConstants.RabbitNtfKey, new Message(body, new MessageProperties()));
|
|
|
+ return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageResult<DelistGoodsInfoResult> queryDelistGoodsInfo(DelistGoodsInfoParam param, HttpServletRequest request) {
|
|
|
+ PageResult<DelistGoodsInfoResult> pageResult = new PageResult<>();
|
|
|
+ IPage<DelistGoodsInfoResult> page = new Page<>(param.getPageNum(), param.getPageSize());
|
|
|
+ IPage<DelistGoodsInfoResult> resultIPage = iGoodsMapper.queryDelistGoodsInfo(page, param);
|
|
|
+ pageResult.setCode(Constants.Success_Code_Design);
|
|
|
+ pageResult.setMessage(AjaxResult.dealMsg(MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language")));
|
|
|
+ pageResult.setPages(resultIPage.getPages());
|
|
|
+ pageResult.setCurrent(resultIPage.getCurrent());
|
|
|
+ pageResult.setTotal(resultIPage.getTotal());
|
|
|
+ pageResult.setPageSize(resultIPage.getSize());
|
|
|
+ pageResult.setData(resultIPage.getRecords());
|
|
|
+ return pageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setGoodsMarginConfig(Goodsmarginconfig gmc) {
|
|
|
+ if (gmc.getMarginalgorithm() == 1) {
|
|
|
+ if (gmc.getMarketmarginvalue() != null) {
|
|
|
+ gmc.setMarketmarginvalue(gmc.getMarketmarginvalue().multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN));
|
|
|
+ } else {//页面订金值映射在reckonmarginvalue字段中
|
|
|
+ gmc.setMarketmarginvalue(gmc.getReckonmarginvalue().multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN));
|
|
|
+ }
|
|
|
+ if (gmc.getReckonmarginvalue() != null) {
|
|
|
+ gmc.setReckonmarginvalue(gmc.getReckonmarginvalue().multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN));
|
|
|
+ }
|
|
|
|
|
|
- return null;
|
|
|
+ if (gmc.getLockmarginvalue() != null) {
|
|
|
+ gmc.setLockmarginvalue(gmc.getLockmarginvalue().multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (gmc.getRealmarginalgorithm() != null && gmc.getRealmarginalgorithm() == 1
|
|
|
+ && gmc.getRealmarginvalue() != null) {
|
|
|
+ gmc.setRealmarginvalue(gmc.getRealmarginvalue().multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private AjaxResult groupadd(GoodsGroupSetDetailResult param, Systemmanager systemmanager, HttpServletRequest request) {
|
|
|
@@ -594,4 +941,29 @@ public class GoodsSetUpServiceImpl implements IGoodsSetUpService {
|
|
|
}
|
|
|
return AjaxResult.success(Constants.Success_Code_Design, MessageType.MESSAGE_CODE_SYSTEM001.getCode(), request.getHeader("Accept-Language"));
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Title: parseDatetime
|
|
|
+ * @Description: 格式化时间
|
|
|
+ */
|
|
|
+ private Date parseDate(String dateStr) {
|
|
|
+ //原格式为:yyyyMMdd HH:mm,加上秒才能转化
|
|
|
+ String dateString = dateStr + ":00";
|
|
|
+ Date date = null;
|
|
|
+ try {
|
|
|
+ date = DateTimeUtils.parseDatetime(dateString);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return date;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Title: getRunDate
|
|
|
+ * @Description: 获取运行时间
|
|
|
+ */
|
|
|
+ private String getRunDate(String dateStr) throws ParseException {
|
|
|
+ String rundate = DateTimeUtils.formatStr(dateStr, "yyyyMMdd");
|
|
|
+ return rundate;
|
|
|
+ }
|
|
|
}
|