| Pass |
- 13:53:28 |
+ 13:53:47 |
Test passed
|
@@ -128,13 +128,13 @@
Started
-
05, 2024 13:53:27
+
06, 2024 13:53:46
Ended
-
05, 2024 13:53:28
+
06, 2024 13:53:47
diff --git a/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java b/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java
index 0bc735a7..c8f4adbb 100644
--- a/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java
+++ b/hiver-core/src/main/java/cc/hiver/core/common/utils/SecurityUtil.java
@@ -127,7 +127,21 @@ public class SecurityUtil {
if (CharSequenceUtil.isNotBlank(res)) {
return new Gson().fromJson(res, LogiticsCompany.class);
}
- final LogiticsCompany logiticsCompany = logiticsCompanyDao.findByUsername(username);
+ LogiticsCompany logiticsCompany = logiticsCompanyDao.findByUsername(username);
+ // 如果没有获取到,那么去搜索公司员工信息
+ if (logiticsCompany == null ) {
+ logiticsCompany = new LogiticsCompany();
+ // 物流公司主表中没有查询到信息,查询物流公司员工信息
+ final LogisticsUser logisticsUser = logisticsUserService.findByMobile(username);
+ if(logisticsUser == null){
+ return null;
+ }else{
+ // 覆盖物流公司id为当前登录的物流公司员工id
+ logiticsCompany.setId(logisticsUser.getId());
+ logiticsCompany.setUsername(logisticsUser.getMobile());
+ logiticsCompany.setPassword(logisticsUser.getPassword());
+ }
+ }
// 缓存
redisTemplate.set(key, new Gson().toJson(logiticsCompany), tokenProperties.getSaveLoginTime(), TimeUnit.DAYS);
return logiticsCompany;
@@ -352,10 +366,6 @@ public class SecurityUtil {
public LogiticsCompany getCurrCompany() {
final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- final boolean authenticated = authentication.isAuthenticated();
- final boolean aa = authentication instanceof AnonymousAuthenticationToken;
- final String name = authentication.getName();
- final boolean bb = authentication == null;
if (authentication == null || !authentication.isAuthenticated() || authentication.getName() == null
|| authentication instanceof AnonymousAuthenticationToken) {
throw new HiverException("未检测到登录用户");
@@ -670,6 +680,9 @@ public class SecurityUtil {
}else{
// 覆盖物流公司id为当前登录的物流公司员工id
logiticsCompany.setId(logisticsUser.getId());
+ logiticsCompany.setContacts(logisticsUser.getNickName());
+ logiticsCompany.setUsername(logisticsUser.getMobile());
+ logiticsCompany.setPassword(logisticsUser.getPassword());
}
}
Boolean saved = false;
diff --git a/hiver-core/src/main/java/cc/hiver/core/common/vo/TokenCompany.java b/hiver-core/src/main/java/cc/hiver/core/common/vo/TokenCompany.java
index e8606107..5e14b43d 100644
--- a/hiver-core/src/main/java/cc/hiver/core/common/vo/TokenCompany.java
+++ b/hiver-core/src/main/java/cc/hiver/core/common/vo/TokenCompany.java
@@ -22,6 +22,8 @@ public class TokenCompany implements UserDetails, Serializable {
private String username;
+ private String nickName;
+
private String password;
private Boolean platform;
@@ -30,6 +32,7 @@ public class TokenCompany implements UserDetails, Serializable {
this.id = logiticsCompany.getId();
this.companyName = logiticsCompany.getCompanyName();
this.username = logiticsCompany.getUsername();
+ this.nickName = logiticsCompany.getContacts();
this.password = logiticsCompany.getPassword();
this.platform = platform;
}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/controller/LogisticsLandingFeeRulesController.java b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/controller/LogisticsLandingFeeRulesController.java
new file mode 100644
index 00000000..c39f60c6
--- /dev/null
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/controller/LogisticsLandingFeeRulesController.java
@@ -0,0 +1,146 @@
+package cc.hiver.core.logisticslandingfeerules.controller;
+
+import cc.hiver.core.common.utils.ResultUtil;
+import cc.hiver.core.common.vo.Result;
+import cc.hiver.core.logisticslandingfeerules.entity.LogisticsLandingFeeRules;
+import cc.hiver.core.logisticslandingfeerules.service.LogisticsLandingFeeRulesService;
+import cc.hiver.core.logisticslandingfeerules.vo.LogisticsLandingFeeRulesQueryVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 站点落地费规则控制器
+ *
+ * @author 王富康
+ * @date 2024/8/24
+ */
+@Slf4j
+@RestController
+@Api(tags = "站点落地费规则接口")
+@RequestMapping("/hiver/app/logisticsLandingFeeRules/")
+@Transactional
+public class LogisticsLandingFeeRulesController {
+
+ @Autowired
+ private LogisticsLandingFeeRulesService logisticsLandingFeeRulesService;
+
+ /**
+ * 新增物流站点落地费规则
+ *
+ * @param logisticsLandingFeeRules
+ * @return Result
+ * @author 王富康
+ * @date 2024/8/24
+ */
+ @PostMapping(value = "/addLogisticsLandingFeeRules")
+ @ApiOperation("新增物流站点落地费规则")
+ public Result addLogisticsLandingFeeRules(@RequestBody LogisticsLandingFeeRules logisticsLandingFeeRules) {
+
+ final boolean b = logisticsLandingFeeRulesService.saveOrUpdate(logisticsLandingFeeRules);
+ if (b) {
+ return ResultUtil.success("保存成功!");
+ } else {
+ return ResultUtil.error("保存失败!");
+ }
+ }
+
+ /**
+ * 更新物流站点落地费规则
+ *
+ * @param logisticsLandingFeeRules
+ * @return Result
+ * @author 王富康
+ * @date 2024/8/24
+ */
+ @PostMapping(value = "/updateLogisticsLandingFeeRules")
+ @ApiOperation("更新物流站点落地费规则")
+ public Result updateLogisticsLandingFeeRules(@RequestBody LogisticsLandingFeeRules logisticsLandingFeeRules) {
+
+ final boolean b = logisticsLandingFeeRulesService.saveOrUpdate(logisticsLandingFeeRules);
+ if (b) {
+ return ResultUtil.success("保存成功!");
+ } else {
+ return ResultUtil.error("保存失败!");
+ }
+ }
+
+ /**
+ * 删除物流站点落地费规则
+ *
+ * @param id
+ * @return Result
+ * @author 王富康
+ * @date 2024/8/24
+ */
+ @PostMapping(value = "/deleteLogisticsLandingFeeRules")
+ @ApiOperation("删除物流站点落地费规则")
+ public Result deleteLogisticsLandingFeeRules(String id) {
+
+ final boolean b = logisticsLandingFeeRulesService.removeById(id);
+ if (b) {
+ return ResultUtil.success("删除成功!");
+ } else {
+ return ResultUtil.error("删除失败!");
+ }
+ }
+
+ /**
+ * 分页查询物流站点落地费规则
+ *
+ * @param logisticsRouteQueryVo
+ * @return Result>
+ * @author 王富康
+ * @date 2024/8/24
+ */
+ @RequestMapping(value = "/getLogisticsLandingFeeRulesPageList", method = RequestMethod.POST)
+ @ApiOperation(value = "分页查询物流站点落地费规则")
+ public Result> getLogisticsLandingFeeRulesPageList(@RequestBody(required = false) LogisticsLandingFeeRulesQueryVo logisticsRouteQueryVo) {
+ final IPage result = logisticsLandingFeeRulesService.getLogisticsLandingFeeRulesPageList(logisticsRouteQueryVo);
+ return new ResultUtil>().setData(result);
+ }
+
+ /**
+ * 根据站点id查询所有站点信息
+ *
+ * @param stationId
+ * @return Result>
+ * @author 王富康
+ * @date 2024/8/28
+ */
+ @RequestMapping(value = "/getLogisticsLandingFeeRulesListByStationId", method = RequestMethod.POST)
+ @ApiOperation(value = "根据站点id查询所有落地费规则")
+ public Result> getLogisticsLandingFeeRulesListByStationId(String stationId) {
+ if (StringUtils.isEmpty(stationId)) {
+ return ResultUtil.error("站点信息不能为空!");
+ }
+ final List result = logisticsLandingFeeRulesService.getLogisticsLandingFeeRulesListByStationId(stationId);
+ return new ResultUtil>().setData(result);
+ }
+
+ /**
+ * 批量新增物流站点落地费规则
+ * @author 王富康
+ * @date 2024/9/6
+ * @param logisticsLandingFeeRulesList
+ * @return Result
+ */
+ @PostMapping(value = "/addLogisticsLandingFeeRulesList")
+ @ApiOperation("批量新增物流站点落地费规则")
+ public Result addLogisticsLandingFeeRulesList(@RequestBody List logisticsLandingFeeRulesList) {
+
+ final boolean b = logisticsLandingFeeRulesService.saveBatch(logisticsLandingFeeRulesList);
+ if (b) {
+ return ResultUtil.success("保存成功!");
+ } else {
+ return ResultUtil.error("保存失败!");
+ }
+ }
+}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/entity/LogisticsLandingFeeRules.java b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/entity/LogisticsLandingFeeRules.java
new file mode 100644
index 00000000..e5714330
--- /dev/null
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/entity/LogisticsLandingFeeRules.java
@@ -0,0 +1,41 @@
+package cc.hiver.core.logisticslandingfeerules.entity;
+
+import cc.hiver.core.base.HiverBaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+
+/**
+ * 物流站点落地费规则实体
+ *
+ * @author 王富康
+ * @date 2024/8/24
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel(value = "物流站点落地费规则表")
+@TableName(value = "t_logistics_landing_fee_rules", autoResultMap = true)
+public class LogisticsLandingFeeRules extends HiverBaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "站点id")
+ private String stationId;
+
+ @ApiModelProperty(value = "站点名称")
+ private String stationName;
+
+ @ApiModelProperty(value = "起收点")
+ private BigDecimal minWeight;
+
+ @ApiModelProperty(value = "终收点")
+ private BigDecimal maxWeight;
+
+ @ApiModelProperty(value = "收费金额")
+ private BigDecimal price;
+
+}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/mapper/LogisticsLandingFeeRulesMapper.java b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/mapper/LogisticsLandingFeeRulesMapper.java
new file mode 100644
index 00000000..133eebe5
--- /dev/null
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/mapper/LogisticsLandingFeeRulesMapper.java
@@ -0,0 +1,34 @@
+package cc.hiver.core.logisticslandingfeerules.mapper;
+
+import cc.hiver.core.logisticslandingfeerules.entity.LogisticsLandingFeeRules;
+import cc.hiver.core.logisticslandingfeerules.vo.LogisticsLandingFeeRulesQueryVo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface LogisticsLandingFeeRulesMapper extends BaseMapper {
+
+ /**
+ * 分页查询物流站点落地费规则
+ *
+ * @param page
+ * @param logisticsRouteQueryVo
+ * @return IPage
+ * @author 王富康
+ * @date 2024/8/24
+ */
+ IPage getLogisticsLandingFeeRulesPageList(Page page, @Param("queryParams") LogisticsLandingFeeRulesQueryVo logisticsRouteQueryVo);
+
+ /**
+ * 根据站点id查询所有落地费规则
+ *
+ * @param stationId
+ * @return List
+ * @author 王富康
+ * @date 2024/8/28
+ */
+ List getLogisticsLandingFeeRulesListByStationId(@Param("stationId")String stationId);
+}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/service/LogisticsLandingFeeRulesService.java b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/service/LogisticsLandingFeeRulesService.java
new file mode 100644
index 00000000..5da4d7f9
--- /dev/null
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/service/LogisticsLandingFeeRulesService.java
@@ -0,0 +1,31 @@
+package cc.hiver.core.logisticslandingfeerules.service;
+
+import cc.hiver.core.logisticslandingfeerules.entity.LogisticsLandingFeeRules;
+import cc.hiver.core.logisticslandingfeerules.vo.LogisticsLandingFeeRulesQueryVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+public interface LogisticsLandingFeeRulesService extends IService {
+
+ /**
+ * 分页查询物流站点落地费规则
+ *
+ * @param logisticsRouteQueryVo
+ * @return IPage
+ * @author 王富康
+ * @date 2024/8/24
+ */
+ IPage getLogisticsLandingFeeRulesPageList(LogisticsLandingFeeRulesQueryVo logisticsRouteQueryVo);
+
+ /**
+ * 根据站点id查询所有落地费规则
+ *
+ * @param stationId
+ * @return List
+ * @author 王富康
+ * @date 2024/8/28
+ */
+ List getLogisticsLandingFeeRulesListByStationId(String stationId);
+}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/service/impl/LogisticsLandingFeeRulesServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/service/impl/LogisticsLandingFeeRulesServiceImpl.java
new file mode 100644
index 00000000..ef523001
--- /dev/null
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/service/impl/LogisticsLandingFeeRulesServiceImpl.java
@@ -0,0 +1,47 @@
+package cc.hiver.core.logisticslandingfeerules.service.impl;
+
+import cc.hiver.core.logisticslandingfeerules.entity.LogisticsLandingFeeRules;
+import cc.hiver.core.logisticslandingfeerules.mapper.LogisticsLandingFeeRulesMapper;
+import cc.hiver.core.logisticslandingfeerules.service.LogisticsLandingFeeRulesService;
+import cc.hiver.core.logisticslandingfeerules.vo.LogisticsLandingFeeRulesQueryVo;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class LogisticsLandingFeeRulesServiceImpl extends ServiceImpl implements LogisticsLandingFeeRulesService {
+
+ @Autowired
+ private LogisticsLandingFeeRulesMapper logisticsLandingFeeRulesMapper;
+
+ /**
+ * 分页查询物流站点落地费规则
+ *
+ * @param logisticsRouteQueryVo
+ * @return IPage
+ * @author 王富康
+ * @date 2024/8/24
+ */
+ @Override
+ public IPage getLogisticsLandingFeeRulesPageList(LogisticsLandingFeeRulesQueryVo logisticsRouteQueryVo) {
+ final Page page = new Page<>(logisticsRouteQueryVo.getPageNum(), logisticsRouteQueryVo.getPageSize());
+ return logisticsLandingFeeRulesMapper.getLogisticsLandingFeeRulesPageList(page, logisticsRouteQueryVo);
+ }
+
+ /**
+ * 根据站点id查询所有落地费规则
+ *
+ * @param String stationId
+ * @return List
+ * @author 王富康
+ * @date 2024/8/28
+ */
+ @Override
+ public List getLogisticsLandingFeeRulesListByStationId(String stationId) {
+ return logisticsLandingFeeRulesMapper.getLogisticsLandingFeeRulesListByStationId(stationId);
+ }
+}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/vo/LogisticsLandingFeeRulesQueryVo.java b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/vo/LogisticsLandingFeeRulesQueryVo.java
new file mode 100644
index 00000000..c22b9011
--- /dev/null
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticslandingfeerules/vo/LogisticsLandingFeeRulesQueryVo.java
@@ -0,0 +1,24 @@
+package cc.hiver.core.logisticslandingfeerules.vo;
+
+import cc.hiver.core.base.HiverBasePageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 物流站点落地费规则查询参数
+ * @author 王富康
+ * @date 2024/8/24
+ */
+@Data
+public class LogisticsLandingFeeRulesQueryVo extends HiverBasePageQuery {
+
+ @ApiModelProperty(value = "站点id")
+ private String stationId;
+
+ @ApiModelProperty(value = "线路id")
+ private String circuitId;
+
+ @ApiModelProperty(value = "站点名称")
+ private String stationName;
+
+}
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java
index 2bd38e34..99c119f5 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/controller/LogisticsOrderController.java
@@ -2,7 +2,9 @@ package cc.hiver.core.logisticsorder.controller;
import cc.hiver.core.common.utils.PinYinUtils;
import cc.hiver.core.common.utils.ResultUtil;
+import cc.hiver.core.common.utils.SecurityUtil;
import cc.hiver.core.common.vo.Result;
+import cc.hiver.core.entity.LogiticsCompany;
import cc.hiver.core.logisticsaddressbook.service.LogisticsAddressBookService;
import cc.hiver.core.logisticsorder.entity.LogisticsOrder;
import cc.hiver.core.logisticsorder.entity.LogisticsOrderChangeLog;
@@ -42,6 +44,9 @@ public class LogisticsOrderController {
@Autowired
private LogisticsAddressBookService logisticsAddressBookService;
+ @Autowired
+ private SecurityUtil securityUtil;
+
@PostMapping(value = "/addLogisticsOrder")
@ApiOperation("新增物流订单")
public Result addLogisticsOrder(@RequestBody LogisticsOrder logisticsOrder) {
@@ -57,7 +62,9 @@ public class LogisticsOrderController {
}
logisticsOrder.setOrderNumber(orderNumber);
// 设置创建人姓名
- // logisticsOrder.setCreateByName();
+ final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
+ logisticsOrder.setCreateBy(logiticsCompany.getId());
+ logisticsOrder.setCreateByName(logiticsCompany.getContacts());
final boolean b = logisticsOrderService.saveOrUpdate(logisticsOrder);
if (b) {
//保存收发货人地址簿
@@ -84,6 +91,9 @@ public class LogisticsOrderController {
}
//先查询出旧的数据
LogisticsOrder oldLogisticsOrder = logisticsOrderService.getById(logisticsOrder.getId());
+ // 设置创建人姓名
+ final LogiticsCompany logiticsCompany = securityUtil.getCurrCompany();
+ logisticsOrder.setUpdateBy(logiticsCompany.getId());
final boolean b = logisticsOrderService.saveOrUpdate(logisticsOrder);
if (b) {
//如果更新成功,把修改记录保存一下
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java
index 8769a445..6d4eea97 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/entity/LogisticsOrder.java
@@ -1,14 +1,23 @@
package cc.hiver.core.logisticsorder.entity;
-import cc.hiver.core.base.HiverBaseEntity;
+import cc.hiver.core.common.constant.CommonConstant;
+import cc.hiver.core.common.utils.SnowFlakeUtil;
import cc.hiver.core.logisticsorder.vo.CompareField;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import lombok.EqualsAndHashCode;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedDate;
+import org.springframework.format.annotation.DateTimeFormat;
+import javax.persistence.Id;
import java.math.BigDecimal;
+import java.util.Date;
/**
* 物流中转实体
@@ -16,14 +25,43 @@ import java.math.BigDecimal;
* @author 王富康
* @date 2024/8/24
*/
-@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "物流订单表")
@TableName(value = "t_logistics_order", autoResultMap = true)
-public class LogisticsOrder extends HiverBaseEntity {
+public class LogisticsOrder{
private static final long serialVersionUID = 1L;
+ @Id
+ @TableId
+ @ApiModelProperty(value = "唯一标识")
+ private String id = SnowFlakeUtil.nextId().toString();
+
+ @ApiModelProperty(value = "创建者")
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ @CreatedDate
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "创建时间")
+ @TableField(fill = FieldFill.INSERT)
+ private Date createTime;
+
+ @ApiModelProperty(value = "更新者")
+ @TableField(fill = FieldFill.UPDATE)
+ private String updateBy;
+
+ @LastModifiedDate
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "更新时间")
+ @TableField(fill = FieldFill.UPDATE)
+ private Date updateTime;
+
+ @ApiModelProperty(value = "删除标志 默认0")
+ private Integer delFlag = CommonConstant.STATUS_NORMAL;
+
@CompareField(name = "操作人姓名")
@ApiModelProperty(value = "操作人姓名")
private String createByName;
diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/vo/LogisticsOrderQueryVo.java b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/vo/LogisticsOrderQueryVo.java
index 68e0f27b..f56b4f76 100644
--- a/hiver-core/src/main/java/cc/hiver/core/logisticsorder/vo/LogisticsOrderQueryVo.java
+++ b/hiver-core/src/main/java/cc/hiver/core/logisticsorder/vo/LogisticsOrderQueryVo.java
@@ -75,5 +75,8 @@ public class LogisticsOrderQueryVo extends HiverBasePageQuery {
@ApiModelProperty(value = "搜索字段")
private String searchStr;
+ @ApiModelProperty(value = "是否有修改记录的筛选")
+ private String isUpdate;
+
}
diff --git a/hiver-core/src/main/resources/mapper/LogisticsLandingFeeRulesMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsLandingFeeRulesMapper.xml
new file mode 100644
index 00000000..e1c15a9c
--- /dev/null
+++ b/hiver-core/src/main/resources/mapper/LogisticsLandingFeeRulesMapper.xml
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, create_by, create_time, del_flag, update_by, update_time, station_id, station_name, min_weight, max_weight, price
+
+
+
+
+
+ delete from t_logistics_landing_fee_rules
+ where id = #{id,jdbcType=VARCHAR}
+
+
+
+ insert into t_logistics_landing_fee_rules
+ (id, create_by, create_time, del_flag, update_by, update_time, station_id, station_name, min_weight, max_weight, price)
+ values (#{id,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
+ #{delFlag,jdbcType=INTEGER}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
+ #{record.stationId,jdbcType=VARCHAR}, #{record.stationName,jdbcType=VARCHAR}, #{record.minWeight,jdbcType=DECIMAL},
+ #{record.maxWeight,jdbcType=DECIMAL}, #{record.price,jdbcType=DECIMAL})
+
+
+
+ update t_logistics_landing_fee_rules
+
+
+ id = #{record.id,jdbcType=VARCHAR},
+
+
+ create_by = #{record.createBy,jdbcType=VARCHAR},
+
+
+ create_time = #{record.createTime,jdbcType=TIMESTAMP},
+
+
+ del_flag = #{record.delFlag,jdbcType=INTEGER},
+
+
+ update_by = #{record.updateBy,jdbcType=VARCHAR},
+
+
+ update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+
+
+ station_id = #{record.stationId,jdbcType=VARCHAR},
+
+
+ station_name = #{record.stationName,jdbcType=VARCHAR},
+
+
+ min_weight = #{record.minWeight,jdbcType=DECIMAL},
+
+
+ max_weight = #{record.maxWeight,jdbcType=DECIMAL},
+
+
+ price = #{record.price,jdbcType=DECIMAL},
+
+
+
+
+
+ update t_logistics_landing_fee_rules
+ set id = #{record.id,jdbcType=VARCHAR},
+ create_by = #{record.createBy,jdbcType=VARCHAR},
+ create_time = #{record.createTime,jdbcType=TIMESTAMP},
+ del_flag = #{record.delFlag,jdbcType=INTEGER},
+ update_by = #{record.updateBy,jdbcType=VARCHAR},
+ update_time = #{record.updateTime,jdbcType=TIMESTAMP},
+ station_id = #{record.stationId,jdbcType=VARCHAR},
+ station_name = #{record.stationName,jdbcType=VARCHAR},
+ min_weight = #{record.minWeight,jdbcType=DECIMAL},
+ max_weight = #{record.maxWeight,jdbcType=DECIMAL},
+ price = #{record.price,jdbcType=DECIMAL}
+ where id = #{record.id,jdbcType=VARCHAR}
+
+
+
+ update t_logistics_landing_fee_rules
+
+
+ create_by = #{createBy,jdbcType=VARCHAR},
+
+
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+
+
+ del_flag = #{delFlag,jdbcType=INTEGER},
+
+
+ update_by = #{updateBy,jdbcType=VARCHAR},
+
+
+ update_time = #{updateTime,jdbcType=TIMESTAMP},
+
+
+ station_id = #{stationId,jdbcType=VARCHAR},
+
+
+ station_name = #{stationName,jdbcType=VARCHAR},
+
+
+ min_weight = #{minWeight,jdbcType=DECIMAL},
+
+
+ max_weight = #{maxWeight,jdbcType=DECIMAL},
+
+
+ price = #{price,jdbcType=DECIMAL},
+
+
+ where id = #{id,jdbcType=VARCHAR}
+
+
+
+ update t_logistics_landing_fee_rules
+ set create_by = #{createBy,jdbcType=VARCHAR},
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ del_flag = #{delFlag,jdbcType=INTEGER},
+ update_by = #{updateBy,jdbcType=VARCHAR},
+ update_time = #{updateTime,jdbcType=TIMESTAMP},
+ station_id = #{stationId,jdbcType=VARCHAR},
+ station_name = #{stationName,jdbcType=VARCHAR},
+ min_weight = #{minWeight,jdbcType=DECIMAL},
+ max_weight = #{maxWeight,jdbcType=DECIMAL},
+ price = #{price,jdbcType=DECIMAL}
+ where id = #{id,jdbcType=VARCHAR}
+
+
+
+
\ No newline at end of file
diff --git a/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
index d0885d13..e961a6bd 100644
--- a/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
+++ b/hiver-core/src/main/resources/mapper/LogisticsOrderMapper.xml
@@ -145,6 +145,14 @@
or receiver_mobile like concat('%',#{queryParams.searchStr},'%')
)
+
+
+ and exists (
+ select 1
+ from t_logistics_order_change_log tloc
+ where id = tloc.order_id
+ )
+
ORDER BY
create_time desc
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomerController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomerController.java
index 5c7e1526..ecc5fe12 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomerController.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/CustomerController.java
@@ -227,4 +227,26 @@ public class CustomerController {
return new ResultUtil>().setData(list);
}
+ /**
+ * 根据客户手机号及店铺id精准查询查询客户列表
+ * @author 王富康
+ * @date 2024/9/6
+ * @param userPhone
+ * @param shopId
+ * @return Result
+ */
+ @RequestMapping(value = "/findByUserPhoneAndShopId", method = RequestMethod.POST)
+ @ApiOperation("根据客户手机号及店铺id精准查询查询客户列表")
+ public Result findByUserPhoneAndShopId(String userPhone, String shopId) {
+ if(StringUtils.isEmpty(userPhone)){
+ return ResultUtil.error("用户手机号不能为空");
+ }
+ if(StringUtils.isEmpty(userPhone)){
+ return ResultUtil.error("店铺id不能为空");
+ }
+ // shopId从缓存中设置
+ final List list = customerService.findByUserPhoneAndShopId(userPhone, shopId);
+ return new ResultUtil>().setData(list);
+ }
+
}
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/CustomerMapper.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/CustomerMapper.java
index ba203798..692475ec 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/CustomerMapper.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/CustomerMapper.java
@@ -48,4 +48,6 @@ public interface CustomerMapper extends BaseMapper {
boolean batchDeleteCustomer(@Param("idList") List idList);
List findByUserName(@Param("userName") String userName,@Param("shopId") String shopId);
+
+ List findByUserPhoneAndShopId(@Param("userPhone") String userPhone,@Param("shopId") String shopId);
}
\ No newline at end of file
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SaleQueryDTO.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SaleQueryDTO.java
index e18231aa..7ca66e87 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SaleQueryDTO.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/dto/SaleQueryDTO.java
@@ -30,6 +30,9 @@ public class SaleQueryDTO implements Serializable {
@ApiModelProperty(value = "客户手机号")
private String mobile;
+ @ApiModelProperty(value = "客户id")
+ private String userId;
+
@ApiModelProperty(value = "客户名称")
private String username;
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/controller/PurchaseOcrPictureController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/controller/PurchaseOcrPictureController.java
index 04f34083..794e1fdc 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/controller/PurchaseOcrPictureController.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/controller/PurchaseOcrPictureController.java
@@ -24,7 +24,7 @@ import java.util.List;
@Slf4j
@RestController
-@Api(tags = "问题反馈接口")
+@Api(tags = "入库AI接口")
@RequestMapping("/hiver/purchaseOcrPicture/")
@Transactional
public class PurchaseOcrPictureController {
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/CustomerService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/CustomerService.java
index e9ad2548..b3ef00e1 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/CustomerService.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/CustomerService.java
@@ -24,4 +24,14 @@ public interface CustomerService extends IService {
boolean batchDeleteCustomer(String ids);
List findByUserName(String userName);
+
+ /**
+ * 根据客户手机号及店铺id精准查询查询客户列表
+ * @author 王富康
+ * @date 2024/9/6
+ * @param userPhone
+ * @param shopId
+ * @return List
+ */
+ List findByUserPhoneAndShopId(String userPhone, String shopId);
}
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java
index de1c7995..479bec78 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/SalesAndDetailsServiceImpl.java
@@ -451,92 +451,95 @@ public class SalesAndDetailsServiceImpl implements SalesAndDetailsService {
User byMobile;
String customerId = "";
if (StringUtils.isNotEmpty(saleQueryDTO.getMobile())) {
- byMobile = userService.findByMobile(saleQueryDTO.getMobile());
- if (byMobile == null) {
- //默认密码
- final String encryptPass = new BCryptPasswordEncoder().encode("123456");
- final User user = new User();
- user.setUsername(saleQueryDTO.getMobile());
- user.setNickname(saleQueryDTO.getUsername());
- user.setAddress(saleQueryDTO.getSale().getReceiveAddress());
- //客户
- user.setType(UserConstant.USER_TYPE_CUSTOM);
- user.setMobile(saleQueryDTO.getMobile());
- user.setPassword(encryptPass);
- byMobile = userService.save(user);
- // 保存用户id
- saleQueryDTO.getSale().setUserId(byMobile.getId());
- // 保存用户角色
- final UserRole userRole = new UserRole();
- final PageVo pageVo = new PageVo();
- pageVo.setPageNumber(1);
- pageVo.setPageSize(1);
- final Page rolePage = roleService.findByCondition("ROLE_CUSTOMER", PageUtil.initPage(pageVo));
- final Role role = rolePage.getContent().get(0);
- //客户角色
- userRole.setRoleId(role.getId());
- userRole.setRoleName("客户");
- userRole.setUserId(byMobile.getId());
- userRoleService.save(userRole);
- } else {
- // 该手机号已存在
- if (!byMobile.getType().contains(UserConstant.USER_TYPE_CUSTOM)) {
- //没有客户权限,那么添加客户权限
- final String type = byMobile.getType();
- if (StringUtils.isEmpty(type)) {
- byMobile.setType(UserConstant.USER_TYPE_CUSTOM);
- } else {
- byMobile.setType(byMobile.getType() + ',' + UserConstant.USER_TYPE_CUSTOM);
+ // 20240906如果前台传了客户id了,不要新增客户了就
+ if(StringUtils.isEmpty(saleQueryDTO.getUserId())){
+ byMobile = userService.findByMobile(saleQueryDTO.getMobile());
+ if (byMobile == null) {
+ //默认密码
+ final String encryptPass = new BCryptPasswordEncoder().encode("123456");
+ final User user = new User();
+ user.setUsername(saleQueryDTO.getMobile());
+ user.setNickname(saleQueryDTO.getUsername());
+ user.setAddress(saleQueryDTO.getSale().getReceiveAddress());
+ //客户
+ user.setType(UserConstant.USER_TYPE_CUSTOM);
+ user.setMobile(saleQueryDTO.getMobile());
+ user.setPassword(encryptPass);
+ byMobile = userService.save(user);
+ // 保存用户id
+ saleQueryDTO.getSale().setUserId(byMobile.getId());
+ // 保存用户角色
+ final UserRole userRole = new UserRole();
+ final PageVo pageVo = new PageVo();
+ pageVo.setPageNumber(1);
+ pageVo.setPageSize(1);
+ final Page rolePage = roleService.findByCondition("ROLE_CUSTOMER", PageUtil.initPage(pageVo));
+ final Role role = rolePage.getContent().get(0);
+ //客户角色
+ userRole.setRoleId(role.getId());
+ userRole.setRoleName("客户");
+ userRole.setUserId(byMobile.getId());
+ userRoleService.save(userRole);
+ } else {
+ // 该手机号已存在
+ if (!byMobile.getType().contains(UserConstant.USER_TYPE_CUSTOM)) {
+ //没有客户权限,那么添加客户权限
+ final String type = byMobile.getType();
+ if (StringUtils.isEmpty(type)) {
+ byMobile.setType(UserConstant.USER_TYPE_CUSTOM);
+ } else {
+ byMobile.setType(byMobile.getType() + ',' + UserConstant.USER_TYPE_CUSTOM);
+ }
+ byMobile = userService.save(byMobile);
}
- byMobile = userService.save(byMobile);
}
- }
-
- customer.setUserId(byMobile.getId());
- customer.setCreateTime(new Date());
- customer.setDelFlag(CommonConstant.DEL_FLAG_FALSE);
- customer.setName(saleQueryDTO.getUsername());
- customer.setPhone(saleQueryDTO.getMobile());
- customer.setAddress(saleQueryDTO.getSale().getReceiveAddress());
- customer.setProvince(saleQueryDTO.getSale().getProvince());
- customer.setCity(saleQueryDTO.getSale().getCity());
- customer.setArea(saleQueryDTO.getSale().getArea());
- customer.setShopId(saleQueryDTO.getSale().getShopId());
- customerService.save(customer);
- // 获取新增的客户id
- customerId = customer.getId();
- // 客户欠款信息
- final BigDecimal amountOwed = customer.getAmountOwed() == null ? BigDecimal.ZERO : customer.getAmountOwed();
-
-
- debt.setCreateTime(new Date());
- debt.setUserId(customer.getId());
- debt.setShopId(saleQueryDTO.getSale().getShopId());
- debt.setUserPhone(customer.getPhone());
- debt.setUserAdress(customer.getAddress());
- debt.setUserName(customer.getName());
- debt.setAmountOwed(amountOwed);
- debt.setUserType(DebtConstant.USER_TYPE[0]);
- debtService.save(debt);
- // 新增交易记录
- dealingsRecord.setCreateTime(new Date());
- dealingsRecord.setDealingsUserId(customer.getId());
- dealingsRecord.setDealingsUserName(customer.getName());
- dealingsRecord.setUserType(DealingsRecordConstant.TYPE[1]);
- dealingsRecord.setDealingsWay("新增客户");
- dealingsRecord.setShopId(saleQueryDTO.getSale().getShopId());
- // 销售金额
- dealingsRecord.setSaleAmount(BigDecimal.ZERO);
- // 退货金额
- dealingsRecord.setReturnAmount(BigDecimal.ZERO);
- // 上次欠款
- dealingsRecord.setLastDebtAmount(BigDecimal.ZERO);
- // 最新欠款
- dealingsRecord.setBalanceDue(amountOwed);
- dealingsRecord.setAmount(amountOwed);
- dealingsRecord.setDealingsType(DealingsRecordConstant.DEALINGS_TYPE[3]);
- dealingsRecordService.save(dealingsRecord);
+ customer.setUserId(byMobile.getId());
+ customer.setCreateTime(new Date());
+ customer.setDelFlag(CommonConstant.DEL_FLAG_FALSE);
+ customer.setName(saleQueryDTO.getUsername());
+ customer.setPhone(saleQueryDTO.getMobile());
+ customer.setAddress(saleQueryDTO.getSale().getReceiveAddress());
+ customer.setProvince(saleQueryDTO.getSale().getProvince());
+ customer.setCity(saleQueryDTO.getSale().getCity());
+ customer.setArea(saleQueryDTO.getSale().getArea());
+ customer.setShopId(saleQueryDTO.getSale().getShopId());
+ customerService.save(customer);
+ // 客户id拿新增的
+ customerId = customer.getId();
+ // 客户欠款信息
+ final BigDecimal amountOwed = customer.getAmountOwed() == null ? BigDecimal.ZERO : customer.getAmountOwed();
+ debt.setCreateTime(new Date());
+ debt.setUserId(customer.getId());
+ debt.setShopId(saleQueryDTO.getSale().getShopId());
+ debt.setUserPhone(customer.getPhone());
+ debt.setUserAdress(customer.getAddress());
+ debt.setUserName(customer.getName());
+ debt.setAmountOwed(amountOwed);
+ debt.setUserType(DebtConstant.USER_TYPE[0]);
+ debtService.save(debt);
+ // 新增交易记录
+ dealingsRecord.setCreateTime(new Date());
+ dealingsRecord.setDealingsUserId(customer.getId());
+ dealingsRecord.setDealingsUserName(customer.getName());
+ dealingsRecord.setUserType(DealingsRecordConstant.TYPE[1]);
+ dealingsRecord.setDealingsWay("新增客户");
+ dealingsRecord.setShopId(saleQueryDTO.getSale().getShopId());
+ // 销售金额
+ dealingsRecord.setSaleAmount(BigDecimal.ZERO);
+ // 退货金额
+ dealingsRecord.setReturnAmount(BigDecimal.ZERO);
+ // 上次欠款
+ dealingsRecord.setLastDebtAmount(BigDecimal.ZERO);
+ // 最新欠款
+ dealingsRecord.setBalanceDue(amountOwed);
+ dealingsRecord.setAmount(amountOwed);
+ dealingsRecord.setDealingsType(DealingsRecordConstant.DEALINGS_TYPE[3]);
+ dealingsRecordService.save(dealingsRecord);
+ }else{
+ // 客户id拿前台传的
+ customerId = saleQueryDTO.getUserId();
+ }
} else {
log.error("下游客户未填写手机号!");
return null;
diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java
index 39e5da0d..ea202481 100644
--- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java
+++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/CustomerServiceImpl.java
@@ -214,4 +214,9 @@ public class CustomerServiceImpl extends ServiceImpl i
String shopId = securityUtil.getShopId();
return customerMapper.findByUserName(userName,shopId);
}
+
+ @Override
+ public List findByUserPhoneAndShopId(String userPhone, String shopId) {
+ return customerMapper.findByUserPhoneAndShopId(userPhone,shopId);
+ }
}
diff --git a/hiver-modules/hiver-mall/src/main/resources/mapper/CustomerMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/CustomerMapper.xml
index 2067b6b3..2b5e37d7 100644
--- a/hiver-modules/hiver-mall/src/main/resources/mapper/CustomerMapper.xml
+++ b/hiver-modules/hiver-mall/src/main/resources/mapper/CustomerMapper.xml
@@ -459,4 +459,13 @@
and a.shop_id = #{shopId,jdbcType=VARCHAR}
and a.name = #{userName,jdbcType=VARCHAR}
+
+
\ No newline at end of file