diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java
index 0c4b24555..ed5f31062 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/JoinModeEnum.java
@@ -44,4 +44,13 @@ public enum JoinModeEnum {
public static boolean isFranchise(Integer code) {
return code == FRANCHISE_DEPARTMENT.code || code == AFFILIATES.code;
}
+
+ public static String getDescByCode(Integer code) {
+ for (JoinModeEnum e : JoinModeEnum.values()) {
+ if (e.getCode() == code) {
+ return e.desc;
+ }
+ }
+ return null;
+ }
}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/master/BrandTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/master/BrandTypeEnum.java
new file mode 100644
index 000000000..4dbe11852
--- /dev/null
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/master/BrandTypeEnum.java
@@ -0,0 +1,52 @@
+package com.cool.store.enums.master;
+
+/**
+ * @Author suzhuhong
+ * @Date 2025/8/6 16:49
+ * @Version 1.0
+ */
+public enum BrandTypeEnum {
+
+ JP(1, "正新鸡排"),
+ SMZ(2, "正新三明治"),
+ ZSJ(3, "正烧记"),
+ MX(4, "大鼓米线"),
+ CXM(5, "串小妹"),
+ MZG(6, "茂掌柜");
+
+ ;
+ private Integer code;
+
+ private String desc;
+
+ BrandTypeEnum(Integer code, String desc) {
+ this.code = code;
+ this.desc = desc;
+ }
+
+ public Integer getCode() {
+ return code;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public static Integer getCodeByDesc(String desc) {
+ for (BrandTypeEnum value : values()) {
+ if (value.getDesc().equals(desc)) {
+ return value.getCode();
+ }
+ }
+ return null;
+ }
+
+ public static String getDescByCode(Integer code) {
+ for (BrandTypeEnum value : values()) {
+ if (value.getCode().equals(code)) {
+ return value.getDesc();
+ }
+ }
+ return null;
+ }
+}
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/tp/TpFormTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/tp/TpFormTypeEnum.java
index 3f62a2dec..20f2bf2ee 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/tp/TpFormTypeEnum.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/tp/TpFormTypeEnum.java
@@ -15,16 +15,18 @@ import lombok.Getter;
@AllArgsConstructor
public enum TpFormTypeEnum {
- REWARD(0, "加分申请单"),
- WARNING(1, "警告书"),
- PENALTY(2, "处罚书"),
- APPEAL(3, "复议申请单"),
+ REWARD(0, "加分申请单", "加分申请单"),
+ WARNING(1, "警告书", "惩处申请单"),
+ PENALTY(2, "处罚书", "惩处申请单"),
+ APPEAL(3, "复议申请单", "复议申请单"),
;
private final Integer type;
private final String msg;
+ private final String alias;
+
public static String getMsgByType(Integer type) {
for (TpFormTypeEnum value : values()) {
if (value.type.equals(type)) {
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/tp/TpScoreJournalDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/tp/TpScoreJournalDAO.java
index db2ff465f..762b54193 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/tp/TpScoreJournalDAO.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/tp/TpScoreJournalDAO.java
@@ -2,8 +2,14 @@ package com.cool.store.dao.tp;
import com.cool.store.entity.tp.TpScoreJournalDO;
import com.cool.store.mapper.tp.TpScoreJournalMapper;
+import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
+import tk.mybatis.mapper.entity.Example;
+
+import java.util.List;
+import java.util.Objects;
/**
*
@@ -24,4 +30,38 @@ public class TpScoreJournalDAO {
public void insertSelective(TpScoreJournalDO record) {
tpScoreJournalMapper.insertSelective(record);
}
+
+ /**
+ * 列表查询
+ */
+ public List getList(TpScoreJournalQueryRequest request) {
+ Example example = new Example(TpScoreJournalDO.class);
+ Example.Criteria criteria = example.createCriteria();
+ if (StringUtils.isNotBlank(request.getStoreNameOrNum())) {
+ criteria.andCondition("store_num LIKE '%" + request.getStoreNameOrNum() + "%' OR store_name LIKE '%" + request.getStoreNameOrNum() + "%'");
+ }
+ if (Objects.nonNull(request.getJoinBrand())) {
+ criteria.andEqualTo("joinBrand", request.getJoinBrand());
+ }
+ if (Objects.nonNull(request.getJoinModel())) {
+ criteria.andEqualTo("joinModel", request.getJoinModel());
+ }
+ if (Objects.nonNull(request.getStoreType())) {
+ criteria.andEqualTo("storeType", request.getStoreType());
+ }
+ if (Objects.nonNull(request.getStartDate())) {
+ criteria.andGreaterThanOrEqualTo("occurDate", request.getStartDate());
+ }
+ if (Objects.nonNull(request.getEndDate())) {
+ criteria.andLessThanOrEqualTo("occurDate", request.getEndDate());
+ }
+ if (Objects.nonNull(request.getApplyType())) {
+ criteria.andEqualTo("applyType", request.getApplyType());
+ }
+ if (StringUtils.isNotBlank(request.getApplyNo())) {
+ criteria.andLike("applyNo", "%" + request.getApplyNo() + "%");
+ }
+ example.setOrderByClause("createTime DESC");
+ return tpScoreJournalMapper.selectByExample(example);
+ }
}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/tp/TpAppealApplyRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/tp/TpAppealApplyRequest.java
index 8b7ed080d..efeb96f2b 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/request/tp/TpAppealApplyRequest.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/tp/TpAppealApplyRequest.java
@@ -20,10 +20,6 @@ public class TpAppealApplyRequest {
@ApiModelProperty("id")
private Long id;
- @ApiModelProperty("门店id")
- @NotBlank(message = "门店id不能为空")
- private String storeId;
-
@ApiModelProperty("是否为草稿 0否 1是")
@NotNull(message = "是否为草稿不能为空")
private Integer isDraft;
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/tp/TpScoreJournalQueryRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/tp/TpScoreJournalQueryRequest.java
new file mode 100644
index 000000000..6301339ca
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/tp/TpScoreJournalQueryRequest.java
@@ -0,0 +1,42 @@
+package com.cool.store.request.tp;
+
+import com.cool.store.common.PageBasicInfo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ *
+ * 积分流水查询Request
+ *
+ *
+ * @author wangff
+ * @since 2025/11/10
+ */
+@Data
+public class TpScoreJournalQueryRequest extends PageBasicInfo {
+ @ApiModelProperty("门店名称或编码")
+ private String storeNameOrNum;
+
+ @ApiModelProperty("加盟品牌")
+ private Integer joinBrand;
+
+ @ApiModelProperty("加盟模式")
+ private Integer joinModel;
+
+ @ApiModelProperty("门店类型")
+ private Integer storeType;
+
+ @ApiModelProperty("开始发生日期")
+ private Date startDate;
+
+ @ApiModelProperty("结束发生日期")
+ private Date endDate;
+
+ @ApiModelProperty("来源单据,0加分申请单 2处罚申请单")
+ private Integer applyType;
+
+ @ApiModelProperty("来源单号")
+ private String applyNo;
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/tp/TpScoreJournalVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/tp/TpScoreJournalVO.java
new file mode 100644
index 000000000..59938de4c
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/tp/TpScoreJournalVO.java
@@ -0,0 +1,100 @@
+package com.cool.store.vo.tp;
+
+import com.cool.store.enums.JoinModeEnum;
+import com.cool.store.enums.StoreTypeEnum;
+import com.cool.store.enums.master.BrandTypeEnum;
+import com.cool.store.enums.tp.TpFormTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ *
+ * 积分流水VO
+ *
+ *
+ * @author wangff
+ * @since 2025/11/10
+ */
+@Data
+public class TpScoreJournalVO {
+ @ApiModelProperty("流水号")
+ private String journalNo;
+
+ @ApiModelProperty("门店编码")
+ private String storeNum;
+
+ @ApiModelProperty("加盟品牌")
+ private Integer joinBrand;
+
+ @ApiModelProperty("加盟品牌名称")
+ private String joinBrandName;
+
+ @ApiModelProperty("加盟模式")
+ private Integer joinModel;
+
+ @ApiModelProperty("加盟模式名称")
+ private String joinModelName;
+
+ @ApiModelProperty("门店类型")
+ private Integer storeType;
+
+ @ApiModelProperty("门店类型名称")
+ private String storeTypeName;
+
+ @ApiModelProperty("门店名称")
+ private String storeName;
+
+ @ApiModelProperty("发生分值")
+ private String occurScore;
+
+ @ApiModelProperty("发生日期")
+ private Date occurDate;
+
+ @ApiModelProperty("发生前分值")
+ private BigDecimal occurBeforeScore;
+
+ @ApiModelProperty("发生后分值")
+ private BigDecimal occurAfterScore;
+
+ @ApiModelProperty("单据类型")
+ private Integer applyType;
+
+ @ApiModelProperty("单据类型名称")
+ private String applyTypeName;
+
+ @ApiModelProperty("来源单号")
+ private String applyNo;
+
+ @ApiModelProperty("项目大类")
+ private String projectCategory;
+
+ @ApiModelProperty("项目名称")
+ private String projectName;
+
+ @ApiModelProperty("规则编码")
+ private String ruleNo;
+
+ @ApiModelProperty("创建时间")
+ private Date createTime;
+
+ public String getJoinBrandName() {
+ return BrandTypeEnum.getDescByCode(this.joinBrand);
+ }
+
+ public String getJoinModelNam() {
+ return JoinModeEnum.getDescByCode(this.joinModel);
+ }
+
+ public String getStoreTypeName() {
+ return StoreTypeEnum.getMessage(this.storeType);
+ }
+
+ public String getApplyTypeName() {
+ TpFormTypeEnum type = TpFormTypeEnum.getByType(this.applyType);
+ return Objects.nonNull(type) ? type.getAlias() : null;
+ }
+}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/tp/TpScoreJournalService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/tp/TpScoreJournalService.java
new file mode 100644
index 000000000..fa6a600a1
--- /dev/null
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/tp/TpScoreJournalService.java
@@ -0,0 +1,23 @@
+package com.cool.store.service.tp;
+
+import com.cool.store.request.tp.TpScoreJournalQueryRequest;
+import com.cool.store.vo.tp.TpScoreJournalVO;
+import com.github.pagehelper.PageInfo;
+
+/**
+ *
+ * 十二分制-积分流水 服务类
+ *
+ *
+ * @author wangff
+ * @since 2025/11/10
+ */
+public interface TpScoreJournalService {
+
+ /**
+ * 积分流水分页查询
+ * @param request 积分流水查询Request
+ * @return 积分流水VO列表
+ */
+ PageInfo getPage(TpScoreJournalQueryRequest request);
+}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/tp/impl/TpApplyServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/tp/impl/TpApplyServiceImpl.java
index 3f6dfa931..8a5d2b5dd 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/tp/impl/TpApplyServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/tp/impl/TpApplyServiceImpl.java
@@ -211,6 +211,7 @@ public class TpApplyServiceImpl implements TpApplyService {
formDO.setApplyNo(isInsert ? TpHelper.generateAppealNo() : null);
formDO.setRuleId(punishFormDO.getRuleId());
formDO.setType(TpFormTypeEnum.APPEAL.getType());
+ formDO.setStoreId(punishFormDO.getStoreId());
fillRuleFields(formDO);
tpApplyFormDAO.insertOrUpdate(formDO);
// 第一次提交后添加审批记录
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/tp/impl/TpScoreJournalServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/tp/impl/TpScoreJournalServiceImpl.java
new file mode 100644
index 000000000..0ec1b156f
--- /dev/null
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/tp/impl/TpScoreJournalServiceImpl.java
@@ -0,0 +1,36 @@
+package com.cool.store.service.tp.impl;
+
+import com.cool.store.dao.tp.TpScoreJournalDAO;
+import com.cool.store.entity.tp.TpScoreJournalDO;
+import com.cool.store.request.tp.TpScoreJournalQueryRequest;
+import com.cool.store.service.tp.TpScoreJournalService;
+import com.cool.store.utils.BeanUtil;
+import com.cool.store.vo.tp.TpScoreJournalVO;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * 十二分制-积分流水 服务实现类
+ *
+ *
+ * @author wangff
+ * @since 2025/11/10
+ */
+@Service
+@RequiredArgsConstructor
+public class TpScoreJournalServiceImpl implements TpScoreJournalService {
+ private final TpScoreJournalDAO tpScoreJournalDAO;
+
+ @Override
+ public PageInfo getPage(TpScoreJournalQueryRequest request) {
+ PageHelper.startPage(request.getPageNum(), request.getPageSize());
+ List list = tpScoreJournalDAO.getList(request);
+ PageInfo page = new PageInfo<>(list);
+ return BeanUtil.toPage(page, TpScoreJournalVO.class);
+ }
+}
diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TpScoreJournalController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TpScoreJournalController.java
new file mode 100644
index 000000000..213c18d8f
--- /dev/null
+++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/TpScoreJournalController.java
@@ -0,0 +1,35 @@
+package com.cool.store.controller.webb;
+
+import com.cool.store.request.tp.TpScoreJournalQueryRequest;
+import com.cool.store.response.ResponseResult;
+import com.cool.store.service.tp.TpScoreJournalService;
+import com.cool.store.vo.tp.TpScoreJournalVO;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 十二分制-积分流水 前端控制器
+ *
+ *
+ * @author wangff
+ * @since 2025/11/10
+ */
+@Api(tags = "十二分制-积分流水")
+@RestController
+@RequestMapping("/pc/tp/journal")
+@RequiredArgsConstructor
+public class TpScoreJournalController {
+ private final TpScoreJournalService tpScoreJournalService;
+
+ @ApiOperation("积分流水分页查询")
+ @GetMapping("/page")
+ public ResponseResult> getPage(TpScoreJournalQueryRequest request) {
+ return ResponseResult.success(tpScoreJournalService.getPage(request));
+ }
+}