积分详情
This commit is contained in:
parent
72519e32b8
commit
6dd43b9d68
@ -19,7 +19,7 @@ import javax.annotation.Resource;
|
|||||||
* @since 2023-11-10 17:52:32
|
* @since 2023-11-10 17:52:32
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("integralDetail")
|
@RequestMapping("business/integral/integralDetail")
|
||||||
public class IntegralDetailController extends BaseController {
|
public class IntegralDetailController extends BaseController {
|
||||||
/**
|
/**
|
||||||
* 服务对象
|
* 服务对象
|
||||||
@ -42,6 +42,16 @@ public class IntegralDetailController extends BaseController {
|
|||||||
IPage< IntegralDetail> iPageList = this.integralDetailService.queryByPage(page, integralDetail);
|
IPage< IntegralDetail> iPageList = this.integralDetailService.queryByPage(page, integralDetail);
|
||||||
return getSuccessResult(iPageList);
|
return getSuccessResult(iPageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("queryByPageUni")
|
||||||
|
public ResponseObject queryByPageUni(@RequestParam(value = "pageNo",defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
|
||||||
|
@Param("integralDetail") IntegralDetail integralDetail) {
|
||||||
|
Page page = new Page(pageNo, pageSize);
|
||||||
|
IPage< IntegralDetail> iPageList = this.integralDetailService.queryByPageUni(page, integralDetail);
|
||||||
|
return getSuccessResult(iPageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,14 +44,10 @@ public class IntegralDetail extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Integer storeId;
|
private Integer storeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 连锁店id
|
||||||
|
*/
|
||||||
|
private Integer chainStoreId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ public interface IntegralDetailMapper {
|
|||||||
* @param page 分页对象
|
* @param page 分页对象
|
||||||
* @return 对象列表
|
* @return 对象列表
|
||||||
*/
|
*/
|
||||||
IPage<IntegralDetail> queryAllByLimit(@Param("page") Page page, IntegralDetail integralDetail);
|
IPage<IntegralDetail> queryAllByLimit(@Param("page") Page page,@Param("integralDetail") IntegralDetail integralDetail);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计总行数
|
* 统计总行数
|
||||||
|
@ -31,41 +31,19 @@
|
|||||||
id, user_id, points_change, current_points, type, change_reason, store_id, create_time, update_time, create_by, update_by,change_type
|
id, user_id, points_change, current_points, type, change_reason, store_id, create_time, update_time, create_by, update_by,change_type
|
||||||
from integral_detail
|
from integral_detail
|
||||||
<where>
|
<where>
|
||||||
<if test="id != null">
|
<if test="integralDetail.chainStoreId != null">
|
||||||
and id = #{id}
|
and chain_store_id = #{integralDetail.chainStoreId}
|
||||||
</if>
|
</if>
|
||||||
<if test="userId != null">
|
<if test="integralDetail.storeId != null">
|
||||||
and user_id = #{userId}
|
and store_id = #{integralDetail.storeId}
|
||||||
</if>
|
|
||||||
<if test="pointsChange != null">
|
|
||||||
and points_change = #{pointsChange}
|
|
||||||
</if>
|
|
||||||
<if test="currentPoints != null">
|
|
||||||
and current_points = #{currentPoints}
|
|
||||||
</if>
|
|
||||||
<if test="type != null and type != ''">
|
|
||||||
and type = #{type}
|
|
||||||
</if>
|
|
||||||
<if test="changeReason != null and changeReason != ''">
|
|
||||||
and change_reason = #{changeReason}
|
|
||||||
</if>
|
|
||||||
<if test="storeId != null">
|
|
||||||
and store_id = #{storeId}
|
|
||||||
</if>
|
|
||||||
<if test="createTime != null">
|
|
||||||
and create_time = #{createTime}
|
|
||||||
</if>
|
|
||||||
<if test="updateTime != null">
|
|
||||||
and update_time = #{updateTime}
|
|
||||||
</if>
|
|
||||||
<if test="createBy != null and createBy != ''">
|
|
||||||
and create_by = #{createBy}
|
|
||||||
</if>
|
|
||||||
<if test="updateBy != null and updateBy != ''">
|
|
||||||
and update_by = #{updateBy}
|
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
|
order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
<!-- order by-->
|
||||||
|
|
||||||
|
|
||||||
<!--统计总行数-->
|
<!--统计总行数-->
|
||||||
<select id="count" resultType="java.lang.Long">
|
<select id="count" resultType="java.lang.Long">
|
||||||
|
@ -30,6 +30,7 @@ public interface IntegralDetailService {
|
|||||||
* @return 查询结果
|
* @return 查询结果
|
||||||
*/
|
*/
|
||||||
IPage<IntegralDetail> queryByPage(@Param("page") Page page, IntegralDetail integralDetail);
|
IPage<IntegralDetail> queryByPage(@Param("page") Page page, IntegralDetail integralDetail);
|
||||||
|
IPage<IntegralDetail> queryByPageUni(@Param("page") Page page, IntegralDetail integralDetail);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增数据
|
* 新增数据
|
||||||
|
@ -50,6 +50,11 @@ public class IntegralDetailServiceImpl implements IntegralDetailService {
|
|||||||
return this.integralDetailMapper.queryAllByLimit(page, integralDetail);
|
return this.integralDetailMapper.queryAllByLimit(page, integralDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<IntegralDetail> queryByPageUni(@Param("page") Page page, IntegralDetail integralDetail) {
|
||||||
|
return this.integralDetailMapper.queryAllByLimit(page, integralDetail);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增数据
|
* 新增数据
|
||||||
*
|
*
|
||||||
|
@ -157,6 +157,7 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public CardValueRecord checkTheStatusOfYourPayment(Integer id) {
|
public CardValueRecord checkTheStatusOfYourPayment(Integer id) {
|
||||||
|
|
||||||
CardValueRecord cardValueRecord = baseMapper.selectById(id);
|
CardValueRecord cardValueRecord = baseMapper.selectById(id);
|
||||||
// 支付成功之后
|
// 支付成功之后
|
||||||
if ("paid".equals(cardValueRecord.getPayStatus())){
|
if ("paid".equals(cardValueRecord.getPayStatus())){
|
||||||
@ -207,6 +208,9 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
|
|||||||
}
|
}
|
||||||
//用户余额表计算
|
//用户余额表计算
|
||||||
private UserBalance balanceCalculation(CardValueRecord cardValueRecordDTO) {
|
private UserBalance balanceCalculation(CardValueRecord cardValueRecordDTO) {
|
||||||
|
|
||||||
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
|
// nowAccountInfo
|
||||||
LJUserVo ljUserVos = ljUserMapper.selectAllInfoById(cardValueRecordDTO.getMtUserId());
|
LJUserVo ljUserVos = ljUserMapper.selectAllInfoById(cardValueRecordDTO.getMtUserId());
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(cardValueRecordDTO.getBidBalance())) cardValueRecordDTO.setBidBalance(0.00);
|
if (ObjectUtil.isEmpty(cardValueRecordDTO.getBidBalance())) cardValueRecordDTO.setBidBalance(0.00);
|
||||||
|
@ -75,7 +75,6 @@ public class LJUserController extends BaseController {
|
|||||||
|
|
||||||
@GetMapping("/getByUniApp")
|
@GetMapping("/getByUniApp")
|
||||||
public ResponseObject getByUniApp(Integer chainStoreId){
|
public ResponseObject getByUniApp(Integer chainStoreId){
|
||||||
// todo wangh改为便利店id
|
|
||||||
LJUserVo user = userService.getByUniApp(chainStoreId);
|
LJUserVo user = userService.getByUniApp(chainStoreId);
|
||||||
return getSuccessResult(user);
|
return getSuccessResult(user);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,89 @@
|
|||||||
|
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
|
||||||
|
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
|
||||||
|
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
|
||||||
|
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
|
||||||
|
import org.apache.rocketmq.client.exception.MQBrokerException;
|
||||||
|
import org.apache.rocketmq.common.message.Message;
|
||||||
|
import com.fuint.fuintApplication;
|
||||||
|
import org.apache.rocketmq.client.exception.MQClientException;
|
||||||
|
import org.apache.rocketmq.client.producer.DefaultMQProducer;
|
||||||
|
import org.apache.rocketmq.client.producer.SendResult;
|
||||||
|
import org.apache.rocketmq.common.message.MessageExt;
|
||||||
|
import org.apache.rocketmq.remoting.exception.RemotingException;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
|
//@RunWith(SpringRunner.class)
|
||||||
|
@SpringBootTest(classes = fuintApplication.class)
|
||||||
|
@Transactional
|
||||||
|
public class UserSeriviceTest {
|
||||||
|
@Test
|
||||||
|
public void test() throws MQClientException, UnsupportedEncodingException, MQBrokerException, RemotingException, InterruptedException {
|
||||||
|
//1.创建一个发送消息的对象Producer,指定分组(生产者分组) 等会讲
|
||||||
|
DefaultMQProducer producer = new DefaultMQProducer("group1");
|
||||||
|
|
||||||
|
//2.设定发送的命名服务器地址,连接上ns之后,才能拿到broker地址,发送消息
|
||||||
|
producer.setNamesrvAddr("39.104.58.101:9876");
|
||||||
|
|
||||||
|
//3.1启动发送的服务
|
||||||
|
producer.start();
|
||||||
|
|
||||||
|
//4.创建要发送的消息对象,指定topic,指定内容body
|
||||||
|
Message msg = new Message("topic1","hello rocketmq".getBytes("UTF-8"));
|
||||||
|
//3.2发送消息。这里是同步请求,如果broker没有给出响应,就拿不到返回值并且卡死在当前行代码
|
||||||
|
SendResult result = producer.send(msg);
|
||||||
|
System.out.println("返回结果:"+result);
|
||||||
|
//5.关闭连接
|
||||||
|
// producer.shutdown();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void consumer() throws MQClientException {
|
||||||
|
//1.创建一个接收消息的对象Consumer
|
||||||
|
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("group1");
|
||||||
|
//2.设定接收的命名服务器地址
|
||||||
|
consumer.setNamesrvAddr("39.104.58.101:9876");
|
||||||
|
//3.设置接收消息对应的topic,对应的sub标签为任意*
|
||||||
|
// 如果想接收之前topic1的生产者发送的消息,这里的就要订阅相同的topic才可以
|
||||||
|
try {
|
||||||
|
consumer.subscribe("topic1", "*");
|
||||||
|
} catch (MQClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//4.开启监听,用于接收消息
|
||||||
|
consumer.registerMessageListener(new MessageListenerConcurrently() {
|
||||||
|
/**
|
||||||
|
* 设置好监听之后,只要有消息出现,就会调用 consumeMessage方法
|
||||||
|
* @param list 所有的消息都会存入该集合,供消费者消费
|
||||||
|
* @param consumeConcurrentlyContext 同时并行消费(多线程)的上下文
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
|
||||||
|
//遍历消息
|
||||||
|
for (MessageExt msg : list) {
|
||||||
|
// System.out.println("收到消息:"+msg);
|
||||||
|
System.out.println("消息:" + new String(msg.getBody()));
|
||||||
|
}
|
||||||
|
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//5.启动接收消息的服务
|
||||||
|
consumer.start();
|
||||||
|
System.out.println("接收消息服务已开启运行");
|
||||||
|
|
||||||
|
// 不能关闭消费者端服务器,因为对broker中topic设置了监听;
|
||||||
|
// 该topic中只要有了新消息,就要通知消费者消费
|
||||||
|
// consumer.shutdown();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -213,7 +213,9 @@
|
|||||||
request({
|
request({
|
||||||
url: '/business/userManager/user/getByUniApp',
|
url: '/business/userManager/user/getByUniApp',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
// params:{}
|
params: {
|
||||||
|
chainStoreId: uni.getStorageSync('chainStoreId')
|
||||||
|
}
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
this.myPoints = res.data.points
|
this.myPoints = res.data.points
|
||||||
|
@ -7,19 +7,15 @@
|
|||||||
<view class="my-icons"></view>
|
<view class="my-icons"></view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 顶部区域 -->
|
<!-- 顶部区域 -->
|
||||||
<view class="m-box" v-for="(item,index) in mingList" :key="index">
|
<view class="m-box" v-for="(item,index) in detailList" :key="index">
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="title">积分增加</view>
|
<view class="title" v-if="item.changeType == 1">{{item.changeReason}}</view>
|
||||||
<view class="times">2023-07-30 12:00:00</view>
|
<view class="title" v-else style="color: #F52D22;">积分支出</view>
|
||||||
|
|
||||||
|
<view class="times">{{item.createTime}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="sr-nmb">+ 7</view>
|
<view class="sr-nmb" v-if="item.changeType == 1">+{{item.pointsChange}}</view>
|
||||||
</view>
|
<view class="sc-nmb" v-else>{{item.pointsChange}}</view>
|
||||||
<view class="m-box" v-for="(item,index) in mingList" :key="index">
|
|
||||||
<view class="">
|
|
||||||
<view class="title" style="color: #F52D22;">积分支出</view>
|
|
||||||
<view class="times">2023-07-30 12:00:00</view>
|
|
||||||
</view>
|
|
||||||
<view class="sc-nmb">+ 7</view>
|
|
||||||
</view>
|
</view>
|
||||||
<!-- 判断根据实际情况而改 -->
|
<!-- 判断根据实际情况而改 -->
|
||||||
<u-empty text="积分明细" v-if="mingList.length == 0" icon="http://cdn.uviewui.com/uview/empty/list.png">
|
<u-empty text="积分明细" v-if="mingList.length == 0" icon="http://cdn.uviewui.com/uview/empty/list.png">
|
||||||
@ -31,10 +27,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import config from '@/config'
|
||||||
|
import request from '../../utils/request'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '',
|
title: '',
|
||||||
|
detailList: [],
|
||||||
mingList: [
|
mingList: [
|
||||||
"3", "4", "5", "6",
|
"3", "4", "5", "6",
|
||||||
],
|
],
|
||||||
@ -45,11 +44,28 @@
|
|||||||
|
|
||||||
components: {
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.getIntegralDetailList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
goback() {
|
goback() {
|
||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
}
|
},
|
||||||
|
// 查询我的积分明细
|
||||||
|
getIntegralDetailList() {
|
||||||
|
request({
|
||||||
|
url: 'business/integral/integralDetail/queryByPageUni',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
chainStoreId: uni.getStorageSync('chainStoreId')
|
||||||
|
}
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.detailList = res.data.records
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user