提交 0dd6632e authored 作者: 000516's avatar 000516

售点稽查:保存终端信息(修改名称);任务信息保存/修改/查询/分页;4类明细保存/查询

上级 0d7c8238
......@@ -90,6 +90,10 @@
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>com.taobao</groupId>
<artifactId>taobao-sdk-java</artifactId>
</dependency>
</dependencies>
<build>
......
package com.sfa.operation.controller.risk.core;
import com.alibaba.fastjson2.JSONObject;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskInspectStoreDto;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
import com.sfa.operation.service.risk.IRiskStoreCoreService;
import com.sfa.operation.service.risk.IRiskStoreTaskCoreService;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
/**
* @author : liqiulin
* @date : 2025-08-27 20
* @describe : 风控中心-售点稽查
*/
@RestController
@RequestMapping("/risk/core")
public class RiskStoreTaskCoreController {
@Autowired
private IRiskStoreTaskCoreService riskstoreTaskCoreService;
@Autowired
private IRiskStoreCoreService riskstoreCoreService;
@PostMapping("/i_store")
public RiskStoreTaskDto inspectStore(@RequestBody RiskStoreTaskVo riskStoreTaskVo) {
riskStoreTaskVo.setOperName(SecurityUtils.getNickName());
riskStoreTaskVo.setOperEmpNo(SecurityUtils.getUsername());
// 保存来源勤策的门店
if (Objects.nonNull(riskStoreTaskVo.getStoreCode())){
RiskInspectStoreDto storeDto = riskstoreCoreService.saveInspectStore(riskStoreTaskVo);
riskStoreTaskVo.setStoreName(StringUtils.isNotBlank(storeDto.getRStoreName()) ? storeDto.getRStoreName() : riskStoreTaskVo.getStoreName());
}
RiskStoreTaskDto dto = null;
// 是否新建
if (Objects.isNull(riskStoreTaskVo.getRstId())){
dto = riskstoreTaskCoreService.inspectStore(riskStoreTaskVo);
}else {
riskStoreTaskVo.setStoreName(StringUtils.isNotBlank(riskStoreTaskVo.getRStoreName()) ? riskStoreTaskVo.getRStoreName() : riskStoreTaskVo.getStoreName());
dto = riskstoreTaskCoreService.updateInspectStore(riskStoreTaskVo);
}
return dto;
}
@PostMapping("/i_store_detail")
public RiskStoreTaskDto.RiskStoreTaskDetailDto inspectStoreDetail(@RequestBody RiskStoreTaskVo riskStoreTaskVo) {
RiskStoreTaskVo.TaskDetailVo taskDetailVo = riskStoreTaskVo.getTaskDetail();
if (Objects.isNull(taskDetailVo.getRstdId())){
return riskstoreTaskCoreService.saveStoreDetail(taskDetailVo);
}
RiskStoreTaskDto.RiskStoreTaskDetailDto riskStoreTaskDetailDto = new RiskStoreTaskDto.RiskStoreTaskDetailDto();
BeanUtils.copyProperties(taskDetailVo,riskStoreTaskDetailDto);
riskStoreTaskDetailDto.setPhotos(ArrayUtils.isEmpty(taskDetailVo.getPhotoArr()) ? null : StringUtils.join(taskDetailVo.getPhotoArr(),","));
riskStoreTaskDetailDto.setRiskR(ArrayUtils.isEmpty(taskDetailVo.getRiskRArr()) ? null : StringUtils.join(taskDetailVo.getRiskRArr(),","));
riskStoreTaskDetailDto.setKwYmHp210(CollectionUtils.isEmpty(taskDetailVo.getKwYmHp210Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmHp210Map()));
riskStoreTaskDetailDto.setKwYmHp105(CollectionUtils.isEmpty(taskDetailVo.getKwYmHp105Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmHp105Map()));
riskStoreTaskDetailDto.setKwYmHp68(CollectionUtils.isEmpty(taskDetailVo.getKwYmHp68Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmHp68Map()));
riskStoreTaskDetailDto.setKwYmJrdb120(CollectionUtils.isEmpty(taskDetailVo.getKwYmJrdb120Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmJrdb120Map()));
riskStoreTaskDetailDto.setKwYmNrdb120(CollectionUtils.isEmpty(taskDetailVo.getKwYmNrdb120Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmNrdb120Map()));
riskStoreTaskDetailDto.setKwYmQg72(CollectionUtils.isEmpty(taskDetailVo.getKwYmQg72Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmQg72Map()));
riskStoreTaskDetailDto.setKwYmQg138(CollectionUtils.isEmpty(taskDetailVo.getKwYmQg138Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmQg138Map()));
riskStoreTaskDetailDto.setKwYmHpjt80(CollectionUtils.isEmpty(taskDetailVo.getKwYmHpjt80Map()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmHpjt80Map()));
riskStoreTaskDetailDto.setKwYmLl(CollectionUtils.isEmpty(taskDetailVo.getKwYmLlMap()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmLlMap()));
riskStoreTaskDetailDto.setKwYmHpDz(CollectionUtils.isEmpty(taskDetailVo.getKwYmHpDzMap()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmHpDzMap()));
riskStoreTaskDetailDto.setKwYmHpSc(CollectionUtils.isEmpty(taskDetailVo.getKwYmHpScMap()) ? null: JSONObject.toJSONString(taskDetailVo.getKwYmHpScMap()));
return riskstoreTaskCoreService.updateStoreDetail(riskStoreTaskDetailDto);
}
@DeleteMapping("/d_store_detail")
public void deleteStoreDetail(Long rstdId) {
riskstoreTaskCoreService.deleteStoreDetail(rstdId);
}
}
package com.sfa.operation.controller.risk.query;
import com.sfa.common.core.utils.DateUtils;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
import com.sfa.operation.service.risk.IRiskStoreTaskQueryService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
/**
* @author : liqiulin
* @date : 2025-08-28 11
* @describe : 风控中心-售点稽查 查询
*/
@RestController
@RequestMapping("/risk/query")
public class RiskStoreTaskQueryController {
@Autowired
private IRiskStoreTaskQueryService iRiskStoreTaskQueryService;
@GetMapping("/i_store/page")
public PageInfo page(@ModelAttribute RiskStoreTaskVo riskStoreTaskVo){
riskStoreTaskVo.setOperEmpNo(SecurityUtils.getUsername());
return iRiskStoreTaskQueryService.page(riskStoreTaskVo);
}
@GetMapping("/i_store")
public RiskStoreTaskDto detail(RiskStoreTaskVo riskStoreTaskVo){
if (StringUtils.isNotBlank(riskStoreTaskVo.getStoreCode())){
riskStoreTaskVo.setOperEmpNo(SecurityUtils.getUsername());
riskStoreTaskVo.setOperDate(DateUtils.dateStart(new Date()));
}
return iRiskStoreTaskQueryService.getDetail(riskStoreTaskVo);
}
}
......@@ -39,7 +39,7 @@ public class QinceClienteleStoreDaoImpl implements IQinceClienteleStoreDao {
if (StringUtils.isNotBlank(wq.getCol())) {
qw.eq(QinceClienteleStore::getStoreCode, wq.getCol()).or().like(QinceClienteleStore::getStoreName, wq.getCol());
}
qw.select(QinceClienteleStore::getQcId, QinceClienteleStore::getStoreCode, QinceClienteleStore::getStoreName, QinceClienteleStore::getDealerId, QinceClienteleStore::getDealersName, QinceClienteleStore::getStorePictures);
qw.select(QinceClienteleStore::getQcId, QinceClienteleStore::getStoreCode, QinceClienteleStore::getStoreName, QinceClienteleStore::getDealerId, QinceClienteleStore::getDealersName, QinceClienteleStore::getStorePictures,QinceClienteleStore::getStoreAddr);
return qw;
}
}
package com.sfa.operation.domain.risk.dao;
import com.sfa.operation.pojo.risk.response.RiskInspectStoreDto;
/**
* @author : liqiulin
* @date : 2025-08-28 17
* @describe :
*/
public interface IRiskStoreDao {
RiskInspectStoreDto insert(RiskInspectStoreDto storeDto);
}
package com.sfa.operation.domain.risk.dao;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.domain.risk.wq.RiskStoreTaskWq;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
/**
* @author : liqiulin
* @date : 2025-08-27 20
* @describe :
*/
public interface IRiskStoreTaskDao {
RiskStoreTaskDto insert(RiskStoreTaskDto taskDto);
PageInfo page(RiskStoreTaskWq wq);
RiskStoreTaskDto updateInspectStore(RiskStoreTaskDto taskDto);
RiskStoreTaskDto selectOne(RiskStoreTaskWq wq);
RiskStoreTaskDto.RiskStoreTaskDetailDto saveStoreDetail(Long rstId, String detailName);
RiskStoreTaskDto.RiskStoreTaskDetailDto updateStoreDetail(RiskStoreTaskDto.RiskStoreTaskDetailDto riskStoreTaskDetailDto);
void deleteStoreDetail(Long rstdId);
}
package com.sfa.operation.domain.risk.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.WXLSQLException;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.operation.domain.risk.dao.IRiskStoreDao;
import com.sfa.operation.domain.risk.entity.RiskInspectStore;
import com.sfa.operation.domain.risk.mapper.RiskInspectStoreMapper;
import com.sfa.operation.pojo.risk.response.RiskInspectStoreDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-08-28 17
* @describe :
*/
@DS("bi")
@Service
public class RiskStoreDaoImpl implements IRiskStoreDao {
@Autowired
private RiskInspectStoreMapper riskInspectStoreMapper;
@Override
public RiskInspectStoreDto insert(RiskInspectStoreDto storeDto) {
RiskInspectStore storeDo = BeanUtils.transitionDto(storeDto, RiskInspectStore.class);
try {
riskInspectStoreMapper.save(storeDo);
return storeDto;
}catch (Exception e){
String eMsg = e.getCause().getMessage();
if (!eMsg.contains("for key 'store_code_unique'")) {
throw new WXLSQLException(ECode.DB_TABLE_UPDATE_ERROR);
}
LambdaUpdateWrapper<RiskInspectStore> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(RiskInspectStore::getStoreCode, storeDo.getStoreCode());
riskInspectStoreMapper.update(storeDo,updateWrapper);
RiskInspectStore riskInspectStore = riskInspectStoreMapper.selectOne(new LambdaQueryWrapper<RiskInspectStore>().eq(RiskInspectStore::getStoreCode, storeDo.getStoreCode()));
return BeanUtils.transitionDto(riskInspectStore, RiskInspectStoreDto.class);
}
}
}
package com.sfa.operation.domain.risk.dao.impl;
import cn.hutool.core.lang.func.VoidFunc0;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.WXLSQLException;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.core.web.page.TableSupport;
import com.sfa.operation.domain.risk.dao.IRiskStoreTaskDao;
import com.sfa.operation.domain.risk.entity.RiskStoreTask;
import com.sfa.operation.domain.risk.entity.RiskStoreTaskDetail;
import com.sfa.operation.domain.risk.mapper.RiskStoreTaskDetailMapper;
import com.sfa.operation.domain.risk.mapper.RiskStoreTaskMapper;
import com.sfa.operation.domain.risk.wq.RiskStoreTaskWq;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author : liqiulin
* @date : 2025-08-27 20
* @describe :
*/
@DS("bi")
@Repository
public class RiskStoreTaskDaoImpl implements IRiskStoreTaskDao {
@Autowired
private RiskStoreTaskMapper riskStoreTaskMapper;
@Autowired
private RiskStoreTaskDetailMapper riskStoreTaskDetailMapper;
@Override
public RiskStoreTaskDto insert(RiskStoreTaskDto taskDto) {
try {
RiskStoreTask taskDo = BeanUtils.transitionDto(taskDto, RiskStoreTask.class);
taskDo.setCreateDate(new Date());
riskStoreTaskMapper.insert(taskDo);
taskDto.setRstId(taskDo.getRstId());
return taskDto;
}catch (Exception e){
String eMsg = e.getCause().getMessage();
if (eMsg.contains("for key 'user_task'")) {
throw new WXLSQLException(ECode.DB_TABLE_UNIQUE_EXIST, "今日此售点任务");
}
throw new WXLSQLException(ECode.DB_TABLE_UPDATE_ERROR);
}
}
@Override
public PageInfo page(RiskStoreTaskWq wq) {
LambdaQueryWrapper<RiskStoreTask> rqw = buildWq(wq);
Page<RiskStoreTask> pageDos = riskStoreTaskMapper.selectPage(TableSupport.pageI(), rqw);
return new PageInfo(pageDos);
}
@Override
public RiskStoreTaskDto updateInspectStore(RiskStoreTaskDto taskDto) {
RiskStoreTask taskDo = BeanUtils.transitionDto(taskDto, RiskStoreTask.class);
riskStoreTaskMapper.updateById(taskDo);
RiskStoreTask riskStoreTask = riskStoreTaskMapper.selectById(taskDo.getRstId());
RiskStoreTaskDto tDto = BeanUtils.transitionDto(riskStoreTask, RiskStoreTaskDto.class);
tDto.tranArr();
return tDto;
}
@Override
public RiskStoreTaskDto selectOne(RiskStoreTaskWq wq) {
LambdaQueryWrapper<RiskStoreTask> rqw = buildWq(wq);
RiskStoreTask riskStoreTask = riskStoreTaskMapper.selectOne(rqw);
if (Objects.isNull(riskStoreTask)){
return null;
}
RiskStoreTaskDto tDto = BeanUtils.transitionDto(riskStoreTask, RiskStoreTaskDto.class);
tDto.tranArr();
List<RiskStoreTaskDetail> riskStoreTaskDetails = riskStoreTaskDetailMapper.selectList(new LambdaQueryWrapper<RiskStoreTaskDetail>().eq(RiskStoreTaskDetail::getRstId, riskStoreTask.getRstId()));
if (CollectionUtils.isEmpty(riskStoreTaskDetails)){
return tDto;
}
// 返回任务明细
List<RiskStoreTaskDto.RiskStoreTaskDetailDto> taskDetailDtos = BeanUtils.transitionDtos(riskStoreTaskDetails, RiskStoreTaskDto.RiskStoreTaskDetailDto.class);
taskDetailDtos.forEach(detailDto -> rDetail(detailDto));
Map<String, List<RiskStoreTaskDto.RiskStoreTaskDetailDto>> detailMap = taskDetailDtos.stream().collect(Collectors.groupingBy(RiskStoreTaskDto.RiskStoreTaskDetailDto::getDetailName));
tDto.setDetailMap(detailMap);
return tDto;
}
@Override
public RiskStoreTaskDto.RiskStoreTaskDetailDto saveStoreDetail(Long rstId, String detailName) {
RiskStoreTaskDetail taskDetailDo = new RiskStoreTaskDetail();
taskDetailDo.setRstId(rstId);
taskDetailDo.setDetailName(detailName);
riskStoreTaskDetailMapper.insert(taskDetailDo);
return BeanUtils.transitionDto(taskDetailDo, RiskStoreTaskDto.RiskStoreTaskDetailDto.class);
}
@Override
public RiskStoreTaskDto.RiskStoreTaskDetailDto updateStoreDetail(RiskStoreTaskDto.RiskStoreTaskDetailDto riskStoreTaskDetailDto) {
RiskStoreTaskDetail detailDo = BeanUtils.transitionDto(riskStoreTaskDetailDto, RiskStoreTaskDetail.class);
riskStoreTaskDetailMapper.updateById(detailDo);
RiskStoreTaskDetail riskStoreTaskDetail = riskStoreTaskDetailMapper.selectById(detailDo.getRstdId());
RiskStoreTaskDto.RiskStoreTaskDetailDto tDto = BeanUtils.transitionDto(riskStoreTaskDetail, RiskStoreTaskDto.RiskStoreTaskDetailDto.class);
rDetail(tDto);
return tDto;
}
@Override
public void deleteStoreDetail(Long rstdId) {
riskStoreTaskDetailMapper.deleteById(rstdId);
}
private LambdaQueryWrapper<RiskStoreTask> buildWq(RiskStoreTaskWq wq) {
LambdaQueryWrapper<RiskStoreTask> wqWrapper = new LambdaQueryWrapper<>();
if (Objects.nonNull(wq.getRstId())){
wqWrapper.eq(RiskStoreTask::getRstId, wq.getRstId());
}
if (StringUtils.isNotBlank(wq.getStoreName())){
wqWrapper.like(RiskStoreTask::getStoreName, wq.getStoreName());
}
if (StringUtils.isNotBlank(wq.getStoreCode())){
wqWrapper.like(RiskStoreTask::getStoreCode, wq.getStoreCode());
}
if (StringUtils.isNotBlank(wq.getOperEmpNo())){
wqWrapper.eq(RiskStoreTask::getCreateEmpNo, wq.getOperEmpNo());
}
if (Objects.nonNull(wq.getOperDate())){
wqWrapper.eq(RiskStoreTask::getCreateDate, wq.getOperDate());
}
wqWrapper.orderByDesc(RiskStoreTask::getCreateTime);
return wqWrapper;
}
private void rDetail(RiskStoreTaskDto.RiskStoreTaskDetailDto tDto) {
tDto.setPhotoArr(StringUtils.isBlank(tDto.getPhotos()) ? null : tDto.getPhotos().split(","));
tDto.setRiskRArr(StringUtils.isBlank(tDto.getRiskR()) ? null : tDto.getRiskR().split(","));
tDto.setKwYmHp210Map(StringUtils.isBlank(tDto.getKwYmHp210()) ? null : JSONObject.parseObject(tDto.getKwYmHp210(), Map.class));
tDto.setKwYmHp105Map(StringUtils.isBlank(tDto.getKwYmHp105()) ? null : JSONObject.parseObject(tDto.getKwYmHp105(), Map.class));
tDto.setKwYmHp68Map(StringUtils.isBlank(tDto.getKwYmHp68()) ? null : JSONObject.parseObject(tDto.getKwYmHp68(), Map.class));
tDto.setKwYmJrdb120Map(StringUtils.isBlank(tDto.getKwYmJrdb120()) ? null : JSONObject.parseObject(tDto.getKwYmJrdb120(), Map.class));
tDto.setKwYmNrdb120Map(StringUtils.isBlank(tDto.getKwYmNrdb120()) ? null : JSONObject.parseObject(tDto.getKwYmNrdb120(), Map.class));
tDto.setKwYmQg72Map(StringUtils.isBlank(tDto.getKwYmQg72()) ? null : JSONObject.parseObject(tDto.getKwYmQg72(), Map.class));
tDto.setKwYmQg138Map(StringUtils.isBlank(tDto.getKwYmQg138()) ? null : JSONObject.parseObject(tDto.getKwYmQg138(), Map.class));
tDto.setKwYmHpjt80Map(StringUtils.isBlank(tDto.getKwYmHpjt80()) ? null : JSONObject.parseObject(tDto.getKwYmHpjt80(), Map.class));
tDto.setKwYmLlMap(StringUtils.isBlank(tDto.getKwYmLl()) ? null : JSONObject.parseObject(tDto.getKwYmLl(), Map.class));
tDto.setKwYmHpDzMap(StringUtils.isBlank(tDto.getKwYmHpDz()) ? null : JSONObject.parseObject(tDto.getKwYmHpDz(), Map.class));
tDto.setKwYmHpScMap(StringUtils.isBlank(tDto.getKwYmHpSc()) ? null : JSONObject.parseObject(tDto.getKwYmHpSc(), Map.class));
}
}
package com.sfa.operation.domain.risk.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 风控-稽查门店表
* @TableName risk_inspect_store
*/
@TableName(value ="risk_inspect_store")
@Data
public class RiskInspectStore implements Serializable {
/**
* 主键id
*/
@TableId(type = IdType.AUTO)
private Long risId;
/**
* 店铺编码
*/
private String storeCode;
/**
* 店铺名称
*/
private String storeName;
/**
* 店铺名称
*/
private String rStoreName;
/**
* 店铺类型
*/
private String storeType;
/**
* 店铺照片
*/
private String storePictures;
/**
* 经销商名称
*/
private String dealerName;
/**
* 经销商编码
*/
private String dealerCode;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 详细地址
*/
private String address;
/**
* 坐标
*/
private String coordinates;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.operation.domain.risk.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 风控门店任务表
* @TableName risk_store_task
*/
@Accessors(chain = true)
@TableName(value ="risk_store_task")
@Data
public class RiskStoreTask implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long rstId;
/**
* 创建时间
*/
private Date createDate;
/**
* 门店编码
*/
private String storeCode;
/**
* 门店名称
*/
private String storeName;
/**
* 门店类型
*/
private String storeType;
/**
* 门头照图片
*/
private String storePicture;
/**
* 经销商名称
*/
private String dealerName;
/**
* 经销商编码
*/
private String dealerCode;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 详细地址
*/
private String address;
/**
* 坐标
*/
private String coordinates;
/**
* 礼盒/礼袋是否在售(逗号分隔)
*/
private String lhlds;
/**
* SKU数量
*/
private Integer skuNum;
/**
* 长效图片(逗号分隔)
*/
private String longTimePictures;
/**
* 备注
*/
private String remark;
/**
* 常规陈列判定结果
*/
private String cgclRiskR;
/**
* 档期陈列判定结果
*/
private String dqclRiskR;
/**
* 创建人
*/
private String createBy;
/**
* 创建人工号
*/
private String createEmpNo;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.operation.domain.risk.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
/**
* 风控门店任务-档期/补差/品类信息表
* @TableName risk_store_task_detail
*/
@TableName(value ="risk_store_task_detail")
@Data
public class RiskStoreTaskDetail implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long rstdId;
/**
* risk_store_task表ID
*/
private Long rstId;
/**
* 明细类型(1:常规陈列,2:档期陈列,3:档期补差,4:品类信息)
*/
private String detailType;
/**
* 明细类型名称
*/
private String detailName;
/**
* 陈列形式
*/
private String modal;
/**
* 陈列费用
*/
private BigDecimal cost;
/**
* 陈列/补差照片
*/
private String photos;
/**
* 检核结果
*/
private String riskR;
/**
* 补差内容
*/
private String bcNr;
/**
* 补差情况
*/
private String bcQk;
/**
* 虎皮210g价格
*/
private String priceHp210;
/**
* 虎皮210g口味铺市月份
*/
private String kwYmHp210;
/**
* 虎皮105g价格
*/
private String priceHp105;
/**
* 虎皮105g口味铺市月份
*/
private String kwYmHp105;
/**
* 虎皮68g价格
*/
private String priceHp68;
/**
* 虎皮68g口味铺市月份
*/
private String kwYmHp68;
/**
* 鸡肉豆堡120g价格
*/
private String priceJrdb120;
/**
* 鸡肉豆堡120g口味铺市月份
*/
private String kwYmJrdb120;
/**
* 牛肉豆堡120g价格
*/
private String priceNrdb120;
/**
* 牛肉豆堡120g口味铺市月份
*/
private String kwYmNrdb120;
/**
* 去骨凤爪72g价格
*/
private String priceQg72;
/**
* 去骨凤爪72g口味铺市月份
*/
private String kwYmQg72;
/**
* 去骨凤爪138g价格
*/
private String priceQg138;
/**
* 去骨凤爪138g口味铺市月份
*/
private String kwYmQg138;
/**
* 虎皮小鸡腿80g价格
*/
private String priceHpjt80;
/**
* 虎皮小鸡腿80g口味铺市月份
*/
private String kwYmHpjt80;
/**
* 老卤价格
*/
private String priceLl;
/**
* 老卤口味铺市月份
*/
private String kwYmLl;
/**
* 虎皮单支价格
*/
private String priceHpDz;
/**
* 虎皮单支口味铺市月份
*/
private String kwYmHpDz;
/**
* 虎皮散称价格
*/
private String priceHpSc;
/**
* 虎皮散称口味铺市月份
*/
private String kwYmHpSc;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.operation.domain.risk.mapper;
import com.sfa.operation.domain.risk.entity.RiskInspectStore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【risk_inspect_store(风控-稽查门店表)】的数据库操作Mapper
* @createDate 2025-08-28 17:06:19
* @Entity com.sfa.operation.domain.risk.entity.RiskInspectStore
*/
@Repository
public interface RiskInspectStoreMapper extends BaseMapper<RiskInspectStore> {
void save(RiskInspectStore storeDo);
void updateByStoreCode(RiskInspectStore storeDo);
}
package com.sfa.operation.domain.risk.mapper;
import com.sfa.operation.domain.risk.entity.RiskStoreTaskDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【risk_store_task_detail(风控门店任务-档期/补差/品类信息表)】的数据库操作Mapper
* @createDate 2025-09-01 13:23:45
* @Entity com.sfa.operation.domain.risk.entity.RiskStoreTaskDetail
*/
@Repository
public interface RiskStoreTaskDetailMapper extends BaseMapper<RiskStoreTaskDetail> {
}
package com.sfa.operation.domain.risk.mapper;
import com.sfa.operation.domain.risk.entity.RiskStoreTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【risk_store_task(风控门店任务表)】的数据库操作Mapper
* @createDate 2025-08-27 20:29:35
* @Entity com.sfa.operation.domain.risk.entity.RiskStoreTask
*/
@Repository
public interface RiskStoreTaskMapper extends BaseMapper<RiskStoreTask> {
}
package com.sfa.operation.domain.risk.wq;
import lombok.Data;
import java.util.Date;
/**
* @author : liqiulin
* @date : 2025-08-28 16
* @describe :
*/
@Data
public class RiskStoreTaskWq {
private Long rstId;
private String storeName;
private String operEmpNo;
private Date operDate;
private String storeCode;
}
package com.sfa.operation.pojo.risk.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;
/**
* @author : liqiulin
* @date : 2025-08-27 20
* @describe :
*/
@Data
public class RiskStoreTaskVo {
private Long rstId;
/** -------- 门店信息 -------- */
private String storeCode;
private String storeName;
/**
* 重命名店名
*/
@JsonProperty("rStoreName")
private String rStoreName;
private String storeType;
private String storePicture;
private String dealerName;
private String dealerCode;
/** -------- 任务信息 - 总结性 --------*/
private String province;
private String city;
private String address;
private String coordinates;
/** 礼盒/礼袋是否在售 */
private String[] lhldArr;
private Integer skuNum;
private String remark;
private String[] longTimePictureArr;
// 自动填充
private String operName;
private String operEmpNo;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date operDate;
private TaskDetailVo taskDetail;
/**
* 常规陈列判定结果
*/
private String[] cgclRiskRArr;
/**
* 档期陈列判定结果
*/
private String[] dqclRiskRArr;
@AllArgsConstructor
@NoArgsConstructor
@Data
public static class TaskDetailVo{
private Long rstId;
private Long rstdId;
/**
* 明细类型(1:常规陈列,2:档期陈列,3:档期补差,4:品类信息)
*/
private String detailName;
/**
* 陈列形式
*/
private String modal;
/**
* 陈列费用
*/
private BigDecimal cost;
/**
* 陈列/补差照片
*/
private String[] photoArr;
/**
* 检核结果
*/
private String[] riskRArr;
/**
* 补差内容
*/
private String bcNr;
/**
* 补差情况
*/
private String bcQk;
/**
* 虎皮210g价格
*/
private String priceHp210;
/**
* 虎皮210g口味铺市月份
*/
private Map<String,String> kwYmHp210Map;
/**
* 虎皮105g价格
*/
private String priceHp105;
/**
* 虎皮105g口味铺市月份
*/
private Map<String,String> kwYmHp105Map;
/**
* 虎皮68g价格
*/
private String priceHp68;
/**
* 虎皮68g口味铺市月份
*/
private Map<String,String> kwYmHp68Map;
/**
* 鸡肉豆堡120g价格
*/
private String priceJrdb120;
/**
* 鸡肉豆堡120g口味铺市月份
*/
private Map<String,String> kwYmJrdb120Map;
/**
* 牛肉豆堡120g价格
*/
private String priceNrdb120;
/**
* 牛肉豆堡120g口味铺市月份
*/
private Map<String,String> kwYmNrdb120Map;
/**
* 去骨凤爪72g价格
*/
private String priceQg72;
/**
* 去骨凤爪72g口味铺市月份
*/
private Map<String,String> kwYmQg72Map;
/**
* 去骨凤爪138g价格
*/
private String priceQg138;
/**
* 去骨凤爪138g口味铺市月份
*/
private Map<String,String> kwYmQg138Map;
/**
* 虎皮小鸡腿80g价格
*/
private String priceHpjt80;
/**
* 虎皮小鸡腿80g口味铺市月份
*/
private Map<String,String> kwYmHpjt80Map;
/**
* 老卤价格
*/
private String priceLl;
/**
* 老卤口味铺市月份
*/
private Map<String,String> kwYmLlMap;
/**
* 虎皮单支价格
*/
private String priceHpDz;
/**
* 虎皮单支口味铺市月份
*/
private Map<String,String> kwYmHpDzMap;
/**
* 虎皮散称价格
*/
private String priceHpSc;
/**
* 虎皮散称口味铺市月份
*/
private Map<String,String> kwYmHpScMap;
}
}
package com.sfa.operation.pojo.risk.response;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @author : liqiulin
* @date : 2025-08-28 17
* @describe :
*/
@Data
@Accessors(chain = true)
public class RiskInspectStoreDto {
/**
* 店铺编码
*/
private String storeCode;
/**
* 店铺名称
*/
private String storeName;
/**
* 店铺名称
*/
private String rStoreName;
/**
* 店铺类型
*/
private String storeType;
/**
* 店铺照片
*/
private String storePictures;
/**
* 经销商名称
*/
private String dealerName;
/**
* 经销商编码
*/
private String dealerCode;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 详细地址
*/
private String address;
/**
* 坐标
*/
private String coordinates;
}
package com.sfa.operation.pojo.risk.response;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author : liqiulin
* @date : 2025-08-28 14
* @describe :
*/
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Data
public class RiskStoreTaskDto {
/**
* 主键ID
*/
private Long rstId;
/**
* 创建时间
*/
private Date createDate;
/**
* 门店编码
*/
private String storeCode;
/**
* 门店名称
*/
private String storeName;
/**
* 门店类型
*/
private String storeType;
/**
* 门头照图片
*/
private String storePicture;
/**
* 经销商名称
*/
private String dealerName;
/**
* 经销商编码
*/
private String dealerCode;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 详细地址
*/
private String address;
/**
* 坐标
*/
private String coordinates;
/**
* 礼盒/礼袋是否在售(逗号分隔)
*/
private String lhlds;
private String[] lhldArr;
/**
* SKU数量
*/
private Integer skuNum;
/**
* 长效图片(逗号分隔)
*/
private String longTimePictures;
private String[] longTimePictureArr;
/**
* 备注
*/
private String remark;
/**
* 常规陈列判定结果
*/
private String[] cgclRiskRArr;
private String cgclRiskR;
/**
* 档期陈列判定结果
*/
private String[] dqclRiskRArr;
private String dqclRiskR;
/**
* 创建人
*/
private String createBy;
/**
* 创建人工号
*/
private String createEmpNo;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
private Map<String, List<RiskStoreTaskDetailDto>> detailMap;
public void tranArr() {
if (StringUtils.isNotBlank(this.lhlds)){
this.lhldArr = this.lhlds.split(",");
}
if (StringUtils.isNotBlank(this.longTimePictures)){
this.longTimePictureArr = this.longTimePictures.split(",");
}
if (StringUtils.isNotBlank(this.cgclRiskR)){
this.cgclRiskRArr = this.cgclRiskR.split(",");
}
if (StringUtils.isNotBlank(this.dqclRiskR)){
this.dqclRiskRArr = this.dqclRiskR.split(",");
}
}
@AllArgsConstructor
@NoArgsConstructor
@Data
public static class RiskStoreTaskDetailDto {
private Long rstdId;
private Long rstId;
private String detailName;
/**
* 陈列形式
*/
private String modal;
/**
* 陈列费用
*/
private BigDecimal cost;
/**
* 陈列/补差照片
*/
private String photos;
/**
* 检核结果
*/
private String riskR;
/**
* 补差内容
*/
private String bcNr;
/**
* 补差情况
*/
private String bcQk;
/**
* 虎皮210g价格
*/
private String priceHp210;
/**
* 虎皮210g口味铺市月份
*/
private String kwYmHp210;
/**
* 虎皮105g价格
*/
private String priceHp105;
/**
* 虎皮105g口味铺市月份
*/
private String kwYmHp105;
/**
* 虎皮68g价格
*/
private String priceHp68;
/**
* 虎皮68g口味铺市月份
*/
private String kwYmHp68;
/**
* 鸡肉豆堡120g价格
*/
private String priceJrdb120;
/**
* 鸡肉豆堡120g口味铺市月份
*/
private String kwYmJrdb120;
/**
* 牛肉豆堡120g价格
*/
private String priceNrdb120;
/**
* 牛肉豆堡120g口味铺市月份
*/
private String kwYmNrdb120;
/**
* 去骨凤爪72g价格
*/
private String priceQg72;
/**
* 去骨凤爪72g口味铺市月份
*/
private String kwYmQg72;
/**
* 去骨凤爪138g价格
*/
private String priceQg138;
/**
* 去骨凤爪138g口味铺市月份
*/
private String kwYmQg138;
/**
* 虎皮小鸡腿80g价格
*/
private String priceHpjt80;
/**
* 虎皮小鸡腿80g口味铺市月份
*/
private String kwYmHpjt80;
/**
* 老卤价格
*/
private String priceLl;
/**
* 老卤口味铺市月份
*/
private String kwYmLl;
/**
* 虎皮单支价格
*/
private String priceHpDz;
/**
* 虎皮单支口味铺市月份
*/
private String kwYmHpDz;
/**
* 虎皮散称价格
*/
private String priceHpSc;
/**
* 虎皮散称口味铺市月份
*/
private String kwYmHpSc;
/**
* 陈列/补差照片
*/
private String[] photoArr;
/**
* 检核结果
*/
private String[] riskRArr;
/**
* 虎皮210g口味铺市月份
*/
private Map<String,String> kwYmHp210Map;
/**
* 虎皮105g口味铺市月份
*/
private Map<String,String> kwYmHp105Map;
/**
* 虎皮68g口味铺市月份
*/
private Map<String,String> kwYmHp68Map;
/**
* 鸡肉豆堡120g口味铺市月份
*/
private Map<String,String> kwYmJrdb120Map;
/**
* 牛肉豆堡120g口味铺市月份
*/
private Map<String,String> kwYmNrdb120Map;
/**
* 去骨凤爪72g口味铺市月份
*/
private Map<String,String> kwYmQg72Map;
/**
* 去骨凤爪138g口味铺市月份
*/
private Map<String,String> kwYmQg138Map;
/**
* 虎皮小鸡腿80g口味铺市月份
*/
private Map<String,String> kwYmHpjt80Map;
/**
* 老卤口味铺市月份
*/
private Map<String,String> kwYmLlMap;
/**
* 虎皮单支口味铺市月份
*/
private Map<String,String> kwYmHpDzMap;
/**
* 虎皮散称口味铺市月份
*/
private Map<String,String> kwYmHpScMap;
}
}
package com.sfa.operation.service.risk;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskInspectStoreDto;
/**
* @author : liqiulin
* @date : 2025-08-28 17
* @describe : 风控门店操作 - 此service针对风控门店的所有增删改操作
*/
public interface IRiskStoreCoreService {
/**
* 创建售点稽查-过程中的门店
*/
RiskInspectStoreDto saveInspectStore(RiskStoreTaskVo riskStoreTaskVo);
}
package com.sfa.operation.service.risk;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
/**
* @author : liqiulin
* @date : 2025-08-28 11
* @describe :
*/
public interface IRiskStoreTaskCoreService {
RiskStoreTaskDto inspectStore(RiskStoreTaskVo riskStoreTaskVo);
RiskStoreTaskDto updateInspectStore(RiskStoreTaskVo riskStoreTaskVo);
RiskStoreTaskDto.RiskStoreTaskDetailDto saveStoreDetail(RiskStoreTaskVo.TaskDetailVo taskDetail);
RiskStoreTaskDto.RiskStoreTaskDetailDto updateStoreDetail(RiskStoreTaskDto.RiskStoreTaskDetailDto riskStoreTaskDetailDto);
void deleteStoreDetail(Long rstdId);
}
package com.sfa.operation.service.risk;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
/**
* @author : liqiulin
* @date : 2025-08-28 16
* @describe :
*/
public interface IRiskStoreTaskQueryService {
PageInfo page(RiskStoreTaskVo riskStoreTaskVo);
RiskStoreTaskDto getDetail(RiskStoreTaskVo riskStoreTaskVo);
}
package com.sfa.operation.service.risk.impl;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.operation.domain.risk.dao.IRiskStoreDao;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskInspectStoreDto;
import com.sfa.operation.service.risk.IRiskStoreCoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-08-28 17
* @describe :风控门店操作 - 此service针对风控门店的所有增删改操作
*/
@Service
public class RiskStoreCoreServiceImpl implements IRiskStoreCoreService {
@Autowired
private IRiskStoreDao riskStoreDao;
@Override
public RiskInspectStoreDto saveInspectStore(RiskStoreTaskVo riskStoreTaskVo) {
RiskInspectStoreDto storeDto = BeanUtils.transitionDto(riskStoreTaskVo, RiskInspectStoreDto.class);
storeDto.setStorePictures(riskStoreTaskVo.getStorePicture());
return riskStoreDao.insert(storeDto);
}
}
package com.sfa.operation.service.risk.impl;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.operation.domain.risk.dao.IRiskStoreTaskDao;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
import com.sfa.operation.service.risk.IRiskStoreTaskCoreService;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-08-28 11
* @describe :
*/
@Service
public class RiskStoreTaskCoreServiceImpl implements IRiskStoreTaskCoreService {
@Autowired
private IRiskStoreTaskDao riskStoreTaskDao;
/**
* 创建售点任务
*/
@Override
public RiskStoreTaskDto inspectStore(RiskStoreTaskVo riskStoreTaskVo) {
RiskStoreTaskDto taskDto = BeanUtils.transitionDto(riskStoreTaskVo, RiskStoreTaskDto.class);
taskDto.setCreateBy(riskStoreTaskVo.getOperName());
taskDto.setCreateEmpNo(riskStoreTaskVo.getOperEmpNo());
return riskStoreTaskDao.insert(taskDto);
}
/**
* 修改售点任务
*/
@Override
public RiskStoreTaskDto updateInspectStore(RiskStoreTaskVo riskStoreTaskVo) {
RiskStoreTaskDto taskDto = BeanUtils.transitionDto(riskStoreTaskVo, RiskStoreTaskDto.class);
taskDto.setUpdateBy(riskStoreTaskVo.getOperName());
if (ArrayUtils.isNotEmpty(riskStoreTaskVo.getLhldArr())){
taskDto.setLhlds(StringUtils.join(riskStoreTaskVo.getLhldArr(),","));
}
if (ArrayUtils.isNotEmpty(riskStoreTaskVo.getCgclRiskRArr())){
taskDto.setCgclRiskR(StringUtils.join(riskStoreTaskVo.getCgclRiskRArr(),","));
}
if (ArrayUtils.isNotEmpty(riskStoreTaskVo.getDqclRiskRArr())){
taskDto.setDqclRiskR(StringUtils.join(riskStoreTaskVo.getDqclRiskRArr(),","));
}
if (ArrayUtils.isNotEmpty(riskStoreTaskVo.getLongTimePictureArr())){
taskDto.setLongTimePictures(StringUtils.join(riskStoreTaskVo.getLongTimePictureArr(),","));
}
return riskStoreTaskDao.updateInspectStore(taskDto);
}
@Override
public RiskStoreTaskDto.RiskStoreTaskDetailDto saveStoreDetail(RiskStoreTaskVo.TaskDetailVo taskDetail) {
return riskStoreTaskDao.saveStoreDetail(taskDetail.getRstId(),taskDetail.getDetailName());
}
@Override
public RiskStoreTaskDto.RiskStoreTaskDetailDto updateStoreDetail(RiskStoreTaskDto.RiskStoreTaskDetailDto riskStoreTaskDetailDto) {
return riskStoreTaskDao.updateStoreDetail(riskStoreTaskDetailDto);
}
@Override
public void deleteStoreDetail(Long rstdId) {
riskStoreTaskDao.deleteStoreDetail(rstdId);
}
}
package com.sfa.operation.service.risk.impl;
import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.operation.domain.risk.dao.IRiskStoreTaskDao;
import com.sfa.operation.domain.risk.wq.RiskStoreTaskWq;
import com.sfa.operation.pojo.risk.request.RiskStoreTaskVo;
import com.sfa.operation.pojo.risk.response.RiskStoreTaskDto;
import com.sfa.operation.service.risk.IRiskStoreTaskQueryService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-08-28 16
* @describe :
*/
@Service
public class RiskStoreTaskQueryServiceImpl implements IRiskStoreTaskQueryService {
@Autowired
private IRiskStoreTaskDao riskStoreTaskDao;
@Override
public PageInfo page(RiskStoreTaskVo riskStoreTaskVo) {
RiskStoreTaskWq wq = new RiskStoreTaskWq();
wq.setOperEmpNo(riskStoreTaskVo.getOperEmpNo());
wq.setOperDate(riskStoreTaskVo.getOperDate());
wq.setStoreName(riskStoreTaskVo.getStoreName());
return riskStoreTaskDao.page(wq);
}
@Override
public RiskStoreTaskDto getDetail(RiskStoreTaskVo riskStoreTaskVo) {
RiskStoreTaskWq wq = new RiskStoreTaskWq();
BeanUtils.copyProperties(riskStoreTaskVo, wq);
return riskStoreTaskDao.selectOne(wq);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.operation.domain.risk.mapper.RiskInspectStoreMapper">
<resultMap id="RiskInspectStoreBase" type="com.sfa.operation.domain.risk.entity.RiskInspectStore">
<id property="risId" column="ris_id" jdbcType="BIGINT"/>
<result property="storeCode" column="store_code" jdbcType="VARCHAR"/>
<result property="storeName" column="store_name" jdbcType="VARCHAR"/>
<result property="rStoreName" column="r_store_name" jdbcType="VARCHAR"/>
<result property="storeType" column="store_type" jdbcType="VARCHAR"/>
<result property="storePictures" column="store_pictures" jdbcType="VARCHAR"/>
<result property="dealerName" column="dealer_name" jdbcType="VARCHAR"/>
<result property="dealerCode" column="dealer_code" jdbcType="VARCHAR"/>
<result property="province" column="province" jdbcType="VARCHAR"/>
<result property="city" column="city" jdbcType="VARCHAR"/>
<result property="address" column="address" jdbcType="VARCHAR"/>
<result property="coordinates" column="coordinates" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<insert id="save" parameterType="com.sfa.operation.domain.risk.entity.RiskInspectStore">
insert into risk_inspect_store (store_code, store_name,
r_store_name, store_type, store_pictures,
dealer_name, dealer_code, province, city, address, coordinates)
values (#{storeCode}, #{storeName},
#{rStoreName}, #{storeType}, #{storePictures},
#{dealerName}, #{dealerCode}, #{province}, #{city}, #{address}, #{coordinates})
</insert>
<update id="updateByStoreCode" parameterType="com.sfa.operation.domain.risk.entity.RiskInspectStore">
update risk_inspect_store
<set>
<if test="storeName != null and storeName != ''"> store_name = #{storeName},</if>
<if test="rStoreName != null and rStoreName != ''"> r_store_name = #{rStoreName},</if>
<if test="storeType != null and storeType != ''"> store_type = #{storeType},</if>
<if test="storePictures != null and storePictures != ''"> store_pictures = #{storePictures},</if>
<if test="dealerName != null and dealerName != ''"> dealer_name = #{dealerName},</if>
<if test="dealerCode != null and dealerCode != ''"> dealer_code = #{dealerCode},</if>
<if test="province != null and province != ''"> province = #{province},</if>
<if test="city != null and city != ''"> city = #{city},</if>
<if test="address != null and address != ''"> address = #{address},</if>
<if test="coordinates != null and coordinates != ''"> coordinates = #{coordinates},</if>
</set>
where store_code = #{storeCode}
</update>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.operation.domain.risk.mapper.RiskStoreTaskDetailMapper">
<resultMap id="RiskStoreTaskDetailBase" type="com.sfa.operation.domain.risk.entity.RiskStoreTaskDetail">
<id property="rstdId" column="rstd_id" jdbcType="BIGINT"/>
<result property="rstId" column="rst_id" jdbcType="BIGINT"/>
<result property="detailType" column="detail_type" jdbcType="VARCHAR"/>
<result property="detailName" column="detail_name" jdbcType="VARCHAR"/>
<result property="modal" column="modal" jdbcType="VARCHAR"/>
<result property="cost" column="cost" jdbcType="DECIMAL"/>
<result property="photos" column="photos" jdbcType="VARCHAR"/>
<result property="bcNr" column="bc_nr" jdbcType="VARCHAR"/>
<result property="bcQk" column="bc_qk" jdbcType="VARCHAR"/>
<result property="priceHp210" column="price_hp210" jdbcType="VARCHAR"/>
<result property="kwYmHp210" column="kw_ym_hp210" jdbcType="VARCHAR"/>
<result property="priceHp105" column="price_hp105" jdbcType="VARCHAR"/>
<result property="kwYmHp105" column="kw_ym_hp105" jdbcType="VARCHAR"/>
<result property="priceHp68" column="price_hp68" jdbcType="VARCHAR"/>
<result property="kwYmHp68" column="kw_ym_hp68" jdbcType="VARCHAR"/>
<result property="priceJrdb120" column="price_jrdb120" jdbcType="VARCHAR"/>
<result property="kwYmJrdb120" column="kw_ym_jrdb120" jdbcType="VARCHAR"/>
<result property="priceNrdb120" column="price_nrdb120" jdbcType="VARCHAR"/>
<result property="kwYmNrdb120" column="kw_ym_nrdb120" jdbcType="VARCHAR"/>
<result property="priceQg72" column="price_qg72" jdbcType="VARCHAR"/>
<result property="kwYmQg72" column="kw_ym_qg72" jdbcType="VARCHAR"/>
<result property="priceQg138" column="price_qg138" jdbcType="VARCHAR"/>
<result property="kwYmQg138" column="kw_ym_qg138" jdbcType="VARCHAR"/>
<result property="priceHpjt80" column="price_hpjt80" jdbcType="VARCHAR"/>
<result property="kwYmHpjt80" column="kw_ym_hpjt80" jdbcType="VARCHAR"/>
<result property="priceLl" column="price_ll" jdbcType="VARCHAR"/>
<result property="kwYmLl" column="kw_ym_ll" jdbcType="VARCHAR"/>
<result property="priceHpDz" column="price_hp_dz" jdbcType="VARCHAR"/>
<result property="kwYmHpDz" column="kw_ym_hp_dz" jdbcType="VARCHAR"/>
<result property="priceHpSc" column="price_hp_sc" jdbcType="VARCHAR"/>
<result property="kwYmHpSc" column="kw_ym_hp_sc" jdbcType="VARCHAR"/>
</resultMap>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sfa.operation.domain.risk.mapper.RiskStoreTaskMapper">
<resultMap id="RiskStoreTaskBase" type="com.sfa.operation.domain.risk.entity.RiskStoreTask">
<id property="rstId" column="rst_id" jdbcType="BIGINT"/>
<result property="createDate" column="create_date" jdbcType="DATE"/>
<result property="storeCode" column="store_code" jdbcType="VARCHAR"/>
<result property="storeName" column="store_name" jdbcType="VARCHAR"/>
<result property="storeType" column="store_type" jdbcType="VARCHAR"/>
<result property="storePicture" column="store_picture" jdbcType="VARCHAR"/>
<result property="dealerName" column="dealer_name" jdbcType="VARCHAR"/>
<result property="dealerCode" column="dealer_code" jdbcType="VARCHAR"/>
<result property="province" column="province" jdbcType="VARCHAR"/>
<result property="city" column="city" jdbcType="VARCHAR"/>
<result property="address" column="address" jdbcType="VARCHAR"/>
<result property="coordinates" column="coordinates" jdbcType="VARCHAR"/>
<result property="lhlds" column="lhlds" jdbcType="VARCHAR"/>
<result property="skuNum" column="sku_num" jdbcType="INTEGER"/>
<result property="longTimePictures" column="long_time_pictures" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createEmpNo" column="create_emp_no" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论