diff --git a/pom.xml b/pom.xml
index e55f042d..70931a26 100644
--- a/pom.xml
+++ b/pom.xml
@@ -253,7 +253,6 @@
com.aliyun
alibaba-dingtalk-service-sdk
2.0.0
- suibian
@@ -266,6 +265,20 @@
org.eclipse.jgit
5.1.3.201810200350-r
+
+
+ io.socket
+ engine.io-client
+ 1.0.1-lz1
+
+
+
+ io.socket
+ socket.io-client
+ 1.0.1-lz
+
+
+
diff --git a/src/main/java/com/lz/TestSocket.java b/src/main/java/com/lz/TestSocket.java
new file mode 100644
index 00000000..850e8e3d
--- /dev/null
+++ b/src/main/java/com/lz/TestSocket.java
@@ -0,0 +1,91 @@
+package com.lz;
+
+import lombok.extern.slf4j.Slf4j;
+import org.json.JSONObject;
+import io.socket.client.IO;
+import io.socket.client.Socket;
+import io.socket.emitter.Emitter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+public class TestSocket {
+ public static void main(String[] args) {
+ String url = "http://172.16.10.5:9090";
+ try {
+ Map> extraHeaders = new HashMap<>();
+ //登录token
+ List token = new ArrayList<>();
+ token.add("tlyjP116jIwf3kik7nJr069");
+ extraHeaders.put("token", token);
+ //email
+ List email = new ArrayList<>();
+ email.add("wulin@sina.com");
+ extraHeaders.put("email", email);
+ //头像
+ List himage = new ArrayList<>();
+ himage.add("https://www.baidu.com/1.jpg");
+ extraHeaders.put("himage", himage);
+ //昵称
+ List nick = new ArrayList<>();
+ nick.add("%E6%9C%BA%E5%99%A8%E4%BA%BA1%E5%8F%B7");
+ extraHeaders.put("nick", nick);
+ IO.Options options = new IO.Options();
+ options.transports = new String[]{"websocket"};
+ options.reconnectionAttempts = 2;
+ // 失败重连的时间间隔
+ options.reconnectionDelay = 1000;
+ // 连接超时时间(ms)
+ options.timeout = 500;
+ //options.query = "token=tUbNxd16i6omy3jqTswJ165";
+ //options.query = "token:tUbNxd16i6omy3jqTswJ165";
+ options.extraHeaders = extraHeaders;
+ // roomId: 房间唯一标识 传给服务端存储
+ final Socket socket = IO.socket(url + "?roomId=-1", options);
+ socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
+ public void call(Object... args) {
+ log.info("连上服务端:");
+ }
+ });
+
+ // 自定义事件`onlineMessage` -> 接收服务端成功连接消息
+ socket.on("onlineMessage", new Emitter.Listener() {
+ public void call(Object... args) {
+ log.info("有客户端上线:" + args[0].toString());
+ }
+ });
+ // 自定义事件`offlineMessage` -> 接收服务端消息
+ socket.on("offlineMessage", new Emitter.Listener() {
+ public void call(Object... args) {
+ log.info("有客户端下线:" + args[0].toString());
+ }
+ });
+ // 自定义事件`myBroadcast` -> 接收服务端广播消息
+ socket.on("receiveRoomMessage", new Emitter.Listener() {
+ public void call(Object... args) {
+ log.info("数据同步:" + args[0].toString());
+ }
+ });
+ socket.connect();
+ Integer v = 1000;
+ Integer m = 82;
+ Integer time = 0;
+ while(true){
+
+ JSONObject jsonObject = new JSONObject("{\"r\":" + time / 1000 + ",\"v\":" + v + ",\"h\":209,\"s\":603,\"g\":0,\"m\":" + m + ",\"c\":5}");
+ socket.emit("sendRoomMessage", jsonObject);
+ Thread.sleep(500);
+ v += 500;
+ m += 2;
+ time += 500;
+ if(v.equals(12000)){
+ v = 1500;
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/lz/TestSocket1.java b/src/main/java/com/lz/TestSocket1.java
new file mode 100644
index 00000000..858bafc5
--- /dev/null
+++ b/src/main/java/com/lz/TestSocket1.java
@@ -0,0 +1,98 @@
+package com.lz;
+
+import io.socket.client.IO;
+import io.socket.client.Socket;
+import io.socket.emitter.Emitter;
+import lombok.extern.slf4j.Slf4j;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+public class TestSocket1 {
+
+ public static void main(String[] args) {
+ String url = "http://172.16.10.5:9090";
+ try {
+ Map> extraHeaders = new HashMap<>();
+ //登录token
+ List token = new ArrayList<>();
+ token.add("tLmZHV16i8OQMG4eNoqE617");
+ extraHeaders.put("token", token);
+ //email
+ List email = new ArrayList<>();
+ email.add("wulin@163.com");
+ extraHeaders.put("email", email);
+ //头像
+ List himage = new ArrayList<>();
+ himage.add("https://www.baidu.com/1.jpg");
+ extraHeaders.put("himage", himage);
+ //昵称
+ List nick = new ArrayList<>();
+ nick.add("%E6%99%BA%E8%83%BD2%E5%8F%B7");
+ extraHeaders.put("nick", nick);
+ IO.Options options = new IO.Options();
+ options.transports = new String[]{"websocket"};
+ options.reconnectionAttempts = 2;
+ // 失败重连的时间间隔
+ options.reconnectionDelay = 1000;
+ // 连接超时时间(ms)
+ options.timeout = 500;
+ options.extraHeaders = extraHeaders;
+
+ // roomId: 房间唯一标识 传给服务端存储
+ final Socket socket = IO.socket(url + "?roomId=-1", options);
+
+ socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
+
+ public void call(Object... args) {
+ socket.send("hello...");
+ }
+ });
+
+ // 自定义事件`onlineMessage` -> 接收服务端成功连接消息
+ socket.on("onlineMessage", new Emitter.Listener() {
+ public void call(Object... args) {
+ log.info("服务端上线:" + args[0].toString());
+ }
+ });
+
+ // 自定义事件`offlineMessage` -> 接收服务端消息
+ socket.on("offlineMessage", new Emitter.Listener() {
+ public void call(Object... args) {
+ log.info("服务端下线:" + args[0].toString());
+ }
+ });
+
+ // 自定义事件`myBroadcast` -> 接收服务端广播消息
+ socket.on("receiveRoomMessage", new Emitter.Listener() {
+ public void call(Object... args) {
+ log.info("服务端广播:" + args[0].toString());
+ }
+ });
+
+ socket.connect();
+ Integer v = 1000;
+ Integer m = 82;
+ Integer time = 0;
+ while(true){
+
+ JSONObject jsonObject = new JSONObject("{\"r\":" + time / 1000 + ",\"v\":" + v + ",\"h\":209,\"s\":603,\"g\":0,\"m\":" + m + ",\"c\":5}");
+ socket.emit("sendRoomMessage", jsonObject);
+ Thread.sleep(500);
+ v += 500;
+ m += 2;
+ time += 500;
+ if(v.equals(12000)){
+ v = 1500;
+ }
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/lz/config/ShiroConfig.java b/src/main/java/com/lz/config/ShiroConfig.java
index 08bbc15d..c65ade17 100644
--- a/src/main/java/com/lz/config/ShiroConfig.java
+++ b/src/main/java/com/lz/config/ShiroConfig.java
@@ -75,6 +75,7 @@ public class ShiroConfig {
filterMap.put("/luck/getLuckById", "anon");
filterMap.put("/luck/updateLuck", "anon");
filterMap.put("/doc.html**", "anon");
+ filterMap.put("/mcdonaldCoupon/**", "anon");
filterMap.put("/**", "oauth2");
shiroFilter.setFilterChainDefinitionMap(filterMap);
diff --git a/src/main/java/com/lz/modules/mcdonald/controller/McdonaldCouponController.java b/src/main/java/com/lz/modules/mcdonald/controller/McdonaldCouponController.java
new file mode 100644
index 00000000..5f4d5a1b
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/controller/McdonaldCouponController.java
@@ -0,0 +1,171 @@
+package com.lz.modules.mcdonald.controller;
+
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.lz.common.utils.*;
+import com.lz.modules.flow.model.EvaluationGroupDto;
+import com.lz.modules.mcdonald.entity.McdonaldCoupon;
+import com.lz.modules.mcdonald.model.McdonaldCouponDto;
+import com.lz.modules.mcdonald.service.McdonaldCouponService;
+import com.lz.modules.sys.entity.SysUserEntity;
+import com.lz.modules.sys.service.SysUserService;
+import com.lz.modules.third.entity.ThirdAppConfig;
+import com.lz.modules.third.service.ThirdAppConfigService;
+import io.swagger.annotations.*;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/mcdonaldCoupon")
+@Slf4j
+@Api(tags = "麦当劳优惠券相关相关")
+public class McdonaldCouponController {
+
+
+ @Autowired
+ private McdonaldCouponService mcdonaldCouponService;
+
+ @Autowired
+ private RedisCacheUtil redisCacheUtil;
+
+ @Autowired
+ private SysUserService sysUserService;
+
+ @Autowired
+ private ThirdAppConfigService thirdAppConfigService;
+
+ static String WEIXIN_TOKEN_TKEY = "weixin_access_token_key";
+ static String WEIXIN_TICKET_TKEY = "weixin_jsapi_ticket_key";
+
+
+
+ /*@RequestMapping("/list")
+ public R list(@RequestBody String body) {
+ Map params = new HashMap<>();
+ if(StringUtil.isNotBlank(body)){
+ params = JSONObject.parseObject(body,Map.class);
+ }
+ PageUtils page = mcdonaldCouponService.queryPage(params);
+ return R.ok().put("page", page);
+ }*/
+
+ @GetMapping("/getByCode")
+ @ApiOperation("根据二维码内容获取优惠券信息")
+ @ApiResponses({@ApiResponse(code=200,message = "成功", response= EvaluationGroupDto.class)})
+ public R getByCode(@ApiParam("二维码内容") @RequestParam String code, @ApiParam("麦当劳客服手机号") @RequestParam String phone) {
+ String sha1 = redisCacheUtil.getValue("WEIXIN_TOKEN_" + phone, "");
+ if(sha1.length() > 0) {
+ McdonaldCouponDto mcdonaldCouponDto = mcdonaldCouponService.selectMcdonaldCouponByQrCode(code);
+ return R.ok().put("mcdonaldCoupon", mcdonaldCouponDto);
+ }
+ return R.error("非法访问");
+ }
+
+ @GetMapping("/setUseByCode")
+ @ApiOperation("根据二维码使用优惠券")
+ @ApiResponses({@ApiResponse(code=200,message = "成功", response= EvaluationGroupDto.class)})
+ public R setUseByCode(@ApiParam("二维码内容") @RequestParam String code,
+ @ApiParam("订单金额") @RequestParam BigDecimal orderMoney,
+ @ApiParam("订单金额") @RequestParam String orderId,
+ @ApiParam("用户手机号") @RequestParam String phone) {
+ String sha1 = redisCacheUtil.getValue("WEIXIN_TOKEN_" + phone, "");
+ if(sha1.length() > 0){
+ return mcdonaldCouponService.updateMcdonaldCouponByQrCode(code, orderMoney, orderId);
+ }
+ return R.error("非法访问");
+ //return R.ok().put("mcdonaldCoupon",mcdonaldCouponDto);
+ }
+
+ @GetMapping("/getWXConfig")
+ @ApiOperation("获取微信配置")
+ @ApiResponses({@ApiResponse(code=200,message = "成功", response= EvaluationGroupDto.class)})
+ public R getWXConfig(@ApiParam("需要签名的url") @RequestParam String url,
+ @ApiParam("配置id") @RequestParam Long cfgId,
+ @ApiParam("麦当劳客服手机号") @RequestParam String phone) {
+ ThirdAppConfig thirdAppConfig = thirdAppConfigService.selectThirdAppConfigById(cfgId);
+ if(thirdAppConfig != null && url.equals(thirdAppConfig.getAppUrl())){
+ SysUserEntity sysUserEntity = sysUserService.selectSysUserByMobile(phone);
+ if(sysUserEntity == null){
+ return R.error("麦当劳客服不存在");
+ }
+ String accessToken = (String)redisCacheUtil.getValue(WEIXIN_TOKEN_TKEY, "");
+
+ if(accessToken.length() == 0){
+ log.info("无有效微信token,从服务器获取");
+ String getValue =
+ HttpUtil.doGet(
+ "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" +
+ thirdAppConfig.getAppId() + "&secret=" + thirdAppConfig.getAppSecret(),
+ 60);
+ log.info("获取到的值{}", getValue);
+ JSONObject jsonObject = JSONObject.parseObject(getValue);
+ accessToken = jsonObject.getString("access_token");
+ if(accessToken == null){
+ return R.error("获取微信access_token错误");
+ }
+ redisCacheUtil.saveObject(WEIXIN_TOKEN_TKEY, accessToken, 6900);//微信access_toekn有效期7200秒,这里扣除5分钟,防止过期界限问题
+ }
+ String jsapiTicket = redisCacheUtil.getValue(WEIXIN_TICKET_TKEY, "");
+ if(jsapiTicket.length() == 0){
+ String getValue =
+ HttpUtil.doGet(
+ "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=" + accessToken,
+ 60);
+ JSONObject jsonObject = JSONObject.parseObject(getValue);
+ int errCode = jsonObject.getInteger("errcode");
+ if(errCode != 0){
+ return R.error("获取微信jsapi_ticket失败");
+ }
+ jsapiTicket = jsonObject.getString("ticket");
+ redisCacheUtil.saveObject(WEIXIN_TICKET_TKEY, jsapiTicket, 7100);//微信的jsapi_ticket有效期为7200秒
+ }
+ String noncestr = StringUtil.getRandomNum(16);//获取16为随机字符串
+ String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
+
+ String param = "jsapiTicket=" + jsapiTicket + "&noncestr=" + noncestr + "×tamp=" + timestamp
+ + "&url=" + url;
+ String signature = DigestUtil.SHA1(param);
+ log.info("noncestr:{}, timestamp:{}, param:{}, signature:{}", noncestr,
+ timestamp,
+ param,
+ signature);
+ redisCacheUtil.saveObject("WEIXIN_TOKEN_" + phone, signature, 7100);
+ return R.ok().put("timestamp",timestamp).put("noncestr", noncestr).put("signature", signature);
+ }
+ return R.error("传入的url不安全!");
+
+ }
+
+ @RequestMapping("/getById")
+ public R getById(@RequestBody McdonaldCoupon mcdonaldCoupon) {
+ //mcdonaldCoupon = mcdonaldCouponService.selectMcdonaldCouponById(mcdonaldCoupon.getId());
+ return R.ok().ok();//.put("mcdonaldCoupon",mcdonaldCoupon);
+ }
+
+
+ @RequestMapping("/update")
+ public R update(@RequestBody McdonaldCoupon mcdonaldCoupon) {
+ mcdonaldCouponService.updateMcdonaldCouponById(mcdonaldCoupon);
+ return R.ok();
+ }
+
+
+ @RequestMapping("/save")
+ public R save(@RequestBody McdonaldCoupon mcdonaldCoupon) {
+ mcdonaldCouponService.insertMcdonaldCoupon(mcdonaldCoupon);
+ return R.ok();
+ }
+
+
+ @RequestMapping("/delete")
+ public R delete(@RequestBody Long id) {
+ mcdonaldCouponService.deleteMcdonaldCouponById(id);
+ return R.ok();
+ }
+}
diff --git a/src/main/java/com/lz/modules/mcdonald/controller/McdonaldCouponUseRecordController.java b/src/main/java/com/lz/modules/mcdonald/controller/McdonaldCouponUseRecordController.java
new file mode 100644
index 00000000..9d17d182
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/controller/McdonaldCouponUseRecordController.java
@@ -0,0 +1,64 @@
+package com.lz.modules.mcdonald.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.lz.common.utils.PageUtils;
+import com.lz.common.utils.R;
+import com.lz.common.utils.StringUtil;
+import com.lz.modules.mcdonald.entity.McdonaldCouponUseRecord;
+import com.lz.modules.mcdonald.service.McdonaldCouponUseRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/mcdonaldCouponUseRecord")
+public class McdonaldCouponUseRecordController {
+
+
+ @Autowired
+ private McdonaldCouponUseRecordService mcdonaldCouponUseRecordService;
+
+
+ /*@RequestMapping("/list")
+ public R list(@RequestBody String body) {
+ Map params = new HashMap<>();
+ if(StringUtil.isNotBlank(body)){
+ params = JSONObject.parseObject(body,Map.class);
+ }
+ PageUtils page = mcdonaldCouponUseRecordService.queryPage(params);
+ return R.ok().put("page", page);
+ }*/
+
+
+ @RequestMapping("/getById")
+ public R getById(@RequestBody McdonaldCouponUseRecord mcdonaldCouponUseRecord) {
+ mcdonaldCouponUseRecord = mcdonaldCouponUseRecordService.selectMcdonaldCouponUseRecordById(mcdonaldCouponUseRecord.getId());
+ return R.ok().put("mcdonaldCouponUseRecord",mcdonaldCouponUseRecord);
+ }
+
+
+ @RequestMapping("/update")
+ public R update(@RequestBody McdonaldCouponUseRecord mcdonaldCouponUseRecord) {
+ mcdonaldCouponUseRecordService.updateMcdonaldCouponUseRecordById(mcdonaldCouponUseRecord);
+ return R.ok();
+ }
+
+
+ @RequestMapping("/save")
+ public R save(@RequestBody McdonaldCouponUseRecord mcdonaldCouponUseRecord) {
+ mcdonaldCouponUseRecordService.insertMcdonaldCouponUseRecord(mcdonaldCouponUseRecord);
+ return R.ok();
+ }
+
+
+ @RequestMapping("/delete")
+ public R delete(@RequestBody Long id) {
+ mcdonaldCouponUseRecordService.deleteMcdonaldCouponUseRecordById(id);
+ return R.ok();
+ }
+}
diff --git a/src/main/java/com/lz/modules/mcdonald/dao/McdonaldCouponMapper.java b/src/main/java/com/lz/modules/mcdonald/dao/McdonaldCouponMapper.java
new file mode 100644
index 00000000..8d55839e
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/dao/McdonaldCouponMapper.java
@@ -0,0 +1,35 @@
+package com.lz.modules.mcdonald.dao;
+/**
+*
+* 麦当劳优惠券 服务类
+*
+*
+* @author quyixiao
+* @since 2022-04-24
+*/
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lz.modules.mcdonald.entity.McdonaldCoupon;
+import com.lz.modules.mcdonald.model.McdonaldCouponDto;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+@Mapper
+public interface McdonaldCouponMapper extends BaseMapper {
+
+
+ McdonaldCoupon selectMcdonaldCouponById(@Param("id")Long id);
+
+
+ Long insertMcdonaldCoupon(McdonaldCoupon mcdonaldCoupon);
+
+
+ int updateMcdonaldCouponById(McdonaldCoupon mcdonaldCoupon);
+
+
+ int updateCoverMcdonaldCouponById(McdonaldCoupon mcdonaldCoupon);
+
+
+ int deleteMcdonaldCouponById(@Param("id")Long id);
+
+
+ McdonaldCouponDto selectMcdonaldCouponByQrCode(@Param("code") String code);
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/dao/McdonaldCouponUseRecordMapper.java b/src/main/java/com/lz/modules/mcdonald/dao/McdonaldCouponUseRecordMapper.java
new file mode 100644
index 00000000..98b8c2dc
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/dao/McdonaldCouponUseRecordMapper.java
@@ -0,0 +1,33 @@
+package com.lz.modules.mcdonald.dao;
+/**
+*
+* 麦当劳优惠券使用记录表 服务类
+*
+*
+* @author quyixiao
+* @since 2022-04-24
+*/
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lz.modules.mcdonald.entity.McdonaldCouponUseRecord;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+@Mapper
+public interface McdonaldCouponUseRecordMapper extends BaseMapper {
+
+
+ McdonaldCouponUseRecord selectMcdonaldCouponUseRecordById(@Param("id")Long id);
+
+
+ Long insertMcdonaldCouponUseRecord(McdonaldCouponUseRecord mcdonaldCouponUseRecord);
+
+
+ int updateMcdonaldCouponUseRecordById(McdonaldCouponUseRecord mcdonaldCouponUseRecord);
+
+
+ int updateCoverMcdonaldCouponUseRecordById(McdonaldCouponUseRecord mcdonaldCouponUseRecord);
+
+
+ int deleteMcdonaldCouponUseRecordById(@Param("id")Long id);
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/entity/McdonaldCoupon.java b/src/main/java/com/lz/modules/mcdonald/entity/McdonaldCoupon.java
new file mode 100644
index 00000000..49adc71b
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/entity/McdonaldCoupon.java
@@ -0,0 +1,274 @@
+package com.lz.modules.mcdonald.entity;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+/**
+*
+*
*麦当劳优惠券
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+@Data
+@TableName("mcdonald_coupon")
+@ApiModel(value = "麦当劳优惠券")
+public class McdonaldCoupon implements java.io.Serializable {
+ //
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ //是否删除状态,1:删除,0:有效
+ @ApiModelProperty(value = "是否删除状态,1:删除,0:有效", name = "isDelete")
+ private Integer isDelete;
+ //创建时间
+ @ApiModelProperty(value = "创建时间", name = "gmtCreate")
+ private Date gmtCreate;
+ //最后修改时间
+ @ApiModelProperty(value = "最后修改时间", name = "gmtModified")
+ private Date gmtModified;
+ //核销使用最后日期
+ @ApiModelProperty(value = "核销使用最后日期", name = "gmtUse")
+ private Date gmtUse;
+ //有效截至日期
+ @ApiModelProperty(value = "有效截至日期", name = "gmtValidity")
+ private Date gmtValidity;
+ //优惠券二维码内容
+ @ApiModelProperty(value = "优惠券二维码内容", name = "qrCode")
+ private String qrCode;
+ //优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ @ApiModelProperty(value = "优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用", name = "status")
+ private Integer status;
+ //优惠券对应的面额
+ @ApiModelProperty(value = "优惠券对应的面额", name = "couponValue")
+ private BigDecimal couponValue;
+ //已经使用面额
+ @ApiModelProperty(value = "已经使用面额", name = "useValue")
+ private BigDecimal useValue;
+ //起付金额
+ @ApiModelProperty(value = "起付金额", name = "startUse")
+ private BigDecimal startUse;
+ //支付比例,0无比例,其他按比例值计算。默认0
+ @ApiModelProperty(value = "支付比例,0无比例,其他按比例值计算。默认0", name = "payProportion")
+ private BigDecimal payProportion;
+ //备注说明
+ @ApiModelProperty(value = "备注说明", name = "remark")
+ private String remark;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getGmtCreate() {
+ return gmtCreate;
+ }
+ /**
+ * 创建时间
+ * @param gmtCreate
+ */
+ public void setGmtCreate(Date gmtCreate) {
+ this.gmtCreate = gmtCreate;
+ }
+
+ /**
+ * 最后修改时间
+ * @return
+ */
+ public Date getGmtModified() {
+ return gmtModified;
+ }
+ /**
+ * 最后修改时间
+ * @param gmtModified
+ */
+ public void setGmtModified(Date gmtModified) {
+ this.gmtModified = gmtModified;
+ }
+
+ /**
+ * 核销使用最后日期
+ * @return
+ */
+ public Date getGmtUse() {
+ return gmtUse;
+ }
+ /**
+ * 核销使用最后日期
+ * @param gmtUse
+ */
+ public void setGmtUse(Date gmtUse) {
+ this.gmtUse = gmtUse;
+ }
+
+ /**
+ * 有效截至日期
+ * @return
+ */
+ public Date getGmtValidity() {
+ return gmtValidity;
+ }
+ /**
+ * 有效截至日期
+ * @param gmtValidity
+ */
+ public void setGmtValidity(Date gmtValidity) {
+ this.gmtValidity = gmtValidity;
+ }
+
+ /**
+ * 优惠券二维码内容
+ * @return
+ */
+ public String getQrCode() {
+ return qrCode;
+ }
+ /**
+ * 优惠券二维码内容
+ * @param qrCode
+ */
+ public void setQrCode(String qrCode) {
+ this.qrCode = qrCode;
+ }
+
+ /**
+ * 优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ * @return
+ */
+ public Integer getStatus() {
+ return status;
+ }
+ /**
+ * 优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ * @param status
+ */
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ /**
+ * 优惠券对应的面额
+ * @return
+ */
+ public BigDecimal getCouponValue() {
+ return couponValue;
+ }
+ /**
+ * 优惠券对应的面额
+ * @param couponValue
+ */
+ public void setCouponValue(BigDecimal couponValue) {
+ this.couponValue = couponValue;
+ }
+
+ /**
+ * 已经使用面额
+ * @return
+ */
+ public BigDecimal getUseValue() {
+ return useValue;
+ }
+ /**
+ * 已经使用面额
+ * @param useValue
+ */
+ public void setUseValue(BigDecimal useValue) {
+ this.useValue = useValue;
+ }
+
+ /**
+ * 起付金额
+ * @return
+ */
+ public BigDecimal getStartUse() {
+ return startUse;
+ }
+ /**
+ * 起付金额
+ * @param startUse
+ */
+ public void setStartUse(BigDecimal startUse) {
+ this.startUse = startUse;
+ }
+
+ /**
+ * 支付比例,0无比例,其他按比例值计算。默认0
+ * @return
+ */
+ public BigDecimal getPayProportion() {
+ return payProportion;
+ }
+ /**
+ * 支付比例,0无比例,其他按比例值计算。默认0
+ * @param payProportion
+ */
+ public void setPayProportion(BigDecimal payProportion) {
+ this.payProportion = payProportion;
+ }
+
+ /**
+ * 备注说明
+ * @return
+ */
+ public String getRemark() {
+ return remark;
+ }
+ /**
+ * 备注说明
+ * @param remark
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ @Override
+ public String toString() {
+ return "McdonaldCoupon{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",gmtCreate=" + gmtCreate +
+ ",gmtModified=" + gmtModified +
+ ",gmtUse=" + gmtUse +
+ ",gmtValidity=" + gmtValidity +
+ ",qrCode=" + qrCode +
+ ",status=" + status +
+ ",couponValue=" + couponValue +
+ ",useValue=" + useValue +
+ ",startUse=" + startUse +
+ ",payProportion=" + payProportion +
+ ",remark=" + remark +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/entity/McdonaldCouponUseRecord.java b/src/main/java/com/lz/modules/mcdonald/entity/McdonaldCouponUseRecord.java
new file mode 100644
index 00000000..e4eb53df
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/entity/McdonaldCouponUseRecord.java
@@ -0,0 +1,236 @@
+package com.lz.modules.mcdonald.entity;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+/**
+*
+*
*麦当劳优惠券使用记录表
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+@Data
+@TableName("mcdonald_coupon_use_record")
+@ApiModel(value = "麦当劳优惠券使用记录表")
+public class McdonaldCouponUseRecord implements java.io.Serializable {
+ //
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ //是否删除状态,1:删除,0:有效
+ @ApiModelProperty(value = "是否删除状态,1:删除,0:有效", name = "isDelete")
+ private Integer isDelete;
+ //创建时间
+ @ApiModelProperty(value = "创建时间", name = "gmtCreate")
+ private Date gmtCreate;
+ //最后修改时间
+ @ApiModelProperty(value = "最后修改时间", name = "gmtModified")
+ private Date gmtModified;
+ //优惠券编号
+ @ApiModelProperty(value = "优惠券编号", name = "couponId")
+ private Long couponId;
+ //核销操作员ID
+ @ApiModelProperty(value = "核销操作员ID", name = "userId")
+ private Long userId;
+ //优惠券对应的面额
+ @ApiModelProperty(value = "优惠券对应的面额", name = "couponValue")
+ private BigDecimal couponValue;
+ //抵用金额
+ @ApiModelProperty(value = "抵用金额", name = "useValue")
+ private BigDecimal useValue;
+ //麦当劳订单编号
+ @ApiModelProperty(value = "麦当劳订单编号", name = "orderId")
+ private String orderId;
+ //订单金额
+ @ApiModelProperty(value = "订单金额", name = "orderValue")
+ private BigDecimal orderValue;
+ //备注说明
+ @ApiModelProperty(value = "备注说明", name = "remark")
+ private String remark;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getGmtCreate() {
+ return gmtCreate;
+ }
+ /**
+ * 创建时间
+ * @param gmtCreate
+ */
+ public void setGmtCreate(Date gmtCreate) {
+ this.gmtCreate = gmtCreate;
+ }
+
+ /**
+ * 最后修改时间
+ * @return
+ */
+ public Date getGmtModified() {
+ return gmtModified;
+ }
+ /**
+ * 最后修改时间
+ * @param gmtModified
+ */
+ public void setGmtModified(Date gmtModified) {
+ this.gmtModified = gmtModified;
+ }
+
+ /**
+ * 优惠券编号
+ * @return
+ */
+ public Long getCouponId() {
+ return couponId;
+ }
+ /**
+ * 优惠券编号
+ * @param couponId
+ */
+ public void setCouponId(Long couponId) {
+ this.couponId = couponId;
+ }
+
+ /**
+ * 核销操作员ID
+ * @return
+ */
+ public Long getUserId() {
+ return userId;
+ }
+ /**
+ * 核销操作员ID
+ * @param userId
+ */
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ /**
+ * 优惠券对应的面额
+ * @return
+ */
+ public BigDecimal getCouponValue() {
+ return couponValue;
+ }
+ /**
+ * 优惠券对应的面额
+ * @param couponValue
+ */
+ public void setCouponValue(BigDecimal couponValue) {
+ this.couponValue = couponValue;
+ }
+
+ /**
+ * 抵用金额
+ * @return
+ */
+ public BigDecimal getUseValue() {
+ return useValue;
+ }
+ /**
+ * 抵用金额
+ * @param useValue
+ */
+ public void setUseValue(BigDecimal useValue) {
+ this.useValue = useValue;
+ }
+
+ /**
+ * 麦当劳订单编号
+ * @return
+ */
+ public String getOrderId() {
+ return orderId;
+ }
+ /**
+ * 麦当劳订单编号
+ * @param orderId
+ */
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+
+ /**
+ * 订单金额
+ * @return
+ */
+ public BigDecimal getOrderValue() {
+ return orderValue;
+ }
+ /**
+ * 订单金额
+ * @param orderValue
+ */
+ public void setOrderValue(BigDecimal orderValue) {
+ this.orderValue = orderValue;
+ }
+
+ /**
+ * 备注说明
+ * @return
+ */
+ public String getRemark() {
+ return remark;
+ }
+ /**
+ * 备注说明
+ * @param remark
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ @Override
+ public String toString() {
+ return "McdonaldCouponUseRecord{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",gmtCreate=" + gmtCreate +
+ ",gmtModified=" + gmtModified +
+ ",couponId=" + couponId +
+ ",userId=" + userId +
+ ",couponValue=" + couponValue +
+ ",useValue=" + useValue +
+ ",orderId=" + orderId +
+ ",orderValue=" + orderValue +
+ ",remark=" + remark +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/model/McdonaldCouponDto.java b/src/main/java/com/lz/modules/mcdonald/model/McdonaldCouponDto.java
new file mode 100644
index 00000000..82f8765c
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/model/McdonaldCouponDto.java
@@ -0,0 +1,213 @@
+package com.lz.modules.mcdonald.model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+/**
+*
+*
*麦当劳优惠券
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+@Data
+@ApiModel(value = "麦当劳优惠券Dto")
+public class McdonaldCouponDto {
+ //
+ @ApiModelProperty(value = "", name = "id")
+ private Long id;
+ //核销使用最后日期
+ @ApiModelProperty(value = "核销使用最后日期", name = "gmtUse")
+ private Date gmtUse;
+ //有效截至日期
+ @ApiModelProperty(value = "有效截至日期", name = "gmtValidity")
+ private Date gmtValidity;
+ //优惠券二维码内容
+ @ApiModelProperty(value = "优惠券二维码内容", name = "qrCode")
+ private String qrCode;
+ //优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ @ApiModelProperty(value = "优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用", name = "status")
+ private Integer status;
+ //优惠券对应的面额
+ @ApiModelProperty(value = "优惠券对应的面额", name = "couponValue")
+ private BigDecimal couponValue;
+ //已经使用面额
+ @ApiModelProperty(value = "已经使用面额", name = "useValue")
+ private BigDecimal useValue;
+ //起付金额
+ @ApiModelProperty(value = "起付金额", name = "startUse")
+ private BigDecimal startUse;
+ //支付比例,0无比例,其他按比例值计算。默认0
+ @ApiModelProperty(value = "支付比例,0无比例,其他按比例值计算。默认0", name = "payProportion")
+ private BigDecimal payProportion;
+ //备注说明
+ @ApiModelProperty(value = "备注说明", name = "remark")
+ private String remark;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 核销使用最后日期
+ * @return
+ */
+ public Date getGmtUse() {
+ return gmtUse;
+ }
+ /**
+ * 核销使用最后日期
+ * @param gmtUse
+ */
+ public void setGmtUse(Date gmtUse) {
+ this.gmtUse = gmtUse;
+ }
+
+ /**
+ * 有效截至日期
+ * @return
+ */
+ public Date getGmtValidity() {
+ return gmtValidity;
+ }
+ /**
+ * 有效截至日期
+ * @param gmtValidity
+ */
+ public void setGmtValidity(Date gmtValidity) {
+ this.gmtValidity = gmtValidity;
+ }
+
+ /**
+ * 优惠券二维码内容
+ * @return
+ */
+ public String getQrCode() {
+ return qrCode;
+ }
+ /**
+ * 优惠券二维码内容
+ * @param qrCode
+ */
+ public void setQrCode(String qrCode) {
+ this.qrCode = qrCode;
+ }
+
+ /**
+ * 优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ * @return
+ */
+ public Integer getStatus() {
+ return status;
+ }
+ /**
+ * 优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ * @param status
+ */
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ /**
+ * 优惠券对应的面额
+ * @return
+ */
+ public BigDecimal getCouponValue() {
+ return couponValue;
+ }
+ /**
+ * 优惠券对应的面额
+ * @param couponValue
+ */
+ public void setCouponValue(BigDecimal couponValue) {
+ this.couponValue = couponValue;
+ }
+
+ /**
+ * 已经使用面额
+ * @return
+ */
+ public BigDecimal getUseValue() {
+ return useValue;
+ }
+ /**
+ * 已经使用面额
+ * @param useValue
+ */
+ public void setUseValue(BigDecimal useValue) {
+ this.useValue = useValue;
+ }
+
+ /**
+ * 起付金额
+ * @return
+ */
+ public BigDecimal getStartUse() {
+ return startUse;
+ }
+ /**
+ * 起付金额
+ * @param startUse
+ */
+ public void setStartUse(BigDecimal startUse) {
+ this.startUse = startUse;
+ }
+
+ /**
+ * 支付比例,0无比例,其他按比例值计算。默认0
+ * @return
+ */
+ public BigDecimal getPayProportion() {
+ return payProportion;
+ }
+ /**
+ * 支付比例,0无比例,其他按比例值计算。默认0
+ * @param payProportion
+ */
+ public void setPayProportion(BigDecimal payProportion) {
+ this.payProportion = payProportion;
+ }
+
+ /**
+ * 备注说明
+ * @return
+ */
+ public String getRemark() {
+ return remark;
+ }
+ /**
+ * 备注说明
+ * @param remark
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ @Override
+ public String toString() {
+ return "McdonaldCouponDto{" +
+ ",id=" + id +
+ ",gmtUse=" + gmtUse +
+ ",gmtValidity=" + gmtValidity +
+ ",qrCode=" + qrCode +
+ ",status=" + status +
+ ",couponValue=" + couponValue +
+ ",useValue=" + useValue +
+ ",startUse=" + startUse +
+ ",payProportion=" + payProportion +
+ ",remark=" + remark +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/model/McdonaldCouponUseRecordDto.java b/src/main/java/com/lz/modules/mcdonald/model/McdonaldCouponUseRecordDto.java
new file mode 100644
index 00000000..062aef9c
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/model/McdonaldCouponUseRecordDto.java
@@ -0,0 +1,175 @@
+package com.lz.modules.mcdonald.model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+*
+*
*麦当劳优惠券使用记录表
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+@Data
+@ApiModel(value = "麦当劳优惠券使用记录表Dto")
+public class McdonaldCouponUseRecordDto {
+ //
+ @ApiModelProperty(value = "", name = "id")
+ private Long id;
+ //优惠券编号
+ @ApiModelProperty(value = "优惠券编号", name = "couponId")
+ private Long couponId;
+ //核销操作员ID
+ @ApiModelProperty(value = "核销操作员ID", name = "userId")
+ private Long userId;
+ //优惠券对应的面额
+ @ApiModelProperty(value = "优惠券对应的面额", name = "couponValue")
+ private BigDecimal couponValue;
+ //抵用金额
+ @ApiModelProperty(value = "抵用金额", name = "useValue")
+ private BigDecimal useValue;
+ //麦当劳订单编号
+ @ApiModelProperty(value = "麦当劳订单编号", name = "orderId")
+ private String orderId;
+ //订单金额
+ @ApiModelProperty(value = "订单金额", name = "orderValue")
+ private BigDecimal orderValue;
+ //备注说明
+ @ApiModelProperty(value = "备注说明", name = "remark")
+ private String remark;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 优惠券编号
+ * @return
+ */
+ public Long getCouponId() {
+ return couponId;
+ }
+ /**
+ * 优惠券编号
+ * @param couponId
+ */
+ public void setCouponId(Long couponId) {
+ this.couponId = couponId;
+ }
+
+ /**
+ * 核销操作员ID
+ * @return
+ */
+ public Long getUserId() {
+ return userId;
+ }
+ /**
+ * 核销操作员ID
+ * @param userId
+ */
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ /**
+ * 优惠券对应的面额
+ * @return
+ */
+ public BigDecimal getCouponValue() {
+ return couponValue;
+ }
+ /**
+ * 优惠券对应的面额
+ * @param couponValue
+ */
+ public void setCouponValue(BigDecimal couponValue) {
+ this.couponValue = couponValue;
+ }
+
+ /**
+ * 抵用金额
+ * @return
+ */
+ public BigDecimal getUseValue() {
+ return useValue;
+ }
+ /**
+ * 抵用金额
+ * @param useValue
+ */
+ public void setUseValue(BigDecimal useValue) {
+ this.useValue = useValue;
+ }
+
+ /**
+ * 麦当劳订单编号
+ * @return
+ */
+ public String getOrderId() {
+ return orderId;
+ }
+ /**
+ * 麦当劳订单编号
+ * @param orderId
+ */
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+
+ /**
+ * 订单金额
+ * @return
+ */
+ public BigDecimal getOrderValue() {
+ return orderValue;
+ }
+ /**
+ * 订单金额
+ * @param orderValue
+ */
+ public void setOrderValue(BigDecimal orderValue) {
+ this.orderValue = orderValue;
+ }
+
+ /**
+ * 备注说明
+ * @return
+ */
+ public String getRemark() {
+ return remark;
+ }
+ /**
+ * 备注说明
+ * @param remark
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ @Override
+ public String toString() {
+ return "McdonaldCouponUseRecordDto{" +
+ ",id=" + id +
+ ",couponId=" + couponId +
+ ",userId=" + userId +
+ ",couponValue=" + couponValue +
+ ",useValue=" + useValue +
+ ",orderId=" + orderId +
+ ",orderValue=" + orderValue +
+ ",remark=" + remark +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/req/McdonaldCouponReq.java b/src/main/java/com/lz/modules/mcdonald/req/McdonaldCouponReq.java
new file mode 100644
index 00000000..e86ff68e
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/req/McdonaldCouponReq.java
@@ -0,0 +1,245 @@
+package com.lz.modules.mcdonald.req;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+/**
+*
+* 菜单权限表
+*
*麦当劳优惠券
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+
+@Data
+@ApiModel(value = "麦当劳优惠券Req")
+public class McdonaldCouponReq implements java.io.Serializable {
+
+ @ApiModelProperty(value = "currPage", name = "当前页码")
+ private int currPage = 1;
+ @ApiModelProperty(value = "pageSize", name = "每页返回条数")
+ private int pageSize = 10;
+ @ApiModelProperty(value = "sort", name = "类型")
+ private String sort;
+ @ApiModelProperty(value = "order", name = "排序")
+ private String order;
+ //
+ private Long id;
+ //是否删除状态,1:删除,0:有效
+ @ApiModelProperty(value = "是否删除状态,1:删除,0:有效", name = "isDelete")
+ private Integer isDelete;
+ //创建时间
+ @ApiModelProperty(value = "创建时间", name = "gmtCreate")
+ private Date gmtCreate;
+ //最后修改时间
+ @ApiModelProperty(value = "最后修改时间", name = "gmtModified")
+ private Date gmtModified;
+ //核销使用最后日期
+ @ApiModelProperty(value = "核销使用最后日期", name = "gmtUse")
+ private Date gmtUse;
+ //有效截至日期
+ @ApiModelProperty(value = "有效截至日期", name = "gmtValidity")
+ private Date gmtValidity;
+ //优惠券二维码内容
+ @ApiModelProperty(value = "优惠券二维码内容", name = "qrCode")
+ private String qrCode;
+ //优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ @ApiModelProperty(value = "优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用", name = "status")
+ private Integer status;
+ //优惠券对应的面额
+ @ApiModelProperty(value = "优惠券对应的面额", name = "couponValue")
+ private BigDecimal couponValue;
+ //已经使用面额
+ @ApiModelProperty(value = "已经使用面额", name = "useValue")
+ private BigDecimal useValue;
+ //备注说明
+ @ApiModelProperty(value = "备注说明", name = "remark")
+ private String remark;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getGmtCreate() {
+ return gmtCreate;
+ }
+ /**
+ * 创建时间
+ * @param gmtCreate
+ */
+ public void setGmtCreate(Date gmtCreate) {
+ this.gmtCreate = gmtCreate;
+ }
+
+ /**
+ * 最后修改时间
+ * @return
+ */
+ public Date getGmtModified() {
+ return gmtModified;
+ }
+ /**
+ * 最后修改时间
+ * @param gmtModified
+ */
+ public void setGmtModified(Date gmtModified) {
+ this.gmtModified = gmtModified;
+ }
+
+ /**
+ * 核销使用最后日期
+ * @return
+ */
+ public Date getGmtUse() {
+ return gmtUse;
+ }
+ /**
+ * 核销使用最后日期
+ * @param gmtUse
+ */
+ public void setGmtUse(Date gmtUse) {
+ this.gmtUse = gmtUse;
+ }
+
+ /**
+ * 有效截至日期
+ * @return
+ */
+ public Date getGmtValidity() {
+ return gmtValidity;
+ }
+ /**
+ * 有效截至日期
+ * @param gmtValidity
+ */
+ public void setGmtValidity(Date gmtValidity) {
+ this.gmtValidity = gmtValidity;
+ }
+
+ /**
+ * 优惠券二维码内容
+ * @return
+ */
+ public String getQrCode() {
+ return qrCode;
+ }
+ /**
+ * 优惠券二维码内容
+ * @param qrCode
+ */
+ public void setQrCode(String qrCode) {
+ this.qrCode = qrCode;
+ }
+
+ /**
+ * 优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ * @return
+ */
+ public Integer getStatus() {
+ return status;
+ }
+ /**
+ * 优惠券状态0:新建,可用,1:已核销,2:失效(非过期的),不可用
+ * @param status
+ */
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ /**
+ * 优惠券对应的面额
+ * @return
+ */
+ public BigDecimal getCouponValue() {
+ return couponValue;
+ }
+ /**
+ * 优惠券对应的面额
+ * @param couponValue
+ */
+ public void setCouponValue(BigDecimal couponValue) {
+ this.couponValue = couponValue;
+ }
+
+ /**
+ * 已经使用面额
+ * @return
+ */
+ public BigDecimal getUseValue() {
+ return useValue;
+ }
+ /**
+ * 已经使用面额
+ * @param useValue
+ */
+ public void setUseValue(BigDecimal useValue) {
+ this.useValue = useValue;
+ }
+
+ /**
+ * 备注说明
+ * @return
+ */
+ public String getRemark() {
+ return remark;
+ }
+ /**
+ * 备注说明
+ * @param remark
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ @Override
+ public String toString() {
+ return "McdonaldCouponReq{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",gmtCreate=" + gmtCreate +
+ ",gmtModified=" + gmtModified +
+ ",gmtUse=" + gmtUse +
+ ",gmtValidity=" + gmtValidity +
+ ",qrCode=" + qrCode +
+ ",status=" + status +
+ ",couponValue=" + couponValue +
+ ",useValue=" + useValue +
+ ",remark=" + remark +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/req/McdonaldCouponUseRecordReq.java b/src/main/java/com/lz/modules/mcdonald/req/McdonaldCouponUseRecordReq.java
new file mode 100644
index 00000000..7fec6736
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/req/McdonaldCouponUseRecordReq.java
@@ -0,0 +1,245 @@
+package com.lz.modules.mcdonald.req;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+/**
+*
+* 菜单权限表
+*
*麦当劳优惠券使用记录表
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+
+@Data
+@ApiModel(value = "麦当劳优惠券使用记录表Req")
+public class McdonaldCouponUseRecordReq implements java.io.Serializable {
+
+ @ApiModelProperty(value = "currPage", name = "当前页码")
+ private int currPage = 1;
+ @ApiModelProperty(value = "pageSize", name = "每页返回条数")
+ private int pageSize = 10;
+ @ApiModelProperty(value = "sort", name = "类型")
+ private String sort;
+ @ApiModelProperty(value = "order", name = "排序")
+ private String order;
+ //
+ private Long id;
+ //是否删除状态,1:删除,0:有效
+ @ApiModelProperty(value = "是否删除状态,1:删除,0:有效", name = "isDelete")
+ private Integer isDelete;
+ //创建时间
+ @ApiModelProperty(value = "创建时间", name = "gmtCreate")
+ private Date gmtCreate;
+ //最后修改时间
+ @ApiModelProperty(value = "最后修改时间", name = "gmtModified")
+ private Date gmtModified;
+ //优惠券编号
+ @ApiModelProperty(value = "优惠券编号", name = "couponId")
+ private Long couponId;
+ //核销操作员ID
+ @ApiModelProperty(value = "核销操作员ID", name = "userId")
+ private Long userId;
+ //优惠券对应的面额
+ @ApiModelProperty(value = "优惠券对应的面额", name = "couponValue")
+ private BigDecimal couponValue;
+ //抵用金额
+ @ApiModelProperty(value = "抵用金额", name = "useValue")
+ private BigDecimal useValue;
+ //麦当劳订单编号
+ @ApiModelProperty(value = "麦当劳订单编号", name = "orderId")
+ private Long orderId;
+ //订单金额
+ @ApiModelProperty(value = "订单金额", name = "orderValue")
+ private BigDecimal orderValue;
+ //备注说明
+ @ApiModelProperty(value = "备注说明", name = "remark")
+ private String remark;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除状态,1:删除,0:有效
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getGmtCreate() {
+ return gmtCreate;
+ }
+ /**
+ * 创建时间
+ * @param gmtCreate
+ */
+ public void setGmtCreate(Date gmtCreate) {
+ this.gmtCreate = gmtCreate;
+ }
+
+ /**
+ * 最后修改时间
+ * @return
+ */
+ public Date getGmtModified() {
+ return gmtModified;
+ }
+ /**
+ * 最后修改时间
+ * @param gmtModified
+ */
+ public void setGmtModified(Date gmtModified) {
+ this.gmtModified = gmtModified;
+ }
+
+ /**
+ * 优惠券编号
+ * @return
+ */
+ public Long getCouponId() {
+ return couponId;
+ }
+ /**
+ * 优惠券编号
+ * @param couponId
+ */
+ public void setCouponId(Long couponId) {
+ this.couponId = couponId;
+ }
+
+ /**
+ * 核销操作员ID
+ * @return
+ */
+ public Long getUserId() {
+ return userId;
+ }
+ /**
+ * 核销操作员ID
+ * @param userId
+ */
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ /**
+ * 优惠券对应的面额
+ * @return
+ */
+ public BigDecimal getCouponValue() {
+ return couponValue;
+ }
+ /**
+ * 优惠券对应的面额
+ * @param couponValue
+ */
+ public void setCouponValue(BigDecimal couponValue) {
+ this.couponValue = couponValue;
+ }
+
+ /**
+ * 抵用金额
+ * @return
+ */
+ public BigDecimal getUseValue() {
+ return useValue;
+ }
+ /**
+ * 抵用金额
+ * @param useValue
+ */
+ public void setUseValue(BigDecimal useValue) {
+ this.useValue = useValue;
+ }
+
+ /**
+ * 麦当劳订单编号
+ * @return
+ */
+ public Long getOrderId() {
+ return orderId;
+ }
+ /**
+ * 麦当劳订单编号
+ * @param orderId
+ */
+ public void setOrderId(Long orderId) {
+ this.orderId = orderId;
+ }
+
+ /**
+ * 订单金额
+ * @return
+ */
+ public BigDecimal getOrderValue() {
+ return orderValue;
+ }
+ /**
+ * 订单金额
+ * @param orderValue
+ */
+ public void setOrderValue(BigDecimal orderValue) {
+ this.orderValue = orderValue;
+ }
+
+ /**
+ * 备注说明
+ * @return
+ */
+ public String getRemark() {
+ return remark;
+ }
+ /**
+ * 备注说明
+ * @param remark
+ */
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ @Override
+ public String toString() {
+ return "McdonaldCouponUseRecordReq{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",gmtCreate=" + gmtCreate +
+ ",gmtModified=" + gmtModified +
+ ",couponId=" + couponId +
+ ",userId=" + userId +
+ ",couponValue=" + couponValue +
+ ",useValue=" + useValue +
+ ",orderId=" + orderId +
+ ",orderValue=" + orderValue +
+ ",remark=" + remark +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/service/McdonaldCouponService.java b/src/main/java/com/lz/modules/mcdonald/service/McdonaldCouponService.java
new file mode 100644
index 00000000..88c12d14
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/service/McdonaldCouponService.java
@@ -0,0 +1,41 @@
+package com.lz.modules.mcdonald.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lz.common.utils.R;
+import com.lz.modules.mcdonald.entity.McdonaldCoupon;
+import com.lz.modules.mcdonald.model.McdonaldCouponDto;
+import com.lz.modules.mcdonald.req.McdonaldCouponReq;
+
+import java.math.BigDecimal;
+
+/**
+*
+* 麦当劳优惠券 服务类
+*
+*
+* @author quyixiao
+* @since 2022-04-24
+*/
+public interface McdonaldCouponService extends IService {
+
+
+
+ McdonaldCoupon selectMcdonaldCouponById(Long id);
+
+
+ Long insertMcdonaldCoupon(McdonaldCoupon mcdonaldCoupon);
+
+
+ int updateMcdonaldCouponById(McdonaldCoupon mcdonaldCoupon);
+
+
+ int updateCoverMcdonaldCouponById(McdonaldCoupon mcdonaldCoupon);
+
+
+ int deleteMcdonaldCouponById(Long id);
+
+
+ McdonaldCouponDto selectMcdonaldCouponByQrCode(String code);
+
+ R updateMcdonaldCouponByQrCode(String code, BigDecimal orderMoney, String orderId);
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/service/McdonaldCouponUseRecordService.java b/src/main/java/com/lz/modules/mcdonald/service/McdonaldCouponUseRecordService.java
new file mode 100644
index 00000000..e9c29e6f
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/service/McdonaldCouponUseRecordService.java
@@ -0,0 +1,33 @@
+package com.lz.modules.mcdonald.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.lz.modules.mcdonald.entity.McdonaldCouponUseRecord;
+
+/**
+*
+* 麦当劳优惠券使用记录表 服务类
+*
+*
+* @author quyixiao
+* @since 2022-04-24
+*/
+public interface McdonaldCouponUseRecordService extends IService {
+
+
+
+ McdonaldCouponUseRecord selectMcdonaldCouponUseRecordById(Long id);
+
+
+ Long insertMcdonaldCouponUseRecord(McdonaldCouponUseRecord mcdonaldCouponUseRecord);
+
+
+ int updateMcdonaldCouponUseRecordById(McdonaldCouponUseRecord mcdonaldCouponUseRecord);
+
+
+ int updateCoverMcdonaldCouponUseRecordById(McdonaldCouponUseRecord mcdonaldCouponUseRecord);
+
+
+ int deleteMcdonaldCouponUseRecordById(Long id);
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/mcdonald/service/impl/McdonaldCouponServiceImpl.java b/src/main/java/com/lz/modules/mcdonald/service/impl/McdonaldCouponServiceImpl.java
new file mode 100644
index 00000000..060d5592
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/service/impl/McdonaldCouponServiceImpl.java
@@ -0,0 +1,128 @@
+package com.lz.modules.mcdonald.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lz.common.utils.BigDecimalUtil;
+import com.lz.common.utils.R;
+import com.lz.modules.mcdonald.dao.McdonaldCouponMapper;
+import com.lz.modules.mcdonald.dao.McdonaldCouponUseRecordMapper;
+import com.lz.modules.mcdonald.entity.McdonaldCoupon;
+import com.lz.modules.mcdonald.entity.McdonaldCouponUseRecord;
+import com.lz.modules.mcdonald.model.McdonaldCouponDto;
+import com.lz.modules.mcdonald.service.McdonaldCouponService;
+import com.mchange.lang.IntegerUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+*
+* 麦当劳优惠券 服务类
+*
+*
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+@Service
+@Slf4j
+public class McdonaldCouponServiceImpl extends ServiceImpl implements McdonaldCouponService {
+
+
+ @Autowired
+ private McdonaldCouponMapper mcdonaldCouponMapper;
+
+ @Autowired
+ private McdonaldCouponUseRecordMapper mcdonaldCouponUseRecordMapper;
+
+
+
+ @Override
+ public McdonaldCoupon selectMcdonaldCouponById(Long id){
+ return mcdonaldCouponMapper.selectMcdonaldCouponById(id);
+ }
+
+
+
+ @Override
+ public Long insertMcdonaldCoupon(McdonaldCoupon mcdonaldCoupon){
+ return mcdonaldCouponMapper.insertMcdonaldCoupon(mcdonaldCoupon);
+ }
+
+
+
+ @Override
+ public int updateMcdonaldCouponById(McdonaldCoupon mcdonaldCoupon){
+ return mcdonaldCouponMapper.updateMcdonaldCouponById(mcdonaldCoupon);
+ }
+
+
+
+ @Override
+ public int updateCoverMcdonaldCouponById(McdonaldCoupon mcdonaldCoupon){
+ return mcdonaldCouponMapper.updateCoverMcdonaldCouponById(mcdonaldCoupon);
+ }
+
+
+
+ @Override
+ public int deleteMcdonaldCouponById(Long id){
+ return mcdonaldCouponMapper.deleteMcdonaldCouponById(id);
+ }
+
+ @Override
+ public McdonaldCouponDto selectMcdonaldCouponByQrCode(String code){
+ return mcdonaldCouponMapper.selectMcdonaldCouponByQrCode(code);
+ }
+
+ @Override
+ public R updateMcdonaldCouponByQrCode(String code, BigDecimal orderMoney, String orderId){
+ McdonaldCouponDto dto = mcdonaldCouponMapper.selectMcdonaldCouponByQrCode(code);
+ if(dto != null){
+ if(Integer.valueOf(0).equals(dto.getStatus())){
+ if(System.currentTimeMillis() < dto.getGmtValidity().getTime()){
+ if(dto.getStartUse().compareTo(orderMoney) >= 0){
+ BigDecimal useValue = BigDecimal.ZERO;
+ BigDecimal canUse = dto.getCouponValue().subtract(dto.getUseValue());
+ if(!dto.getPayProportion().equals(BigDecimal.ZERO)){
+ //支付比例不为空
+ log.info("支付比例不为空");
+ useValue = orderMoney.multiply(dto.getPayProportion());
+
+ if(canUse.compareTo(useValue) < 0){
+ log.info("可用金额小于抵扣金额");
+ useValue = canUse;
+ }
+ }
+ McdonaldCoupon mcdonaldCoupon = new McdonaldCoupon();
+ mcdonaldCoupon.setId(dto.getId());
+ mcdonaldCoupon.setUseValue(dto.getUseValue().add(useValue));
+ mcdonaldCoupon.setGmtModified(new Date(System.currentTimeMillis()));
+ mcdonaldCoupon.setGmtUse(mcdonaldCoupon.getGmtModified());
+ mcdonaldCouponMapper.updateMcdonaldCouponById(mcdonaldCoupon);
+
+ McdonaldCouponUseRecord mcdonaldCouponUseRecord = new McdonaldCouponUseRecord();
+ mcdonaldCouponUseRecord.setCouponId(dto.getId());
+ mcdonaldCouponUseRecord.setCouponValue(dto.getCouponValue());
+ mcdonaldCouponUseRecord.setUseValue(useValue);
+ mcdonaldCouponUseRecord.setOrderId(orderId);
+ mcdonaldCouponUseRecord.setOrderValue(orderMoney);
+ mcdonaldCouponUseRecord.setUserId(1000L);
+ mcdonaldCouponUseRecordMapper.insertMcdonaldCouponUseRecord(mcdonaldCouponUseRecord);
+ log.info("更新优惠券数据{}, 新增优惠券使用记录{}", mcdonaldCoupon, mcdonaldCouponUseRecord);
+ return R.ok().put("userValue", useValue).put("mustPay", orderMoney.subtract(useValue));
+ }
+ return R.error(501, String.format("订单金额不能低于%d", dto.getStartUse()));
+ }
+ return R.error(501, "优惠券已过期");
+ }
+ return R.error(501, "优惠券已使用");
+ }
+ return R.error(501, "优惠券不存在");
+ }
+
+
+
+}
diff --git a/src/main/java/com/lz/modules/mcdonald/service/impl/McdonaldCouponUseRecordServiceImpl.java b/src/main/java/com/lz/modules/mcdonald/service/impl/McdonaldCouponUseRecordServiceImpl.java
new file mode 100644
index 00000000..22fff23e
--- /dev/null
+++ b/src/main/java/com/lz/modules/mcdonald/service/impl/McdonaldCouponUseRecordServiceImpl.java
@@ -0,0 +1,63 @@
+package com.lz.modules.mcdonald.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.lz.modules.mcdonald.dao.McdonaldCouponUseRecordMapper;
+import com.lz.modules.mcdonald.entity.McdonaldCouponUseRecord;
+import com.lz.modules.mcdonald.service.McdonaldCouponUseRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+*
+* 麦当劳优惠券使用记录表 服务类
+*
+*
+* @author quyixiao
+* @since 2022-04-24
+*/
+
+@Service
+public class McdonaldCouponUseRecordServiceImpl extends ServiceImpl implements McdonaldCouponUseRecordService {
+
+
+ @Autowired
+ private McdonaldCouponUseRecordMapper mcdonaldCouponUseRecordMapper;
+
+
+
+ @Override
+ public McdonaldCouponUseRecord selectMcdonaldCouponUseRecordById(Long id){
+ return mcdonaldCouponUseRecordMapper.selectMcdonaldCouponUseRecordById(id);
+ }
+
+
+
+ @Override
+ public Long insertMcdonaldCouponUseRecord(McdonaldCouponUseRecord mcdonaldCouponUseRecord){
+ return mcdonaldCouponUseRecordMapper.insertMcdonaldCouponUseRecord(mcdonaldCouponUseRecord);
+ }
+
+
+
+ @Override
+ public int updateMcdonaldCouponUseRecordById(McdonaldCouponUseRecord mcdonaldCouponUseRecord){
+ return mcdonaldCouponUseRecordMapper.updateMcdonaldCouponUseRecordById(mcdonaldCouponUseRecord);
+ }
+
+
+
+ @Override
+ public int updateCoverMcdonaldCouponUseRecordById(McdonaldCouponUseRecord mcdonaldCouponUseRecord){
+ return mcdonaldCouponUseRecordMapper.updateCoverMcdonaldCouponUseRecordById(mcdonaldCouponUseRecord);
+ }
+
+
+
+ @Override
+ public int deleteMcdonaldCouponUseRecordById(Long id){
+ return mcdonaldCouponUseRecordMapper.deleteMcdonaldCouponUseRecordById(id);
+ }
+
+
+
+}
diff --git a/src/main/java/com/lz/modules/sys/dao/SysUserDao.java b/src/main/java/com/lz/modules/sys/dao/SysUserDao.java
index c7c2e0fe..d3f9964b 100644
--- a/src/main/java/com/lz/modules/sys/dao/SysUserDao.java
+++ b/src/main/java/com/lz/modules/sys/dao/SysUserDao.java
@@ -49,4 +49,6 @@ public interface SysUserDao extends BaseMapper {
List queryMenuIdListByRoleId(@Param("roleId") Long roleId);
List queryMenuIdListByRoleIds(@Param("roleIds") Set roleIds);
+
+ SysUserEntity selectSysUserByMobile(@Param("phone") String phone);
}
diff --git a/src/main/java/com/lz/modules/sys/service/SysUserService.java b/src/main/java/com/lz/modules/sys/service/SysUserService.java
index 4f25c43b..8d6af68f 100644
--- a/src/main/java/com/lz/modules/sys/service/SysUserService.java
+++ b/src/main/java/com/lz/modules/sys/service/SysUserService.java
@@ -69,4 +69,6 @@ public interface SysUserService extends IService {
List queryMenuIdListByRoleId(Long roleId);
List queryMenuIdListByRoleIds(Set roleIds);
+
+ SysUserEntity selectSysUserByMobile(String phone);
}
diff --git a/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java b/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java
index 477ddb5f..9e04c491 100644
--- a/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java
+++ b/src/main/java/com/lz/modules/sys/service/impl/SysUserServiceImpl.java
@@ -156,6 +156,11 @@ public class SysUserServiceImpl extends ServiceImpl i
return baseMapper.queryMenuIdListByRoleIds(roleIds);
}
+ @Override
+ public SysUserEntity selectSysUserByMobile(String phone){
+ return sysUserDao.selectSysUserByMobile(phone);
+ }
+
/**
* 检查角色是否越权
*/
diff --git a/src/main/resources/mapper/mcdonald/McdonaldCouponMapper.xml b/src/main/resources/mapper/mcdonald/McdonaldCouponMapper.xml
new file mode 100644
index 00000000..2e9105fb
--- /dev/null
+++ b/src/main/resources/mapper/mcdonald/McdonaldCouponMapper.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, gmt_use AS gmtUse, gmt_validity AS gmtValidity, qr_code AS qrCode, status AS status, coupon_value AS couponValue, use_value AS useValue, start_use AS startUse, pay_proportion AS payProportion, remark AS remark
+
+
+
+
+
+
+
+
+
+ insert into mcdonald_coupon(
+ gmt_use,
+ gmt_validity,
+ qr_code,
+ status,
+ coupon_value,
+ use_value,
+ start_use,
+ pay_proportion,
+ remark,
+ is_delete,
+ gmt_create,
+ gmt_modified
+ )values(
+ #{ gmtUse},
+ #{ gmtValidity},
+ #{ qrCode},
+ #{ status},
+ #{ couponValue},
+ #{ useValue},
+ #{ startUse},
+ #{ payProportion},
+ #{ remark},
+ 0,
+ now(),
+ now()
+ )
+
+
+
+
+ update
+ mcdonald_coupon
+
+ is_delete = #{isDelete},
+ gmt_create = #{gmtCreate},
+ gmt_use = #{gmtUse},
+ gmt_validity = #{gmtValidity},
+ qr_code = #{qrCode},
+ status = #{status},
+ coupon_value = #{couponValue},
+ use_value = #{useValue},
+ start_use = #{startUse},
+ pay_proportion = #{payProportion},
+ remark = #{remark}
+
+ ,gmt_modified = now()
+ where id = #{id}
+
+
+
+
+ update
+ mcdonald_coupon
+ set
+ is_delete = #{isDelete},
+ gmt_create = #{gmtCreate},
+ gmt_use = #{gmtUse},
+ gmt_validity = #{gmtValidity},
+ qr_code = #{qrCode},
+ status = #{status},
+ coupon_value = #{couponValue},
+ use_value = #{useValue},
+ start_use = #{startUse},
+ pay_proportion = #{payProportion},
+ remark = #{remark}
+ ,gmt_modified = now()
+ where id = #{id}
+
+
+
+
+ update mcdonald_coupon set is_delete = 1 where id=#{id} limit 1
+
+
+
+
+
+
diff --git a/src/main/resources/mapper/mcdonald/McdonaldCouponUseRecordMapper.xml b/src/main/resources/mapper/mcdonald/McdonaldCouponUseRecordMapper.xml
new file mode 100644
index 00000000..b625c39d
--- /dev/null
+++ b/src/main/resources/mapper/mcdonald/McdonaldCouponUseRecordMapper.xml
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, coupon_id AS couponId, user_id AS userId, coupon_value AS couponValue, use_value AS useValue, order_id AS orderId, order_value AS orderValue, remark AS remark
+
+
+
+
+
+
+
+
+
+ insert into mcdonald_coupon_use_record(
+ coupon_id,
+ user_id,
+ coupon_value,
+ use_value,
+ order_id,
+ order_value,
+ remark,
+ is_delete,
+ gmt_create,
+ gmt_modified
+ )values(
+ #{ couponId},
+ #{ userId},
+ #{ couponValue},
+ #{ useValue},
+ #{ orderId},
+ #{ orderValue},
+ #{ remark},
+ 0,
+ now(),
+ now()
+ )
+
+
+
+
+ update
+ mcdonald_coupon_use_record
+
+ is_delete = #{isDelete},
+ gmt_create = #{gmtCreate},
+ coupon_id = #{couponId},
+ user_id = #{userId},
+ coupon_value = #{couponValue},
+ use_value = #{useValue},
+ order_id = #{orderId},
+ order_value = #{orderValue},
+ remark = #{remark}
+
+ ,gmt_modified = now()
+ where id = #{id}
+
+
+
+
+ update
+ mcdonald_coupon_use_record
+ set
+ is_delete = #{isDelete},
+ gmt_create = #{gmtCreate},
+ coupon_id = #{couponId},
+ user_id = #{userId},
+ coupon_value = #{couponValue},
+ use_value = #{useValue},
+ order_id = #{orderId},
+ order_value = #{orderValue},
+ remark = #{remark}
+ ,gmt_modified = now()
+ where id = #{id}
+
+
+
+
+ update mcdonald_coupon_use_record set is_delete = 1 where id=#{id} limit 1
+
+
+
+
diff --git a/src/main/resources/mapper/sys/SysUserDao.xml b/src/main/resources/mapper/sys/SysUserDao.xml
index ae28f744..aeac6245 100644
--- a/src/main/resources/mapper/sys/SysUserDao.xml
+++ b/src/main/resources/mapper/sys/SysUserDao.xml
@@ -78,5 +78,9 @@
+
+
diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java
index 763b2bd4..32867660 100644
--- a/src/test/java/com/lz/mysql/MysqlMain.java
+++ b/src/test/java/com/lz/mysql/MysqlMain.java
@@ -85,8 +85,8 @@ public class MysqlMain {
List list = new ArrayList();
- list.add(new TablesBean("lz_departments_staff_relate"));
- list.add(new TablesBean("lz_staff"));
+ list.add(new TablesBean("mcdonald_coupon_use_record"));
+ list.add(new TablesBean("mcdonald_coupon"));
List list2 = new ArrayList();