Browse Source

去除致远sdk

mssql
Yen 3 years ago
parent
commit
5d9b79869f
  1. 55
      pom.xml
  2. 26
      src/main/java/com/qs/serve/common/config/properties/SeeYonProperties.java
  3. 130
      src/main/java/com/qs/serve/common/util/HttpUtil.java
  4. 49
      src/main/java/com/qs/serve/common/util/SeeYonUtil.java
  5. 16
      src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
  6. 73
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java
  7. 69
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  8. 13
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  9. 11
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java
  10. 6
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityGoods.java
  11. 12
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java
  12. 74
      src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsActivityCenterGoodsVo.java
  13. 7
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java
  14. 3
      src/main/resources/application-dev.yml

55
pom.xml

@ -27,65 +27,10 @@
<mybatis-plus.version>3.5.2</mybatis-plus.version>
<skipTests>true</skipTests>
<wx.java.version>4.2.0</wx.java.version>
<lib.dir>D:\workspace-main\JiaShiLi\jsl-questionnaire-base\src\main\resources\lib\</lib.dir>
</properties>
<dependencies>
<!-- 致远客户端所需依赖 START -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- 致远客户端所需依赖 END -->
<!-- 本地依赖 START -->
<dependency>
<groupId>com.seeyon</groupId>
<artifactId>seeyon</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${lib.dir}/seeyon-ctp-core.jar</systemPath>
</dependency>
<dependency>
<groupId>com.jsersey</groupId>
<artifactId>jsersey-client</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${lib.dir}/jersey-client.jar</systemPath>
</dependency>
<dependency>
<groupId>com.jsersey</groupId>
<artifactId>jsersey-common</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${lib.dir}/jersey-common.jar</systemPath>
</dependency>
<dependency>
<groupId>com.jsersey</groupId>
<artifactId>jsersey-guava</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${lib.dir}/jersey-guava.jar</systemPath>
</dependency>
<!-- 本地依赖 END -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>

26
src/main/java/com/qs/serve/common/config/properties/SeeYonProperties.java

@ -0,0 +1,26 @@
package com.qs.serve.common.config.properties;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: YenHex
* @Date: 2021/3/3
* @Version: 1.0
**/
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "project.seeyon")
public class SeeYonProperties {
private Boolean enable;
private String url;
}

130
src/main/java/com/qs/serve/common/util/HttpUtil.java

@ -0,0 +1,130 @@
package com.qs.serve.common.util;
import com.alibaba.fastjson.JSONObject;
import com.qs.serve.common.model.dto.R;
import org.apache.http.HttpEntity;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.HashMap;
/**
* @author YenHex
* @since 2022/11/23
*/
public class HttpUtil {
private final static String CONTENT_TYPE = "application/json";
private final static String CHARSET = "UTF-8";
private final static String EN_CONING = "UTF-8";
public static String doPost(String url, String jsonStr, HashMap<String,String> headers) {
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse response = null;
try {
//设post请求
HttpPost post = new HttpPost(url);
//创建请求实体传参
StringEntity postingString = new StringEntity(jsonStr,CHARSET);
postingString.setContentEncoding(EN_CONING);
//设置post请求参数
post.setEntity(postingString);
post.addHeader(HTTP.CONTENT_TYPE,CONTENT_TYPE);
if (headers != null) {
for (String key : headers.keySet()) {
post.addHeader(key,headers.get(key));
}
}
//执行post请求
response = client.execute(post);
//访问成功状态码为200
if (response.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(response.getEntity());
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
client.close();
if(response!=null){
response.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
public static String doGet(String url, HashMap<String,String> headers) {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpGet httpget = new HttpGet(url);
httpget.addHeader(HTTP.CONTENT_TYPE,CONTENT_TYPE);
if (headers != null) {
for (String key : headers.keySet()) {
httpget.addHeader(key,headers.get(key));
}
}
CloseableHttpResponse response = httpclient.execute(httpget);
try {
if (response.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(response.getEntity());
}
} finally {
response.close();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
public static String createUrl(HashMap<String,String> param){
StringBuilder sb = new StringBuilder();
for (String key : param.keySet()) {
sb.append("&"+key+"="+param.get(key));
}
return sb.toString();
}
public static R<String> doGetResult(String url,HashMap<String,String> headers){
String result = HttpUtil.doGet(url,headers);
JSONObject jsonObject = JSONObject.parseObject(result);
Integer status = jsonObject.getInteger("status");
String msg = jsonObject.getString("msg");
String data = jsonObject.getString("data");
return new R(status,msg,data);
}
public static R<String> doPostResult(String url, String jsonStr, HashMap<String,String> headers){
String result = HttpUtil.doPost(url,jsonStr,headers);
JSONObject jsonObject = JSONObject.parseObject(result);
Integer status = jsonObject.getInteger("status");
String msg = jsonObject.getString("msg");
String data = jsonObject.getString("data");
return new R(status,msg,data);
}
}

49
src/main/java/com/qs/serve/common/util/SeeYonUtil.java

@ -1,49 +0,0 @@
package com.qs.serve.common.util;
import com.alibaba.fastjson.JSON;
import com.seeyon.client.CTPRestClient;
import com.seeyon.client.CTPServiceClientManager;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import java.util.HashMap;
import java.util.Map;
/**
* @Author JcYen
* @Date 2021/5/21
*/
@Slf4j
@Configuration
public class SeeYonUtil {
public static String restUrl = "http://192.168.10.7";
public static String userName = "kenpbtz";
public static String password = "66da74b2-f141-4b01-ae58-ac6ce4cfcc47";
/**
* 致远客户端
* 文献http://open.seeyon.com/book/ctp/restjie-kou/restjie-kou-java-ke-hu-duan.html
* @return
*/
public static CTPRestClient getRestClient() {
CTPServiceClientManager clientManager = CTPServiceClientManager.getInstance(restUrl);
CTPRestClient client = null;
try {
client = clientManager.getRestClient();
//登录校验,成功返回true,失败返回false,此过程并会把验证通过获取的token保存在缓存中
//再请求访问其他资源时会自动把token放入请求header中。
client.authenticate(userName, password);
} catch (Exception e) {
log.error("致远客户端获取异常:{}",e.getMessage(),e);
}
return client;
}
}

16
src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java

@ -0,0 +1,16 @@
package com.qs.serve.modules.tbs.common;
/**
* @author YenHex
* @since 2022/11/23
*/
public interface TbsSeeYonConst {
String COST_APPLY_FORM = "CostBill_Test";
String COST_APPLY_USER = "banzhang1";
String API_PROCESS_CREATE = "/process/create";
String API_GET_FORM_ID = "/process/getFormId";
}

73
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

@ -10,7 +10,9 @@ import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.tbs.common.TbsGoodsType;
import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.vo.TbsActivityCenterGoodsVo;
import com.qs.serve.modules.tbs.service.*;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -21,6 +23,7 @@ import com.qs.serve.modules.tbs.entity.vo.TbsActivityVo;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -56,7 +59,6 @@ public class TbsActivityController {
public R<List<TbsActivity>> getList(TbsActivityVo param){
TbsActivity entity = CopierUtil.copy(param,new TbsActivity());
LambdaQueryWrapper<TbsActivity> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<TbsActivity> list = tbsActivityService.list(lqw);
for (TbsActivity activity : list) {
QueryWrapper qw = new QueryWrapper<>();
@ -65,6 +67,17 @@ public class TbsActivityController {
if(goodsList.size()>0){
activity.setGoodsType(goodsList.get(0).getTargetType());
}
for (TbsActivityGoods goods : goodsList) {
if(goods.getTargetType().equals(TbsGoodsType.sku.name())){
try {
String[] names = goods.getTargetLevelPathNames().split("_");
goods.setSkuName(names[names.length-1]);
goods.setSpuName(names[names.length-2]);
} catch (Exception e) {
log.error("格式错误:{}",goods.getTargetLevelPathNames());
}
}
}
activity.setGoodsList(goodsList);
List<TbsActivitySubject> activitySubjects = activitySubjectService.list(qw);
activity.setSubjectCenterList(activitySubjects);
@ -87,6 +100,42 @@ public class TbsActivityController {
return R.byPageHelperList(list);
}
/**
* 费用详情列表
* @param id
* @return
*/
@GetMapping("/getCostListById/{id}")
@SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.QUERY)
@PreAuthorize("hasRole('tbs:activity:query')")
public R<List<TbsActivityCenterGoodsVo>> getCostListById(@PathVariable("id") String id){
QueryWrapper qw = new QueryWrapper();
qw.eq("cost_apply_id",id);
List<TbsActivity> activityList = tbsActivityService.list(qw);
List<TbsActivityCenterGoods> centerGoodsList = activityCenterGoodsService.list(qw);
List<TbsActivityCenterGoodsVo> voList = new ArrayList<>();
for (TbsActivityCenterGoods centerGoods : centerGoodsList) {
TbsActivityCenterGoodsVo goods = CopierUtil.copy(centerGoods,new TbsActivityCenterGoodsVo());
for (TbsActivity activity : activityList) {
if(goods.getActivityId().equals(activity.getId())){
goods.setActivityInfo(activity);
break;
}
}
if(goods.getTargetType().equals(TbsGoodsType.sku.name())){
try {
String[] names = goods.getTargetLevelPathNames().split("_");
goods.setSkuName(names[names.length-1]);
goods.setSpuName(names[names.length-2]);
} catch (Exception e) {
log.error("格式错误:{}",goods.getTargetLevelPathNames());
}
}
voList.add(goods);
}
return R.ok(voList);
}
/**
* ID查询
* @param id
@ -102,6 +151,17 @@ public class TbsActivityController {
List<TbsActivityGoods> goodsList = activityGoodsService.list(qw);
if(goodsList.size()>0){
activity.setGoodsType(goodsList.get(0).getTargetType());
goodsList.forEach(goods->{
if(goods.getTargetType().equals(TbsGoodsType.sku.name())){
try {
String[] names = goods.getTargetLevelPathNames().split("_");
goods.setSkuName(names[names.length-1]);
goods.setSpuName(names[names.length-2]);
} catch (Exception e) {
log.error("格式错误:{}",goods.getTargetLevelPathNames());
}
}
});
}
activity.setGoodsList(goodsList);
List<TbsActivityChannel> activityChannels = activityChannelService.list(qw);
@ -122,6 +182,17 @@ public class TbsActivityController {
}
activity.setSubjectCenterList(activitySubjects);
List<TbsActivityCenterGoods> activityCenterGoodsList = activityCenterGoodsService.list(qw);
activityCenterGoodsList.forEach(goods->{
if(goods.getTargetType().equals(TbsGoodsType.sku.name())){
try {
String[] names = goods.getTargetLevelPathNames().split("_");
goods.setSkuName(names[names.length-1]);
goods.setSpuName(names[names.length-2]);
} catch (Exception e) {
log.error("格式错误:{}",goods.getTargetLevelPathNames());
}
}
});
activity.setCenterGoodsList(activityCenterGoodsList);
return R.ok(activity);
}

69
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -1,18 +1,20 @@
package com.qs.serve.modules.tbs.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.SeeYonProperties;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import lombok.AllArgsConstructor;
@ -26,7 +28,10 @@ import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 预算 费用申请
@ -43,6 +48,7 @@ public class TbsCostApplyController {
private BmsSupplierService bmsSupplierService;
private SysUserService sysUserService;
private TbsActivityService tbsActivityService;
private SeeYonProperties seeYonProperties;
/**
* 列表
@ -87,7 +93,54 @@ public class TbsCostApplyController {
return R.ok(tbsCostApply);
}
/**
* 提交费用申请
* @param id
* @return
*/
@PostMapping("/commit/{id}")
@SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:costApply:update')")
public R<?> updateState(@PathVariable("id") String id){
if(!seeYonProperties.getEnable()){
return R.error("远程服务未开启");
}
String url = seeYonProperties.getUrl();
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsCostApply tbsCostApply = tbsCostApplyService.getById(id);
if(tbsCostApply.getChargeState().equals(0)){
Map<String, Object> data = new HashMap<>(10);
data.put("empId",sysUser.getCode());
data.put("applyTime",DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME));
data.put("money",tbsCostApply.getTotalActivityAmount());
data.put("costApplyCode",tbsCostApply.getId());
data.put("costApplyId",tbsCostApply.getId());
Map<String,Object> param = new HashMap<>(10);
param.put("templateCode", TbsSeeYonConst.COST_APPLY_FORM);
param.put("memberLoginName",TbsSeeYonConst.COST_APPLY_USER);
param.put("subjectTitle",tbsCostApply.getChargeTheme());
param.put("dataJson",JsonUtil.objectToJson(data));
R<String> flowIdResult = HttpUtil.doPostResult(url+TbsSeeYonConst.API_PROCESS_CREATE, JsonUtil.objectToJson(param),null);
if(flowIdResult.getStatus()!=200){
return R.error("远程服务调用失败");
}
String flowId = flowIdResult.getData();
String formId = null;
R<String> formIdResult = HttpUtil.doGetResult(url+TbsSeeYonConst.API_GET_FORM_ID,null);
if(formIdResult.getStatus()==200){
formId = formIdResult.getData();
}
TbsCostApply costApply = new TbsCostApply();
costApply.setId(tbsCostApply.getId());
costApply.setSyFlowId(flowId);
costApply.setSyFormId(formId);
tbsCostApplyService.updateById(costApply);
return R.ok();
}else if (tbsCostApply.getChargeState().equals(4)){
//todo 驳回重新申请
}
return R.error("当前状态不可申请");
}
/**
* 更新
@ -102,8 +155,8 @@ public class TbsCostApplyController {
entity.setId(param.getId());
entity.setRemark(param.getRemark());
entity.setChargeTheme(param.getChargeTheme());
boolean result = tbsCostApplyService.updateById(entity);
return R.isTrue(result);
tbsCostApplyService.updateById(entity);
return R.ok();
}
/**
@ -123,8 +176,8 @@ public class TbsCostApplyController {
entity.setUserId(sysUser.getId());
entity.setUserCode(sysUser.getCode());
entity.setUserName(sysUser.getName());
boolean result = tbsCostApplyService.save(entity);
return R.isTrue(result);
tbsCostApplyService.save(entity);
return R.ok(entity);
}
/**

13
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
@ -127,26 +128,26 @@ public class TbsActivity implements Serializable {
/** 产品详情 */
@TableField(exist = false)
private List<?> goodsList;
private List<TbsActivityGoods> goodsList;
/** 客户详情1(三选一) */
@TableField(exist = false)
private List<?> customChannelList;
private List<TbsActivityChannel> customChannelList;
/** 客户详情2 */
@TableField(exist = false)
private List<?> customChannelPointList;
private List<TbsActivityChannelPoint> customChannelPointList;
/** 客户详情3 */
@TableField(exist = false)
private Object customSupplier;
private BmsSupplier customSupplier;
/** 成本中心与商品配比列表 */
@TableField(exist = false)
private List<?> centerGoodsList;
private List<TbsActivityCenterGoods> centerGoodsList;
/** 科目与成本中心 */
@TableField(exist = false)
private List<?> subjectCenterList;
private List<TbsActivitySubject> subjectCenterList;
}

11
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java

@ -31,6 +31,8 @@ public class TbsActivityCenterGoods implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
private String centerGoodsCode;
/** 费用申请id */
@NotNull(message = "费用申请id不能为空")
private Long costApplyId;
@ -61,6 +63,9 @@ public class TbsActivityCenterGoods implements Serializable {
@NotNull(message = "费用占比不能为空")
private BigDecimal centerGoodsRate;
/** 费用已用额度 */
private BigDecimal usedAmount;
/** 成本中心类型 */
@NotBlank(message = "成本中心类型不能为空")
@Length(max = 50,message = "成本中心类型长度不能超过50字")
@ -142,5 +147,11 @@ public class TbsActivityCenterGoods implements Serializable {
@JsonProperty
private String delFlag;
@TableField(exist = false)
private String spuName;
@TableField(exist = false)
private String skuName;
}

6
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityGoods.java

@ -100,5 +100,11 @@ public class TbsActivityGoods implements Serializable {
@JsonProperty
private String delFlag;
@TableField(exist = false)
private String spuName;
@TableField(exist = false)
private String skuName;
}

12
src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java

@ -50,8 +50,8 @@ public class TbsCostApply implements Serializable {
@Length(max = 30,message = "客户名称长度不能超过30字")
private String supplierName;
/** 状态:0=未发布;1=待执行;2=待核销;完成; */
@NotNull(message = "状态:0=未发布;1=待执行;2=待核销;完成;不能为空")
/** 状态:0=未发布;1=审批中;2=待执行;3=完成;4-被驳回 */
@NotNull(message = "状态不能为空")
private Integer chargeState;
/** 备注 */
@ -63,14 +63,18 @@ public class TbsCostApply implements Serializable {
@Length(max = 32,message = "申请人长度不能超过32字")
private String userId;
/** */
/** 用户编码 */
@Length(max = 32,message = "长度不能超过32字")
private String userCode;
/** */
/** 用户名称 */
@Length(max = 32,message = "长度不能超过32字")
private String userName;
private String syFormId;
private String syFlowId;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

74
src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsActivityCenterGoodsVo.java

@ -5,9 +5,14 @@ import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
@ -28,6 +33,8 @@ public class TbsActivityCenterGoodsVo implements Serializable {
/** id */
private Long id;
private String centerGoodsCode;
/** 费用申请id */
private Long costApplyId;
@ -44,73 +51,70 @@ public class TbsActivityCenterGoodsVo implements Serializable {
private String subjectName;
/** 费用额度 */
private BigDecimal amount;
private BigDecimal centerGoodsAmount;
/** 费用占比 */
private BigDecimal centerGoodsRate;
/** 费用已用额度 */
private BigDecimal usedAmount;
/** 成本中心类型 */
private String centerType;
/** 成本中心id */
private Long centerId;
private String centerId;
/** 成本中心编码 */
@NotBlank(message = "成本中心编码不能为空")
@Length(max = 50,message = "成本中心编码长度不能超过50字")
private String centerCode;
/** 成本中心名称 */
@NotBlank(message = "成本中心名称不能为空")
@Length(max = 50,message = "成本中心名称长度不能超过50字")
private String centerName;
/** 费用占比 */
private BigDecimal centerGoodsRate;
/** 目标类型(brand、category、series、spu、sku) */
@NotBlank(message = "目标类型(brand、category、series、spu、sku)不能为空")
@Length(max = 30,message = "目标类型(brand、category、series、spu、sku)长度不能超过30字")
private String targetType;
/** 目标id */
@NotNull(message = "目标id不能为空")
private Long targetId;
/** 目标编码 */
@NotBlank(message = "目标编码不能为空")
@Length(max = 30,message = "目标编码长度不能超过30字")
private String targetCode;
/** 目标名称 */
@NotBlank(message = "目标名称不能为空")
@Length(max = 30,message = "目标名称长度不能超过30字")
private String targetName;
/** 目标父级id */
private Long targetParentId;
/** 目标父级编码 */
private String targetParentCode;
/** 目标父级名称 */
private String targetParentName;
/** 目标等级id路径 */
@Length(max = 600,message = "目标等级路径长度不能超过600字")
private String targetLevelPathIds;
/** 目标等级路径 */
private String targetLevelPath;
/** 目标等级名称路径 */
@Length(max = 600,message = "目标等级路径长度不能超过600字")
private String targetLevelPathNames;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/** 最后更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 创建人 */
private String createBy;
@TableField(exist = false)
private String spuName;
/** 更新人 */
private String updateBy;
@TableField(exist = false)
private String skuName;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
/** 活动信息(活动执行时间,预计核销时间、活动简介) */
private TbsActivity activityInfo;
}

7
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

@ -196,9 +196,11 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
List<TbsActivityGoods> activityGoodsList,
List<TbsActivityCenterGoods> activityCenterGoodsList,
TbsCostApply costApply,TbsActivity activity){
for (TbsActivityCenterGoodsBo centerGoodsBo : activityBo.getActivityCenterGoodsList()) {
for (int i = 0; i < activityBo.getActivityCenterGoodsList().size(); i++) {
TbsActivityCenterGoodsBo centerGoodsBo = activityBo.getActivityCenterGoodsList().get(i);
BmsSubject subject = subjectMap.get(centerGoodsBo.getSubjectId());
TbsActivityCenterGoods centerGoods = new TbsActivityCenterGoods();
centerGoods.setCenterGoodsCode(activity.getActivityCode()+"_"+(i+1));
//设置成本中心
String key = centerGoodsBo.getCenterType()+":"+centerGoodsBo.getCenterId();
TbsCenterDto tbsCenterDto = centerDtoMap.get(key);
@ -352,7 +354,8 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
activityGoods.setTargetType(goodsType);
activityGoods.setTargetId(sku.getId());
activityGoods.setTargetCode(sku.getSkuCode());
activityGoods.setTargetName(goodsSpu.getName()+"("+sku.getSpecInfos()+")");
//activityGoods.setTargetName(goodsSpu.getName()+"("+sku.getSpecInfos()+")");
activityGoods.setTargetName(sku.getSpecInfos());
activityGoods.setTargetLevelPathIds(category1.getId()+"_"+category2.getId()+"_"+category3.getId()+"_"+goodsSpu.getId()+"_"+sku.getId());
activityGoods.setTargetLevelPathNames(category1.getName()+"_"+category2.getName()+"_"+category3.getName()+"_"+goodsSpu.getName()+"_"+sku.getSpecInfos());
activityGoodsList.add(activityGoods);

3
src/main/resources/application-dev.yml

@ -1,5 +1,8 @@
#项目配置
project:
seeyon:
enable: true
url: 'http://192.168.0.9:7444'
upload:
#上传映射地址
proxy-url: http://183.234.29.228:6021/

Loading…
Cancel
Save